Skip site navigation (1)Skip section navigation (2)
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>