malloc pages map to user space

John Baldwin jhb at freebsd.org
Fri Mar 23 12:03:33 UTC 2012


On Thursday, March 22, 2012 3:57:11 pm Eric Saint-Etienne wrote:
> > If your kernel module creates a device in /dev that implements the
> > mmap method, then you don't need to worry about mucking around with
> > vm_maps and objects and whatnot.  Your mmap method just needs to be
> > able to convert offsets into the device into physical memory
> > addresses,
> 
> Yes I'm aware of this facility, thank you.
> 
> > and the vm infrastructure will do the rest for you.
> 
> Since this mapping is on the main path of the driver, I'm worried that
> the overhead on each access of a page fault and a function call (the
> pager associated with a cdev mmap) is too much to bear.

It only does this on the first page fault though, not every access to the
page.  This can be a bit of a downfall as well as you can't easily
invalidate a mapping once you've established it.

-- 
John Baldwin


More information about the freebsd-hackers mailing list