Francois Romieu wrote:
See drivers/net/e1000/e1000_main.c, search alloc_page and take a look
at include/linux/skbuff.h::struct skb_shared_info.
Is the source code of the said driver available somewhere under GPL/alike ?
It's the old version of drivers/net/ibm_emac/ibm_emac_core.c (2.6.13)
the memcpy's are near the comment 'MAL is braindead'. The new version
appearing in 2.16.15 looks much better, but doesn't look like it does
jumbo frames, hence I'm trying to tweak the old one.
The e1000 driver, seems to use a rx ring of pages, inserting those as
frags onto a skb, in the 'packet-split' receive, where the protocol
header is placed in the data section of the skb.
Since this device doesn't appear to do that for us, would we copy the
header section to the data part of the skb and increase the the
skb_shinfo(skb)->frags[n].page_offset by the same amount. Not quite
zero-copy, but copying a few protocol headers is better than the whole
rx descriptor.
On the right path, or still way off?
-
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