On Sun, Aug 13, 2006 at 05:04:31PM +0400, Alexey Kuznetsov ([EMAIL PROTECTED]) wrote: > Hello! > > > E1000 wants 16K buffers for jumbo MTU settings. > > > > The reason is that the chip can only handle power-of-2 buffer > > sizes, and next hop from 9K is 16K. > > Let it use pages. Someone should start. :-) > > High order allocations are disaster in any case. > > > > If we store raw kmalloc buffers, we cannot attach them to an arbitrary > > skb because of skb_shared_info(). This is true even if we > > purposefully allocate the necessary head room for these kmalloc based > > buffers. > > I still do not see. For non-SG paths, you have to keep header and data > together, you just do not need anything clever. And it does not look > like you can. If you have a fixed space for header, you already have > a space for refcnt to make skb_shared_info(). > > For SG paths, TCP_PAGE() seems to be enough and even better than > kmalloc()ed buffers.
What if we will store array of pages and in shared info just like we have right now. So there will only one destructor. e1000 will setup head/data/tail pointers to point to the area in the first sg page. Those drivers which do not have sg support can use head/data pointers like before, but destructor should be changed in that case. -- Evgeniy Polyakov - 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