Skip site navigation (1)Skip section navigation (2)
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>