[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 3 Mar 2015 12:43:02 +0100
From: Florian Westphal <fw@...len.de>
To: David Miller <davem@...emloft.net>
Cc: eric.dumazet@...il.com, fw@...len.de, netdev@...r.kernel.org,
johannes@...solutions.net, linux-wireless@...r.kernel.org
Subject: Re: [PATCH RFC 00/14] shrink skb cb to 44 bytes
David Miller <davem@...emloft.net> wrote:
> From: Eric Dumazet <eric.dumazet@...il.com>
> Date: Mon, 02 Mar 2015 20:02:05 -0800
>
> > About the GRO layout change, reason why 'struct sk_buff *last;' is at
> > the end of struct napi_gro_cb is that this field is not used in fast
> > path.
>
> Understood.
Moved it back to end, thanks!
> While reviewing this I noticed that the jiffies timestamp in GRO cb
> could really be u32 if we want instead of full "unsigned long".
Made it an u16 at the moment -- then __packed is no longer needed
and it fits in 40 bytes.
> > Note : We could try to use one bit in skb to advertise zero shinfo(skb).
> >
> > Many skbs have a zeroed shinfo() (but shinfo->dataref == 1) , and
> > dereferencing skb_shinfo adds a cache line miss.
> >
> > -> We could avoid memset(shinfo, 0, offsetof(struct skb_shared_info,
> > dataref)) & atomic_set(&shinfo->dataref, 1);
> >
> > in alloc_skb() and friends completely.
> >
> > Unfortunately this kind of change would be quite invasive...
>
> Right, all these kinds of things touch everything.
Indeed, but thanks for the hint Eric -- I'll investigate.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists