From owner-freebsd-smp Wed Jul 4 9:38:19 2001 Delivered-To: freebsd-smp@freebsd.org Received: from earth.backplane.com (earth-nat-cw.backplane.com [208.161.114.67]) by hub.freebsd.org (Postfix) with ESMTP id 6D43837B401 for ; Wed, 4 Jul 2001 09:38:17 -0700 (PDT) (envelope-from dillon@earth.backplane.com) Received: (from dillon@localhost) by earth.backplane.com (8.11.3/8.11.2) id f64GcH844850; Wed, 4 Jul 2001 09:38:17 -0700 (PDT) (envelope-from dillon) Date: Wed, 4 Jul 2001 09:38:17 -0700 (PDT) From: Matt Dillon Message-Id: <200107041638.f64GcH844850@earth.backplane.com> To: freebsd-smp@freebsd.org Subject: VM Commits / GIANT_ macros Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org 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