On 1/31/06, Bharma Ji <bharmaji@xxxxxxxxx> wrote:
>
> Hi
> I am trying to explore the option avoiding copyin and copyout when mode
> switches from user to kernel and vice versa. One way to achieve this, as I
> understand, is to make the memory address (which contain the data to be
> copied) non pageable. Then just pass the addresses to the kernel and the
> data will be used directly from the userland page. Is there already some
> example code / standard way to do this?
>
> Also is there any way one can determine the amount of time / performance
> hit
> (CPU %)that happening on a given process due to the copyin and copyout. I
> want to understand how much performance gain one can gain if I am able to
> remove copyin/copyout.
>
> This may give some pointers :
kern/sys_pipe.c
-->pipe_build_write_buffer()
I was working on pipe implementation in BSD derivative of 4.10 branch and
remember the same concept of pinning the user space buffer for bypassing
kernel buffer.
Thanks,
Dip
_______________________________________________
freebsd-hackers@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@xxxxxxxxxxx"
How to pin a userland page in memory(avoid copyin and copyout) ... I am trying to explore the option avoiding copyin and copyout when mode ... Then just pass the addresses to the kernel and the ... want to understand how much performance gain one can gain if I am able to ... (freebsd-hackers)
2.6.0-test9-mjb2: emulex driver link error ... : multiple definition of `copyout'... ld: Warning: size of symbol `copyout' changed from 95 in ... : multiple definition of `copyin'... (Linux-Kernel)
Re: CopyOut Size Limits ... I am transferring the data out of the kernel... by using copyout.... This seems to work for a small struct of data < 4k. ... (freebsd-hackers)