]> git.baikalelectronics.ru Git - kernel.git/commit
net: sk_buff rbnode reorg
authorEric Dumazet <edumazet@google.com>
Tue, 19 Sep 2017 12:14:24 +0000 (05:14 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 19 Sep 2017 22:20:22 +0000 (15:20 -0700)
commitc386b8dcff7f7b15e66da3d3482c2b1ab6b1b0bc
treee27752d22b270c0c607ff8025e44dd8f884aa1cb
parent6941d68d87ad2c8167fe5f2f2c05703b6ce700ed
net: sk_buff rbnode reorg

skb->rbnode shares space with skb->next, skb->prev and skb->tstamp

Current uses (TCP receive ofo queue and netem) need to save/restore
tstamp, while skb->dev is either NULL (TCP) or a constant for a given
queue (netem).

Since we plan using an RB tree for TCP retransmit queue to speedup SACK
processing with large BDP, this patch exchanges skb->dev and
skb->tstamp.

This saves some overhead in both TCP and netem.

v2: removes the swtstamp field from struct tcp_skb_cb

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Soheil Hassas Yeganeh <soheil@google.com>
Cc: Wei Wang <weiwan@google.com>
Cc: Willem de Bruijn <willemb@google.com>
Acked-by: Soheil Hassas Yeganeh <soheil@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/skbuff.h
include/net/tcp.h
net/ipv4/tcp_input.c
net/sched/sch_netem.c