On Tue, 7 Feb 2006, Herbert Xu wrote:
I share your feelings towards this patch. However, what e1000 is doing
is broken. It should be filling in the frags array, not frag_list.
Okay, this implies all of our data will be in pages. Does this mean that
we have to copy the header back to skb->data? eth_type_trans requires
that the header be at skb->data, and kmap'ing the header creates the
non-trivial problem of having to call kunmap at some point.
My experience with alloc_page/put_page in the "packet split" e1000 code is
that it is slower to call alloc_page/put_page (they show up in top
10 oprofile) at certain packet rates, and will negatively affect our
performance as compared to using the slab allocator. Do you think so too?
All we want to do is have a single packet represented by several
descriptors indicated up the stack.
9K jumbos:
2k
2k
2k
2k
1k
If you think it would be benefical, I think we and others could use some
more structure in the stack to support this.
As another option, for now we can back out the patch that made memory
utilization so much more efficient by using small descriptors all the
time, and go back to our monolithic descriptor usage.
Jesse
-
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