Subject: Re: Measuring memory to memory copy operations (+ interrupts, DMA)
To: None <tech-kern@NetBSD.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: tech-kern
Date: 08/22/2003 14:58:59
> I even think that mlock() will just guarantee than copy{in,out}()
> won't block - you still have to use the functions.

But isn't that what kamal wanted, to be able to copy{in,out}?

>> [...]
> Or something like what UW2 (and solaris?) does to mmap /dev/time (or
> similar) so that gettimeofday (and a few other calls) don't have to
> be system calls.

Yeah, I've had some ideas for related things.  For example, a different
way to do syscalls: instead of using the libc stubs which trap, have a
page full of addresses, mapped by the kernel at a well-known address at
process startup time, and the libc stubs do the equivalent of
(*syscallpage[callnumber])().  Then the kernel can have the pointers
point into unmapped space for the calls that need to trap to the kernel
(and recognize the resulting memory-management trap, do the call, and
fiddle the userland state), or direct ones like gettimeofday that don't
need to trap to the kernel to code it's mapped somewhere appropriate.

/~\ The ASCII				der Mouse
\ / Ribbon Campaign
 X  Against HTML	       mouse@rodents.montreal.qc.ca
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B