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_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to