Using vmalloc in device driver code

Mulyadi Santosa mulyadi.santosa at gmail.com
Fri Apr 5 02:41:18 EDT 2013


On Fri, Apr 5, 2013 at 1:55 AM, neha naik <nehanaik27 at 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



More information about the Kernelnewbies mailing list