On Fri, Apr 5, 2013 at 1:55 AM, neha naik <nehanaik27@gmail.com> 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)?
to the best I know, majority of the devices expect page(s) to be physically contigous, whereas vmalloc() can't guarantee that. So IMHO that's the pitfall. -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com