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