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

YongHyeon PYUN pyunyh at gmail.com
Tue Apr 16 05:25:09 UTC 2013


On Mon, Apr 15, 2013 at 03:35:56PM -0700, 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.
> > 
> > Bruce
> 
> 
> So many knobs ... well here's more.  :-)
> 
> http://people.freebsd.org/~sbruno/bge_config_update.txt
> 
> At least this gets a man page update with references to manuals.

You have to change BGE_STD_RX_RING_CNT to change number of RX
descriptors. It's hard-coded and it needs much more work to change
that. And I don't see any reason to modify that though(Max # of RX
descriptor is 512).

I think bge(4) touches minimal set of coalescing parameters but
publicly available bge(4) data sheet shows more coalescing
parameters. These parameters could be programmed with different
values(BDs & ticks) during interrupt. And some parameters are not
applicable to certain controllers. In addition, the allowed value
range for certain parameters vary on controller models. So I think
it's good idea to mention allowed value range for each parameters
as well as a warning that mentions possible connection lost caused
by wrongly programmed value(i.e. no RX interrupt for
bge_rx_coal_ticks == 0 && bge_rx_max_coal_bds == 0) 

It's common to see multiple instances of bge(4) in a box so I think
it would be better to implement them as sysctl tunables rather than
loader tunables(i.e. each controller may need different coalescing
parameters). Except hw.bge.allow_asf tunable, all others were
implemented to support multiple bge(4) instances. sysctl tunables
also allow dynamic change so you don't have to reboot your box
to change coalescing parameters.

> 
> Sean


More information about the freebsd-net mailing list