what is the difference between kmalloc and vmalloc?

Vijay Chauhan kernel.vijay at gmail.com
Mon Nov 26 01:51:21 EST 2012


On Thu, Nov 22, 2012 at 9:39 AM, Mulyadi Santosa
<mulyadi.santosa at gmail.com> wrote:
> On Thu, Nov 22, 2012 at 10:12 AM, horse_rivers <horse_rivers at 126.com> wrote:
>> thanks!
>
> kmalloc allocates memory from slab cache. It tends to be physically
> contigous and you can get memory size smaller than page size.
>
> vmalloc, on the other hand, is when you need only virtually contigous
> memory area. Example of such usage is for allocating memory to load
> kernel module.

Is it necessary that vmalloc always allocate virtually contiguous
memory and not physically contiguous?
Except large size memory allocation why one needs to use vmalloc? Can
we say that use kmalloc and  if it fails retry with kmalloc?

regards
Vijay

>
> --
> regards,
>
> Mulyadi Santosa
> Freelance Linux trainer and consultant
>
> blog: the-hydra.blogspot.com
> training: mulyaditraining.blogspot.com
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



More information about the Kernelnewbies mailing list