diff options
author | Eric Dumazet <edumazet@google.com> | 2017-07-17 02:56:10 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-07-17 08:59:01 -0700 |
commit | b145425f269a17ed344d737f746b844dfac60c82 (patch) | |
tree | 685eb81f8bbcc86147208e73f880c9649364027f /fs/ramfs | |
parent | 27eac47b00789522ba00501b0838026e1ecb6f05 (diff) | |
download | lwn-b145425f269a17ed344d737f746b844dfac60c82.tar.gz lwn-b145425f269a17ed344d737f746b844dfac60c82.zip |
inetpeer: remove AVL implementation in favor of RB tree
As discussed in Faro during Netfilter Workshop 2017, RB trees can be
used with RCU, using a seqlock.
Note that net/rxrpc/conn_service.c is already using this.
This patch converts inetpeer from AVL tree to RB tree, since it allows
to remove private AVL implementation in favor of shared RB code.
$ size net/ipv4/inetpeer.before net/ipv4/inetpeer.after
text data bss dec hex filename
3195 40 128 3363 d23 net/ipv4/inetpeer.before
1562 24 0 1586 632 net/ipv4/inetpeer.after
The same technique can be used to speed up
net/netfilter/nft_set_rbtree.c (removing rwlock contention in fast path)
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'fs/ramfs')
0 files changed, 0 insertions, 0 deletions