diff options
author | Johann Baudy <johann.baudy@gnu-log.net> | 2009-05-18 22:11:22 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-05-18 22:11:22 -0700 |
commit | 69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1 (patch) | |
tree | 24920f17ea435627978af9d5fe0e99763bf6a533 /include/linux/skbuff.h | |
parent | f67f34084914144de55c785163d047d5d8dddd2d (diff) | |
download | blackbird-op-linux-69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1.tar.gz blackbird-op-linux-69e3c75f4d541a6eb151b3ef91f34033cb3ad6e1.zip |
net: TX_RING and packet mmap
New packet socket feature that makes packet socket more efficient for
transmission.
- It reduces number of system call through a PACKET_TX_RING mechanism,
based on PACKET_RX_RING (Circular buffer allocated in kernel space
which is mmapped from user space).
- It minimizes CPU copy using fragmented SKB (almost zero copy).
Signed-off-by: Johann Baudy <johann.baudy@gnu-log.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/skbuff.h')
-rw-r--r-- | include/linux/skbuff.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 1b5c3d298f43..aff494ba6a31 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -203,6 +203,9 @@ struct skb_shared_info { #ifdef CONFIG_HAS_DMA dma_addr_t dma_maps[MAX_SKB_FRAGS + 1]; #endif + /* Intermediate layers must ensure that destructor_arg + * remains valid until skb destructor */ + void * destructor_arg; }; /* We divide dataref into two halves. The higher 16 bits hold references |