On Mon, Jul 11, 2005 at 07:44:47PM -0700, David S. Miller wrote:
> From: Andi Kleen <[EMAIL PROTECTED]>
> Date: 12 Jul 2005 04:25:49 +0200
> 
> > What other plans do have? I think a lot of stuff could be moved
> > into ->cb, in particular tc_* and the HIPPI field.
> 
> See:
> 
>       http://vger.kernel.org/~davem/net_todo.html
> 
> there is an entry entitled "SKBs are too large", it lists
> our exact plans.

While reading through this some more comments: 

>>
#  skb->real_dev, it is used in one place, in bonding device. Suggestion
is to remove it and replace with an ugly per-cpu static variable (but
still less ugly than keeping a useless pointer in struct sk_buff) We
can add per-cpu variable real_dev, save real_dev there and bonding can
fetch it from there. The trick relies on the fact that real_dev can be
forgotten after we leave softirq handler.
<<

You can just put it into ->cb while bond is active.

>>
skb->h is really useless and can be eliminated immediately. The only place 
where it is really used is checksumming offload on output. skb->h is used there 
to mark the beginning of area to checksum, the idea was to support offload for 
protocols other than TCP and UDP. Given that this generality is not used, it 
can be replaced with direct parsing of IP header.
<<

I would rather add an u16 header_offset field instead of adding
header parsing code in all drivers. With some other fields
being u16 there should be enough padding for that.


-Andi


-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to