Would not a normal mmap be duplicated on fork? I'd do it as a small
pseudo-= driver
that allows to mmap this page. Then libc would open this pseudo-d evice
and mmap it,
either in the on-load handler or on the first call of gettimeofday(). I
think, that should
be it, no special magic nece= ssary.
The per-process is more difficult and would require the magic= :-) Or
maybe
no magic a s such: just mmap the file from the /proc files= ystem.
Then on fork
in the child unmap this page, open the new file, and= map it. vfork
will still be tricky :-)
It also means wasting an extra p= age per process.
-SB
Mar 27, 2009 12:51:56 PM, [1]sco...@samsc= o.org wrote:
I've been talking about this for years. All I need is help with the VM
magic to create the page on fork. I also want two pages, one gl obal
for gettimeofday (and any other global data we can think of) and
on= e
per-process for static data like getpid/getgid.
Scott
Sergey Babkin wrote:
> (Sorry for the top quoting). Probably the= best implementation of
> gettimeofd=y() is to have
> a= page in the kernel mapped read-only to all the user
pr=cesses. Put
&g= t; the kernel's idea of time
> into this page. Then getting the= =ime becomes a simple read
(OK, two
> reads, to make sure that<= br>> no update =as happened in
between).
References
1. file://localhost/tmp/3D"mai_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[email protected]"