Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Nov 2002 22:33:33 +0100
From:      Poul-Henning Kamp <phk@critter.freebsd.dk>
To:        Andrew Gallatin <gallatin@cs.duke.edu>
Cc:        Bosko Milekic <bmilekic@unixdaemons.com>, Julian Elischer <julian@elischer.org>, Robert Watson <rwatson@FreeBSD.ORG>, Luigi Rizzo <rizzo@icir.org>, current@FreeBSD.ORG
Subject:   Re: mbuf header bloat ? 
Message-ID:  <76736.1038260013@critter.freebsd.dk>
In-Reply-To: Your message of "Mon, 25 Nov 2002 16:20:39 EST." <15842.37927.919140.910293@grasshopper.cs.duke.edu> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <15842.37927.919140.910293@grasshopper.cs.duke.edu>, Andrew Gallatin
 writes:

>I'm not sure what you mean.  The problem is that Giant inhibits
>scaling on SMPs and I want to get all network drivers out from under
>it, not just mine.

Well, that is the 10000' view.

Once you try to move code out from under Giant you will find that
the transition period also contains an increased risk of deadlocks
because you have to alternately interface with Giant-free and
Giant-protected code.

I found it somewhat problematic during GEOM development that it was
hard find or get a precise status on which bits of the kernel had
which Giant status.

As it is, I still have 37 source lines in sys/geom which fiddles
Giant one way or another, some of which are probably not needed
but I was unable to tell at the time and did the defensive thing.

In 20/20 hindsight, I think the very first step of SMPng we should
have gone through each and every non-static function in the kernel
and inserted an explicit assert on Giant, and then subsequently
removed them as we cleaned our way though the kernel.

Lets remember that next time :-)

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?76736.1038260013>