From owner-cvs-all Fri Sep 29 23:30:44 2000 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id DCEDD37B503; Fri, 29 Sep 2000 23:30:40 -0700 (PDT) Received: (from bmilekic@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id XAA35447; Fri, 29 Sep 2000 23:30:40 -0700 (PDT) (envelope-from bmilekic@FreeBSD.org) Message-Id: <200009300630.XAA35447@freefall.freebsd.org> From: Bosko Milekic Date: Fri, 29 Sep 2000 23:30:40 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/alpha/alpha machdep.c src/sys/i386/i386 machdep.c src/sys/kern uipc_mbuf.c src/sys/pc98/i386 machdep.c src/sys/sys kernel.h mbuf.h X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG bmilekic 2000/09/29 23:30:40 PDT Modified files: sys/alpha/alpha machdep.c sys/i386/i386 machdep.c sys/kern uipc_mbuf.c sys/pc98/i386 machdep.c sys/sys kernel.h mbuf.h Log: Big mbuf subsystem diff #1: incorporate mutexes and fix things up somewhat to accomodate the changes. Here's a list of things that have changed (I may have left out a few); for a relatively complete list, see http://people.freebsd.org/~bmilekic/mtx_journal * Remove old (once useful) mcluster code for MCLBYTES > PAGE_SIZE which nobody uses anymore. It was great while it lasted, but now we're moving onto bigger and better things (Approved by: wollman). * Practically re-wrote the allocation macros in sys/sys/mbuf.h to accomodate new allocations which grab the necessary lock. * Make sure that necessary mbstat variables are manipulated with corresponding atomic() routines. * Changed the "wait" routines, cleaned it up, made one routine that does the job. * Generalized MWAKEUP() macro. Got rid of m_retry and m_retryhdr, as they are now included in the generalized "wait" routines. * Sleep routines now use msleep(). * Free lists have locks. * etc... probably other stuff I'm missing... Things to look out for and work on later: * find a better way to (dynamically) adjust EXT_COUNTERS * move necessity to recurse on a lock from drain routines by providing lock-free lower-level version of MFREE() (and possibly m_free()?). * checkout include of mutex.h in sys/sys/mbuf.h - probably violating general philosophy here. The code has been reviewed quite a bit, but problems may arise... please, don't panic! Send me Emails: bmilekic@freebsd.org Reviewed by: jlemon, cp, alfred, others? Revision Changes Path 1.95 +3 -14 src/sys/alpha/alpha/machdep.c 1.412 +3 -14 src/sys/i386/i386/machdep.c 1.57 +211 -258 src/sys/kern/uipc_mbuf.c 1.180 +3 -14 src/sys/pc98/i386/machdep.c 1.70 +3 -3 src/sys/sys/kernel.h 1.56 +173 -152 src/sys/sys/mbuf.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message