Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Aug 1998 11:23:59 -0700 (PDT)
From:      Bill Paul <wpaul>
To:        dag-erli@ifi.uio.no (Dag-Erling Coidan =?iso-8859-1?Q?Sm=F8rgrav?=)
Cc:        committers@freebsd.org
Subject:   Re: cvs commit: src/sys/pci if_xlreg.h
Message-ID:  <199808221823.LAA26200@hub.freebsd.org>
In-Reply-To: <xzp90khb0xb.fsf@skejdbrimir.ifi.uio.no> from =?ISO-8859-1?Q?Dag=2DErling_Coidan_Sm=F8rgrav?= at "Aug 22, 98 01:28:48 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
> Bill Paul <wpaul@FreeBSD.ORG> writes:
> >   Log:
> >   Increase the number of descriptors (and, as a consequence, the number
> >   of associated mbuf clusters) in the RX ring from 4 to 16. On my
> 
> Any chance of making this configurable?
> 
> DES
> -- 
> Dag-Erling Smørgrav - dag-erli@ifi.uio.no
> 

It already is configurable: you just modify the source and recompile.

Oh, you mean at runtime. Now why would anybody want to do that? :)

I just knew somebody was going to ask this.

Right now, all of the descriptors are allocated in xl_attach() and
never free()d. (Mbuf clusters for the receive ring are allocated
when the initerface is initialized.) I suppose the ring sizes could
be set at runtime, however bear in mind that you can't futz with the
descriptor rings while the chip is operating: you have to do an xl_stop()
to shut down the chip and free any mbufs that are lying around, free()
the existing rings, allocate new ones, then call xl_init() to bring
the interface back up again.

Somehow this doesn't seem like the sort of thing you can easily do
with sysctl. It could be done either with the LINK flags (LINK1 is
4 descriptors, LINK2 is 16, and LINK3 is 32) or with a special ioctl().
I think another way would be with an LKM (you can do practically
anything to the interface with an LKM, if you're careful).

-Bill



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