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>