[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1209867740.6210.46.camel@johannes.berg>
Date: Sun, 04 May 2008 04:22:20 +0200
From: Johannes Berg <johannes@...solutions.net>
To: Herbert Xu <herbert@...dor.apana.org.au>
Cc: David Miller <davem@...emloft.net>, mb@...sch.de,
netdev@...r.kernel.org, linux-wireless@...r.kernel.org
Subject: Re: mac80211 truesize bugs
On Sun, 2008-05-04 at 10:12 +0800, Herbert Xu wrote:
> On Sun, May 04, 2008 at 04:08:36AM +0200, Johannes Berg wrote:
> >
> > So, what is mac80211 supposed to do? It needs up to 54 bytes of
> > available headroom (for an encrypted mesh packet which currently can't
> > really happen, but anyway) yet it cannot pskb_expand_head() either.
> > Cloning each packet seems even more expensive, and just like skb_orphan
> > subverts the purpose of the socket accounting.
>
> If all/the majority of your packets need the space then put it in
> LL_MAX_HEADER.
Yes, wireless always needs at least 24 bytes, but more likely 34
(encryption+QoS). However, I just increased LL_MAX_HEADER to 54 and that
doesn't seem to have helped.
> In any case, you should always expand the packet
> if necessary in your output routine since LL_MAX_HEADER is just a
> hint. Yes cloning is expensive compared to not having to do it,
> but as long as this is only done for the exception then it's
> irrelevant.
What's wrong with, instead, doing skb_orphan() and then
pskb_expand_head()? That seems to have the same effect.
johannes
Download attachment "signature.asc" of type "application/pgp-signature" (829 bytes)
Powered by blists - more mailing lists