transfering pages from user space to user space
Yann Droneaud
ydroneaud at opteya.com
Thu Dec 6 04:30:27 EST 2012
Hi,
Le mercredi 05 décembre 2012 à 22:47 -0300, Pablo Pessolani a écrit :
> Hi:
> I am working on a project to copy (page aligned) the
> buffer content of one process to the buffer of other process.
>
> Now I resolved this issue using copy_page() but, analizing
> performance with different buffer sizes, the "copy_page" becames the
> critical time component and limiting factor.
This sounds a lot like "Cross Memory Support" (eg CROSS_MEMORY_ATTACH
option) introduced in Linux 3.2:
http://kernelnewbies.org/Linux_3.2#head-a5e26c6275e85a5c9c41873fbab96bd38d934b72
Cross Memory Support add two syscalls:
- process_vm_readv() : read from a process memory
- process_vm_writev() : write to a process memory
Details can be found here:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=fcf634098c00dd9cd247447368495f0b79be12d1
And documentation here:
http://www.man7.org/linux/man-pages/man2/process_vm_readv.2.html
http://ozlabs.org/~cyeoh/cma/process_vm_readv.txt
> [...] The kernel I use is 2.6.32.
>
BTW, why use a kernel released 3 years ago for such new development ?
Kernel 2.6.32 was released the 3rd of december 2009. Even the -rt
project switch to newer kernel (eg. no less than 3.0, and up to 3.4),
see http://rt.wiki.kernel.org/
You should at least switch to a current long term support kernels, for
example Linux 3.4. See
http://www.kroah.com/log/linux/stable-status-08-2012.html
Regards
--
Yann Droneaud
OPTEYA
More information about the Kernelnewbies
mailing list