Hi Neha, On Fri, Apr 5, 2013 at 12:25 AM, neha naik <[email protected]> wrote:
> Hi All, > From what i have learnt vmalloc requires a minor page fault to sync the > process page tables with the reference page tables. So, is it safe to use > memory already allocated by vmalloc in io context/device driver code > (especially when the io call has returned back to the device driver after > finishing io on the device). I know that in general it is better to use > kmalloc (for better efficiency and so on....) but, i want to know if it is > inaccurate to use vmalloc in this particular case and why (in terms of > cannot service page faults in interrupt context etc)? > > vmalloc doesn't result in any minor page fault. Once the page are allocated for vmalloc, pages will reside in the main memory till released. The only difference between kmalloc-ed and vmalloc-ed memory is continuity of the pages in main memory. Pages allocated using vmalloc is not suitable for purposes like dma since it may be fragmented across main memory.. Otherwise both are same. There is no other advantage to kmalloc over vmalloc. HTH. Thanks, Arun > Thanks in advance for your help. > > Regards, > Neha > _______________________________________________ > Kernelnewbies mailing list > [email protected] > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > >
_______________________________________________ Kernelnewbies mailing list [email protected] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
