On Sunday 16 April 2006 14:56, Hisham Kotry wrote: > > Where would that tag list be stored if you want to remove the > > 40 bytes of ->cb? > > I apologize if I wasn't clear, the tag list would go in a new > skb->tags field replacing the existsing skb->cb array, so the skb > would lose 40-sizeof(void*) bytes wich seems reasonable to me.
This means for the common TCP case you would actually need more memory than before - a new pointer and overhead from the tags. Currently we neither need pointer nor tags for anything. Also you would need to complicate alloc_skb to preallocate this memory and complicate the freeing by checking for it and freeing it if it was allocated dynamically (e.g. if a later layer needed it, not the layer that first allocates it you would need to allocate a new buffer later which would then need to be freed) > > > Linux 2.0 did something like this, but that was removed for good > > reasons. Now TCP always clones skbs before sending it out. > > Do you remember what those reasons were? I couldn't find a related > discussion in the archives. I think the BSD mbuf tags approach is > sound enough to justify the move. >From your description so far it seems to only have disadvantages. > > And optimizing for uncommon cases (not TCP) doesn't seem too useful. > > As pointed out by Bert Hubert, there are people who have heavy traffic > on non-tcp connections. It's a small minority compared to TCP users. -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