Date: Tue, 25 Mar 2003 23:20:11 -0600 (CST) From: Mike Silbersack <silby@silby.com> To: Doug Ambrisko <ambrisko@ambrisko.com> Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/conf options src/sys/netinet ip_output.c Message-ID: <20030325231814.L1448@odysseus.silby.com> In-Reply-To: <200303260452.h2Q4quap015364@www.ambrisko.com> References: <200303260452.h2Q4quap015364@www.ambrisko.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 25 Mar 2003, Doug Ambrisko wrote: > | Hm, I suppose it would be pretty easy to tack together some statistics > | code which tracked how long the chains being sent to the drivers are. > > I did that in my testing, but just used a printf for debugging. > > | I've been pondering where the tradeoff between avoiding memory copies and > | doing excessive scatter / gather DMA lies. Perhaps we should be > | defragmenting any chain over a certain amount of length, no matter the > | limit imposed by the card. This sounds like a Terry question. :) > > Maybe an extent count could be used that said how long the chain is. > > As Sam mentioned having little things scattered around is not good thing. > Memory and CPU can be a lot faster then the I/O bus. > > Doug A. I think we could inexpensively walk the mbuf chain at the end of ip_output and do the counting there. Realistically, the same chain will be rewalked very soon afterword when the network card tries to set up the DMA transfers / etc. Mike "Silby" Silbersack
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030325231814.L1448>