Re: Using vmalloc in device driver code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Neha,

On Fri, Apr 5, 2013 at 12:25 AM, neha naik <nehanaik27@xxxxxxxxx> 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
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux