Date: Wed, 1 Feb 2006 09:18:25 +0900 From: Dipjyoti Saikia <dipjyoti.saikia@gmail.com> To: Bharma Ji <bharmaji@gmail.com> Cc: freebsd-hackers@freebsd.org Subject: Re: How to pin a userland page in memory(avoid copyin and copyout) Message-ID: <dcbc809d0601311618y5faa63dds72bcc0d5fa4bcc32@mail.gmail.com> In-Reply-To: <67beabb0601301146h6c5034fao998bf573f1e89613@mail.gmail.com> References: <67beabb0601301146h6c5034fao998bf573f1e89613@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 1/31/06, Bharma Ji <bharmaji@gmail.com> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?dcbc809d0601311618y5faa63dds72bcc0d5fa4bcc32>