> > I don't know about benefits/feasibility, but I did wonder if (in the event > > that the "fast path" is possible), the dma_mapping could use an offset? The > > page would include the skb header but the dma mapping would not. If that > > was done though, only 1 RX frame would fit into the page (at least on my > > system, where the RX frame seems to be 2k and the page is 4k). Also, > > there's a possibility to set the "order" variable, so that multiple pages > > are created at once and I'm not sure if this would work in that case. > > Yes, this is what some drivers do, they allocate a page, pass > pageaddr + headroom_offset everywhere, except build_skb() which gets the > pageaddr followed by skb_reserve(skb, headroom_offset).
If everyone's happy with the patch as-is, I might just leave it and let people more knowledgeable decide if it's worth adding this optimization back in with this offset logic ;) Lincoln