bge(4) sysctl tuneables -- a blast from the past.

Bruce Evans brde at optusnet.com.au
Tue Apr 16 05:57:01 UTC 2013


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


More information about the freebsd-net mailing list