vmalloc() may allocate non-contiguous physical memory and map it to contiguous kernel virtual address.
For eg. if you ask for 10 page frames of physical memory i.e. 10 * 4K, vmalloc() will scout for 10 page frames of physical memory, they need not be contiguous, and map them to contiguous kernel virtual address (last 128 MB of virtual address in a 3G/1G partition, assuming >= 1GB of RAM) This could be of some help and is also somewhat extension of your question https://lists.kernelnewbies.org/pipermail/kernelnewbies/2011-June/002335.html On Tue, Sep 6, 2016 at 8:12 PM, Er Krishna <[email protected]> wrote: > > Hi all > > > > I have one confusion, so asking this question for understanding: > > > > Vmalloc return address are virtually contiguous or not ? > > > > Basically vmalloc return non contiguous memory from ram which may not be > one to one mapped in process kernel address space . > > > > Is my above understanding correct? > > > > Thanks > > Krishna > > _______________________________________________ > Kernelnewbies mailing list > [email protected] > https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > > -- Regards, Prabhunath G Linux Trainer Bangalore
_______________________________________________ Kernelnewbies mailing list [email protected] https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
