From: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
To: Eric Dumazet <dada1@cosmosbay.com>
Cc: netdev@vger.kernel.org, davem@davemloft.net
Subject: Re: [RFC] avoid unnecessary alignement overhead in skb->data allocation.
Date: Mon, 7 Aug 2006 12:14:47 +0400 [thread overview]
Message-ID: <20060807081447.GA22282@2ka.mipt.ru> (raw)
In-Reply-To: <200608071005.57517.dada1@cosmosbay.com>
On Mon, Aug 07, 2006 at 10:05:57AM +0200, Eric Dumazet (dada1@cosmosbay.com) wrote:
> > + if ((1UL << order) > size + sizeof(void *) + sizeof(struct
> > skb_shared_info)) { + data = ____kmalloc(size + sizeof(struct
> > skb_shared_info), gfp_mask); + if (!data)
> > + goto nodata;
> > + memset(skb, 0, offsetof(struct sk_buff, truesize));
> > + } else {
> > + unsigned long *ptr;
> > +
> > + data = ____kmalloc(size, gfp_mask);
>
> You certainly want to kmalloc(size + sizeof(void *)) here, dont you ?
Yep.
I think in next iteration of this patch I will add additional argument
which will present order of aligned size (to eliminate get_order() loop
for those who know it in advance like e1000). In case there are no
place even for sizeof(void *) (what happens with e1000) and allocation
order is quite high (more than half of the page), then additional field
in skb can be used (or we can reuse it unconditionally to store pointer
to shared info if skb is being allocated through alloc_skb_aligned()
function).
> Eric
--
Evgeniy Polyakov
prev parent reply other threads:[~2006-08-07 8:15 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-07 6:01 [RFC] avoid unnecessary alignement overhead in skb->data allocation Evgeniy Polyakov
2006-08-07 6:23 ` David Miller
2006-08-07 6:30 ` Evgeniy Polyakov
2006-08-07 7:17 ` Herbert Xu
2006-08-07 7:24 ` Evgeniy Polyakov
2006-08-07 7:28 ` Herbert Xu
2006-08-07 7:31 ` Evgeniy Polyakov
2006-08-07 7:39 ` Herbert Xu
2006-08-08 0:09 ` Jesse Brandeburg
2006-08-08 0:41 ` David Miller
2006-08-08 5:24 ` Evgeniy Polyakov
2006-08-08 5:41 ` Herbert Xu
2006-08-08 5:55 ` Evgeniy Polyakov
2006-08-07 6:29 ` Herbert Xu
2006-08-07 6:36 ` Evgeniy Polyakov
2006-08-07 6:42 ` Herbert Xu
2006-08-07 8:05 ` Eric Dumazet
2006-08-07 8:14 ` Evgeniy Polyakov [this message]
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=20060807081447.GA22282@2ka.mipt.ru \
--to=johnpol@2ka.mipt.ru \
--cc=dada1@cosmosbay.com \
--cc=davem@davemloft.net \
--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).