Does some one know how a user program and kernel can exchange a potentially large chunk of memory with a zero-copy operation (using kiobufs)? The key point here is to have the kernel memory pointed to by k_ptr being handed off to a userland VM area pointed to by u_ptr and the initial userland memory reassigned to k_ptr without a copy operation. Here is the thought process: . first locking down the current user pages into physical memory . access the physical pages of both userland and kernel and then swap the links to those physical pages. (thus updating pgd, pmd entries) . finally unwire the new userland pages. Any idea on how to accomplish that on Linux (possibly using kiobufs) ? A positive reply will be greatly appreciated. Thanks - Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ IRC Channel: irc.openprojects.net / #kernelnewbies Web Page: http://www.kernelnewbies.org/