Date: Mon, 17 Feb 2003 17:41:30 +1100 From: Peter Jeremy <peterjeremy@optushome.com.au> To: Bosko Milekic <bmilekic@unixdaemons.com> Cc: freebsd-arch@FreeBSD.ORG Subject: Re: mb_alloc cache balancer / garbage collector Message-ID: <20030217064130.GA62020@cirb503493.alcatel.com.au> In-Reply-To: <20030216213552.A63109@unixdaemons.com> References: <20030216213552.A63109@unixdaemons.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Feb 16, 2003 at 09:35:52PM -0500, Bosko Milekic wrote: > I've finally gotten around to implementing the cache balancer/garbage > collector for the mbuf allocator. Actually, it's been sitting in a > local tree for a while but I finally got one of my -CURRENT machines > back up and was able to debug it. Excellent. > For one, you can have network device drivers call the mbuf code > without Giant because they'll know for a fact that Giant will never be > needed down the line. Since the cache balancer will replenish caches > when they're under a low watermark, assuming a well-tuned system, no > noticable impact will be felt on mbuf allocations and deallocations. My only concern is that replishment is reliant on scheduling a process (kernel thread) whilst allocation occurs both at interrupt level and during normal process operation. Is it possible for a heavily loaded system (and a heavy traffic spike) to totally empty the mbuf cache in the interval between the low watermark being reached and the allocator actually running? If so, what happens? Peter To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030217064130.GA62020>