Date: Wed, 4 Jul 2001 09:38:17 -0700 (PDT) From: Matt Dillon <dillon@earth.backplane.com> To: freebsd-smp@freebsd.org Subject: VM Commits / GIANT_ macros Message-ID: <200107041638.f64GcH844850@earth.backplane.com>
next in thread | raw e-mail | index | archive | help
Hello everyone! Ok, after talking with John and others at USENIX and a doing a couple of back and forths with Alfred, I am officially taking over the main-line machine-independant VM system in -current. I will also be working on i386 pmap, vm_object, vm_map, and the buffer cache (in regards to mutexes & Giant). Finally, I have begun instrumenting pieces of -current with GIANT_ macros to formalize and assert Giant conditions. These macros will also allow us to remove Giant via sysctl in a piecemeal fashion, so when someone believes they have made a section giant-free, they can use the GIANT_DEPRECIATED macro along with a sysctl to allow other developers to conditionally turn Giant off there (e.g. so your systems don't crash when you are just trying to boot or install a new kernel). Basic documentation on the GIANT_ macros is available at: http://apollo.backplane.com/FreeBSDSmp/ You do not have to lift a finger re: the GIANT_ macros if you do not want to, but I will be instrumenting them throughout the codebase as I go along. These macros only do stuff if INVARIANTS is turned on (all -current developers should obviously have INVARIENTS turned on). -- The VM mutex backout has been committed and tested w/ buildworld on IA32/UP. I tried to cleanup the other platforms as well but obviously couldn't test them. My next task is further instrumentation and the implementation of fine-grained vm_page, vm_map, and vm_object mutexes, and I will also use GIANT_DEPRECIATED to attempt to move certain syscalls (not as many as Alfred tried to move) out from under Giant. I expect this to take a number of man-days but since my time is mostly limited to weekends and evenings this could translate to a month or more in realtime. -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200107041638.f64GcH844850>