From: Jarek Poplawski <jarkao2@o2.pl>
To: Andi Kleen <andi@firstfloor.org>
Cc: Brice Goglin <Brice.Goglin@ens-lyon.org>,
netdev@vger.kernel.org, Evgeniy Polyakov <johnpol@2ka.mipt.ru>,
Divy Le Ray <divy@chelsio.com>
Subject: Re: Who's allowed to set a skb destructor?
Date: Thu, 5 Jul 2007 15:51:48 +0200 [thread overview]
Message-ID: <20070705135148.GC4759@ff.dom.local> (raw)
In-Reply-To: <20070705130640.GA24731@one.firstfloor.org>
On Thu, Jul 05, 2007 at 03:06:40PM +0200, Andi Kleen wrote:
> On Thu, Jul 05, 2007 at 02:28:50PM +0200, Jarek Poplawski wrote:
> > I wonder if it's very unsound to think about a one way list
> > of destructors. Of course, not owners could only clean their
> > private allocations. Woudn't this save some skb clonning,
> > copying or adding new fields for private infos?
>
> skb cloning isn't very expensive when you need it. And they
> got a little private area you can use for your own stuff
> while you have it queued (skb->cb)
Not expensive in speed, but allocating size_of skb when
you e.g. need 2 or 3 integers looks like a little expensive.
>
> As a historical note one of the big changes during the Linux 2.0
> and 2.1 TCP rewrite was that TCP was changed to always clone for the
> retransmit queue. This cleaned up the code greatly and fixed
> many problems. Cloning was also especially optimized for this. When TCP
> which is about one of the most performance critical protocols around can
> afford it likely other code can too.
I've read opinions that current skb structure is far from
optimal. So, it seems clonnig wasn't enough in many situations,
and fiels were added. Of course, it's only a part of the story:
some other clients couldn't think about the structure changed
for them, so probably made it other, more expensive way?
Jarek P.
next prev parent reply other threads:[~2007-07-05 13:43 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-04 8:04 Who's allowed to set a skb destructor? Brice Goglin
2007-07-04 9:38 ` Evgeniy Polyakov
2007-07-05 10:08 ` Andi Kleen
2007-07-05 11:07 ` Divy Le Ray
2007-07-05 13:07 ` Andi Kleen
2007-07-05 12:28 ` Jarek Poplawski
2007-07-05 12:28 ` Evgeniy Polyakov
2007-07-05 13:00 ` Jarek Poplawski
2007-07-06 9:08 ` Jarek Poplawski
2007-07-06 9:44 ` Jarek Poplawski
2007-07-05 13:06 ` Andi Kleen
2007-07-05 13:51 ` Jarek Poplawski [this message]
2007-07-06 7:47 ` Jarek Poplawski
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=20070705135148.GC4759@ff.dom.local \
--to=jarkao2@o2.pl \
--cc=Brice.Goglin@ens-lyon.org \
--cc=andi@firstfloor.org \
--cc=divy@chelsio.com \
--cc=johnpol@2ka.mipt.ru \
--cc=netdev@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 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).