docs/73429: [patch] Update Handbook, Chapter 8, kernel configuration

David Adam zanchey at ucc.gu.uwa.edu.au
Wed Nov 3 01:44:14 UTC 2004


On Tue, 2 Nov 2004, Joel Dahl wrote:
> -    <para>This option causes Giant to be included in the set of mutexes
> -      adaptively spun on.</para>
> +    <para>Giant is the name of a mutual exclusion mechanism (a sleep mutex)
> +      that protects a large set of kernel resources.  Today, this is an
> +      unacceptable performance bottleneck which is actively beeing replaced
> +      with locks that protect individual resources.  The ADAPTIVE_GIANT
> +      option causes Giant to be included in the set of mutexes adaptively
> +      spun on.  That is, when a thread wants to lock the Giant mutex, but it
> +      is already locked by a thread on another CPU, the first thread will
> +      keep running and wait for the lock to be released.  Normally, the
> +      thread would instead go back to sleep and wait for its next chance to
> +      run.</para>

This is the opinion of a relative outsider, but...

After reading the above (new) paragraph, I understand more about FreeBSD's
internal workings, something of the future of this statement and exactly
what ADAPTIVE_GIANT is. All good. Unfortunately, I really can't tell - as
a relative newbie - whether that leaving it in/out is a good idea (I
assume it's probably good for performance and doesn't break too much
stuff, hence its inclusion in GENERIC).

How about a sentence that says "If you're not sure/If you want to do X/If
your mother is not a hamster, then you should leave this in/can safely
comment this out."?

Cheers,

David Adam
(member of The Great Unwashed)
zanchey at ucc.gu.uwa.edu.au



More information about the freebsd-doc mailing list