Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Feb 2003 23:25:52 -0800
From:      "Sam Leffler" <sam@errno.com>
To:        "Peter Jeremy" <peterjeremy@optushome.com.au>, "Bosko Milekic" <bmilekic@unixdaemons.com>
Cc:        <freebsd-arch@FreeBSD.ORG>
Subject:   Re: mb_alloc cache balancer / garbage collector
Message-ID:  <316301c2d655$cdfb2df0$52557f42@errno.com>
References:  <20030216213552.A63109@unixdaemons.com> <20030217064130.GA62020@cirb503493.alcatel.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
> >  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?
>

With kernel preemption this should be less of an issue.  Presumably the
balancer thread runs with high enough priority to take preemptive control
quickly.

    Sam


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?316301c2d655$cdfb2df0$52557f42>