Re: How to pin a userland page in memory(avoid copyin and copyout)



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"



Relevant Pages