From: "Jeff V. Merkey" <jmerkey@vger.timpanogas.org>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Gigabit Performance 2.4.19-preX - Excessive locks, calls, waits
Date: Mon, 4 Mar 2002 14:02:44 -0700 [thread overview]
Message-ID: <20020304140244.A32644@vger.timpanogas.org> (raw)
In-Reply-To: <20020304104609.C31523@vger.timpanogas.org> <E16hxI9-00008m-00@the-village.bc.nu>
In-Reply-To: <E16hxI9-00008m-00@the-village.bc.nu>; from alan@lxorguk.ukuu.org.uk on Mon, Mar 04, 2002 at 06:34:33PM +0000
On Mon, Mar 04, 2002 at 06:34:33PM +0000, Alan Cox wrote:
> > > Thats up to the network adapter. In fact the Linux drivers mostly do
> > > keep preloaded with full sized buffers and only copy if the packet size
> > > is small (and copying 1 or 2 cache lines isnt going to hurt anyone)
> >
> > There's an increase in latency. For my application, I have no
>
> A very tiny one (especially if you keep a small buffer pool around too).
> To copy a packet is 2 cache line loads, which will dominate, some
> writes that you wont be able to measure, and a writeback you won't be
> able to instrument without a bus analyser.
>
> For receive paths its up to the driver. The copy to smaller buffer is
> something the driver can choose to do. It and it alone decide what skbuff
> to throw at the kernel core
>
> The bigger ring helping is interesting but itself begs a question. Do you
> ever dirty rather than merely reference skbuff data. In that case a bigger
Actually, I am plugging in my own data blocks into the skbuff->data
pointer from the drivers themselves. When the driver allocates an
skbuff, I use an alternate cache allocator to load the buffer
into the skbuff, and I leave the two attached. skb_release_data does
not release one of my data blocks. These blocks are 4K aligned so
I am not in the middle of a cache line (I think) in the data portion
when DMA is initiated.
> ring may simply be hiding the fact that the recycled skbuff has dirty
> cached data that has to be written back. Does the combination of hardware
This is probably happening. I have an Arium here now, and am hooking
it up. I can get memory bus traces and provide what's actually
happening on the bus. I do not ever DMA into a partial cache line.
Jeff
> you have do the right thing when it comes to the invalidating - and do
> you ever DMA into a partial cache line ?
>
> Alan
next prev parent reply other threads:[~2002-03-04 20:48 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-03-04 7:12 Gigabit Performance 2.4.19-preX - Excessive locks, calls, waits Jeff V. Merkey
2002-03-04 8:16 ` Andrew Morton
2002-03-04 15:04 ` Alan Cox
2002-03-04 17:46 ` Jeff V. Merkey
2002-03-04 18:34 ` Alan Cox
2002-03-04 21:02 ` Jeff V. Merkey [this message]
2002-03-04 17:39 ` Martin Josefsson
2002-03-04 18:04 ` Jeff V. Merkey
[not found] <20020304001223.A29448@vger.timpanogas.org.suse.lists.linux.kernel>
2002-03-04 8:28 ` Andi Kleen
2002-03-04 17:41 ` Jeff V. Merkey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20020304140244.A32644@vger.timpanogas.org \
--to=jmerkey@vger.timpanogas.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.