From: Andi Kleen <ak@suse.de>
To: "David S. Miller" <davem@redhat.com>
Cc: Andi Kleen <ak@suse.de>,
modica@sgi.com, johnip@sgi.com, netdev@oss.sgi.com,
jgarzik@pobox.com, jes@sgi.com
Subject: Re: Tigon3 5701 PCI-X recv performance problem
Date: Wed, 8 Oct 2003 22:22:48 +0200 [thread overview]
Message-ID: <20031008202248.GA15611@oldwotan.suse.de> (raw)
In-Reply-To: <20031008122223.1ba5ac79.davem@redhat.com>
> But I don't like any of these solutions (and I know Linus will never
> accept a set of changes that puts netdev_get_unaligned() macro usage
> all over the entire networking layer). Instead, we should do what
> you proposed long ago. Seperating the protocol headers from the
> packet data. Then we need only align the protocol headers.
I agree that it would be the best solution, but isn't it a bit late
in 2.6 now for that? Sounds more like a great 2.7.0 project.
It's not that it's a new problem - we had this since the Alpha port
and it hasn't gotten more urgent suddenly.
For 2.6 short term probably some bandaid like the CONFIG_UNALIGNMENT_COSTLY
and doing driver copies is better.
>
> In fact, I can suggest a very efficient implementation:
>
> 1) Driver allocates paged SKBs. There is ~128 bytes of skb->data
> buffer area, and pages are chopped up into MTU'ish sized chunks
> and hung onto SKBs in the frag list.
Hmm - you mean it allocates a full page and does suballocation by itself?
The suballocation would need to be per CPU to be SMP efficient I guess,
which would complicate it.
Another drawback that the page allocators per CPU allocator is not as
strong as slabs, so it may perform not as good.
And it would require the skb driver accessible destructor that was resisted
against for so long to manage the suballocation lists ;-)
But with such a destructor you would actually not need to do own allocation,
because you could just convert the memory areas returned by slab to
(struct page *, offset)
-Andi
next prev parent reply other threads:[~2003-10-08 20:22 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-10-08 17:12 Tigon3 5701 PCI-X recv performance problem John Partridge
2003-10-08 17:10 ` David S. Miller
2003-10-08 17:52 ` John Partridge
2003-10-08 18:26 ` David S. Miller
2003-10-08 19:02 ` John Partridge
2003-10-08 19:11 ` Steve Modica
2003-10-08 19:15 ` David S. Miller
2003-10-08 18:21 ` Steve Modica
2003-10-08 18:29 ` David S. Miller
2003-10-08 18:37 ` Andi Kleen
2003-10-08 19:22 ` David S. Miller
2003-10-08 20:22 ` Andi Kleen [this message]
2003-10-08 20:24 ` David S. Miller
2003-10-08 20:33 ` Andi Kleen
2003-10-08 20:32 ` David S. Miller
2003-10-08 20:46 ` Andi Kleen
2003-10-08 20:50 ` David S. Miller
2003-10-10 19:05 ` Steve Modica
2003-10-10 19:20 ` Andi Kleen
2003-10-11 13:17 ` Steve Modica
2003-10-11 13:19 ` Andi Kleen
2003-10-11 17:50 ` David S. Miller
2003-10-13 19:53 ` John Partridge
2003-10-13 19:51 ` David S. Miller
2003-10-14 16:49 ` John Partridge
2003-10-14 16:53 ` David S. Miller
2003-11-11 1:24 ` John Partridge
2003-11-11 2:29 ` David S. Miller
2003-11-11 20:04 ` John Partridge
2003-11-11 20:24 ` David S. Miller
2003-11-11 21:26 ` John Partridge
2003-11-11 21:32 ` Jeff Garzik
2003-12-03 22:11 ` John Partridge
2003-11-11 21:39 ` John Partridge
2003-11-11 23:09 ` David S. Miller
2003-11-11 23:53 ` Andi Kleen
2003-11-12 1:46 ` John Partridge
2003-11-12 6:19 ` Andi Kleen
2003-11-12 7:05 ` Jeff Garzik
2003-11-12 15:32 ` John Partridge
2003-11-12 15:43 ` Christoph Hellwig
2003-11-11 20:25 ` David S. Miller
2003-11-11 20:57 ` Jeff Garzik
2003-10-14 18:47 ` John Partridge
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=20031008202248.GA15611@oldwotan.suse.de \
--to=ak@suse.de \
--cc=davem@redhat.com \
--cc=jes@sgi.com \
--cc=jgarzik@pobox.com \
--cc=johnip@sgi.com \
--cc=modica@sgi.com \
--cc=netdev@oss.sgi.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).