Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Apr 2013 14:25:00 +0900
From:      YongHyeon PYUN <pyunyh@gmail.com>
To:        Sean Bruno <sean_bruno@yahoo.com>
Cc:        "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:  <20130416052500.GA1428@michelle.cdnetworks.com>
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, 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



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