On Sun, 2008-05-04 at 11:16 +0800, Herbert Xu wrote: > On Sun, May 04, 2008 at 04:22:20AM +0200, Johannes Berg wrote: > > > > 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. > > How did you test it? I stuck a WARN_ON((nhead || ntail) && skb->sk) into pskb_expand_head (which never triggered except from mac80211). And mac80211 has code that calculates the required header length and only calls pskb_expand_head() from that place when it needs more header space (or the skb is cloned. I should repeat this test) > > What's wrong with, instead, doing skb_orphan() and then > > pskb_expand_head()? That seems to have the same effect. > > If you packet sticks around for long enough then this skews the > accounting. In any case, thinking too much about optimising this > part is a waste of time because we should be thinking about having > enough head room in the packet so that we don't have to expand > it in the first place except for the odd packet. Very true. How about tail length? :) johannes
Attachment:
signature.asc
Description: This is a digitally signed message part