Eric Dumazet d6cc1d642d inetpeer: various changes
Try to reduce cache line contentions in peer management, to reduce IP
defragmentation overhead.

- peer_fake_node is marked 'const' to make sure its not modified.
  (tested with CONFIG_DEBUG_RODATA=y)

- Group variables in two structures to reduce number of dirtied cache
lines. One named "peers" for avl tree root, its number of entries, and
associated lock. (candidate for RCU conversion)

- A second one named "unused_peers" for unused list and its lock

- Add a !list_empty() test in unlink_from_unused() to avoid taking lock
when entry is not unused.

- Use atomic_dec_and_lock() in inet_putpeer() to avoid taking lock in
some cases.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-06-14 23:13:08 -07:00
..
2010-06-10 23:31:35 -07:00
2010-02-22 16:20:22 -08:00
2010-06-10 23:31:35 -07:00
2010-06-10 23:31:35 -07:00
2010-06-14 23:13:08 -07:00
2010-06-10 22:47:08 -07:00
2010-02-22 16:20:22 -08:00
2010-06-10 23:31:35 -07:00
2008-10-07 08:38:24 +11:00
2009-09-14 17:03:01 -07:00
2010-06-10 23:31:35 -07:00
2010-06-10 23:31:35 -07:00
2009-03-02 03:00:15 -08:00
2009-03-02 03:00:15 -08:00
2010-05-17 22:35:36 -07:00
2009-05-25 22:44:59 -07:00
2010-06-10 23:31:35 -07:00
2010-01-17 19:16:02 -08:00