On Wed, Mar 18, 2009 at 05:30:16PM -0500, Shawn Bohrer wrote: > On Wed, Mar 18, 2009 at 08:52:40PM +0800, Priya Suryanarayanan wrote: > > I have not ever used the direct I/O APIs. I understand these enable > > mapping user buffers to kernel address space ( get_user_pages() ) and > > the reverse - mapping kernel buffers to user address space ( mmap() ). > > However, I find the explanation in Rubini hard to follow, (especially > > for mmap()), and the sample drivers are slightly better. > > I would recommend reading chapter 15 of Linux Device Drivers, Third > Edition: > > http://lwn.net/Kernel/LDD3/ Sorry I just realized that when you said "Rubini" that you probably were referring to LDD3. So if reading chapter 15 of LDD3 didn't answer your questions then the next thing I would look for is some example code. Luckily the kernel source is almost always full of good examples so why not grap the kernel tree and try: git grep get_user_pages drivers/ The list is actually rather small but there is still enough there to give you several examples. -- Shawn -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ