Date: Sun, 24 Sep 2000 02:22:41 -0400 (EDT) From: Bosko Milekic <bmilekic@technokratis.com> To: Chuck Paterson <cp@bsdi.com> Cc: freebsd-net@FreeBSD.ORG, freebsd-arch@FreeBSD.ORG Subject: Re: mbuf system and SMPng (new revised diff) Message-ID: <Pine.BSF.4.21.0009240215240.13859-100000@jehovah.technokratis.com> In-Reply-To: <Pine.BSF.4.21.0009231425080.7679-100000@jehovah.technokratis.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Following Chuck Paterson's suggestions, I've reviewed the mbuf diff once again and diff'ed up a new revised version: http://people.freebsd.org/~bmilekic/mbuf_mtx-v6.diff I've really "axed" up sys/sys/mbuf.h, and have seperated the macros into more logical divisions, and ones that minimize code bloat (in fact, the diff is a TAD smaller, ~1.5k smaller). In effect, I've gotten rid of m_mballoc_wait_hdr and now just use m_mballoc_wait; much cleaner. Following Chuck's advice, I've minimized the hysterics over grabbing locks before and after the allocator routines. The only thing to note is that despite a mutex being held, certain mbstat members still need to be manipulated with atomic()s as they may sometimes be modified from code holding the mmbfree lock, and sometimes from code holding the mclfree lock (there are only 2 such members, if I recall). If you're reviewing, be sure to carefully look at the changes in sys/sys/mbuf.h. I've also tested this diff under heavy network load and a local mbuf starvation simulation, and it seemed to hold up pretty well (on UP hardware). Same deal for this version of the diff as before, comments/reports requested! Cheers, Bosko Milekic bmilekic@technokratis.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0009240215240.13859-100000>