Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Apr 2013 15:56:40 +1000 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        sbruno@freebsd.org
Cc:        "pyunyh@gmail.com" <pyunyh@gmail.com>, "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, bde <bde@freebsd.org>
Subject:   Re: bge(4) sysctl tuneables -- a blast from the past.
Message-ID:  <20130416152121.G904@besplex.bde.org>
In-Reply-To: <1366065356.1350.7.camel@localhost>
References:  <1365781568.1418.1.camel@localhost> <20130413200512.G1165@besplex.bde.org> <1366065356.1350.7.camel@localhost>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 15 Apr 2013, Sean Bruno wrote:

>> FreeBSD has too many knobs, but it would be nice if the bge defaults weren't
>> so broken, so that they don't need overriding.
>
> So many knobs ... well here's more.  :-)

Yes, adding more knobs would subtract value.

> http://people.freebsd.org/~sbruno/bge_config_update.txt
>
> At least this gets a man page update with references to manuals.

I didn't notice before that these are tunables and not sysctls.  That's
much more broken.  Actually tuning using them like I do with sysctls
would take ~10000 reboots.  Tunables are bogus for anything that isn't
needed for booting.  Optimizations are needed for booting.

Technical bugs include:
- wrong defaults are claimed for *coal_ticks.  The defaults are 150, but
   are claimed to be 150 milliseconds.  These values are dimensionless,
   but since ticks take 1 microsecond each, 150 gives 150 microseconds,
   not 150 milliseconds.
- *coal_bds is claimed to be a count of packes (sic).  Actually, it is a
   count of buffer descriptors.  Small packets take 1 bd, but normal
   packets take 2, and jumbo packets many (?).  The best tuning may be
   depend on the average bds/packet.
- the new tunables are in the wrong namespace (hw instead of dev)
- the new tunables are too global (bge instead of bge.N)

There are only 2 bge tunables now, and they only have half of these bugs:
- hw.bge.allow_asf is in the wrong namespace
- hw.bge.allow_asf is too global
- dev.bge.%d.msi seems to be correct.
Both of the old tunables are needed for boot-time configuration.

Bruce



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