Eric Dumazet
b145425f26
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>
2017-07-17 08:59:01 -07:00
..
2017-06-30 06:27:09 -07:00
2017-07-01 07:39:08 -07:00
2017-06-23 14:17:31 -04:00
2017-06-16 11:48:39 -04:00
2017-07-04 01:29:04 -07:00
2017-07-01 07:39:08 -07:00
2017-04-19 07:48:57 +02:00
2017-07-01 07:39:08 -07:00
2017-07-05 09:04:32 +01:00
2017-05-30 11:55:32 -04:00
2017-03-10 09:45:09 -08:00
2017-03-16 10:18:34 -07:00
2017-07-04 01:29:04 -07:00
2017-07-04 01:29:04 -07:00
2017-05-21 13:42:36 -04:00
2017-06-15 11:59:32 -04:00
2017-07-01 07:39:08 -07:00
2017-07-01 07:39:08 -07:00
2017-01-13 22:37:16 -05:00
2017-07-01 07:39:09 -07:00
2017-07-03 03:29:14 -07:00
2017-07-01 07:39:08 -07:00
2017-07-17 08:59:01 -07:00
2017-07-01 07:39:09 -07:00
2017-06-26 23:13:22 -04:00
2017-03-24 13:17:07 -07:00
2016-12-24 11:46:01 -08:00
2017-07-04 01:46:10 -07:00
2017-06-30 02:04:09 -04:00
2017-06-25 11:42:01 -04:00
2017-06-16 12:01:29 -04:00
2017-06-26 23:13:22 -04:00
2017-06-16 11:48:35 -04:00
2017-06-26 23:13:22 -04:00
2017-07-12 08:18:46 -07:00
2017-02-16 21:25:49 -05:00
2017-06-15 12:12:40 -04:00
2017-02-28 12:49:36 +01:00
2017-07-01 07:39:08 -07:00
2017-06-08 11:26:19 -04:00
2017-03-24 13:17:07 -07:00
2017-07-01 07:39:08 -07:00
2017-06-17 22:54:01 -04:00
2017-07-01 07:39:08 -07:00
2017-06-15 12:12:40 -04:00
2017-05-17 16:06:01 -04:00
2017-05-17 16:06:01 -04:00
2017-03-02 08:42:27 +01:00
2017-07-01 16:15:14 -07:00
2017-05-17 16:06:01 -04:00
2016-12-06 11:34:24 -05:00
2017-07-01 16:15:14 -07:00
2016-11-21 13:20:17 -05:00
2017-05-17 16:06:01 -04:00
2016-11-21 13:20:17 -05:00
2016-11-21 13:20:17 -05:00
2017-07-01 16:15:14 -07:00
2017-07-06 10:54:15 +01:00
2017-05-17 16:06:01 -04:00
2017-05-17 16:06:01 -04:00
2017-07-01 16:15:13 -07:00
2017-05-21 13:42:36 -04:00
2017-07-01 07:39:08 -07:00
2017-07-04 01:46:10 -07:00
2017-02-21 13:26:03 -05:00
2017-06-15 12:12:40 -04:00
2017-05-17 16:06:01 -04:00
2016-11-21 13:20:17 -05:00
2017-05-24 16:29:57 -04:00
2017-06-23 14:10:05 -04:00
2016-11-21 13:20:17 -05:00
2016-11-21 13:20:17 -05:00
2017-05-17 16:06:01 -04:00
2016-11-21 13:20:17 -05:00
2017-07-01 16:15:14 -07:00
2017-07-01 07:39:08 -07:00
2017-05-18 10:23:33 -04:00
2017-04-24 13:48:54 -04:00
2017-07-01 07:39:08 -07:00
2016-11-24 15:32:14 -05:00
2017-02-15 11:04:11 +01:00
2017-06-16 11:48:39 -04:00
2017-04-14 10:07:39 +02:00
2017-04-14 10:07:39 +02:00
2017-04-14 10:06:10 +02:00
2017-02-09 10:22:19 +01:00
2017-02-09 10:22:17 +01:00
2017-01-10 10:57:12 +01:00