diff options
author | Mihai Maruseac <mihai.maruseac@gmail.com> | 2011-10-20 20:45:10 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-10-21 02:54:38 -0400 |
commit | f04565ddf52e401880f8ba51de0dff8ba51c99fd (patch) | |
tree | 720ebd86cb3012319023389a54ae7152073d6bdb /net/ipv4/tcp_minisocks.c | |
parent | e09eff7fc1c6f011f7bdb304e10d2ceef08c88ab (diff) |
dev: use name hash for dev_seq_ops
Instead of using the dev->next chain and trying to resync at each call to
dev_seq_start, use the name hash, keeping the bucket and the offset in
seq->private field.
Tests revealed the following results for ifconfig > /dev/null
* 1000 interfaces:
* 0.114s without patch
* 0.089s with patch
* 3000 interfaces:
* 0.489s without patch
* 0.110s with patch
* 5000 interfaces:
* 1.363s without patch
* 0.250s with patch
* 128000 interfaces (other setup):
* ~100s without patch
* ~30s with patch
Signed-off-by: Mihai Maruseac <mmaruseac@ixiacom.com>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_minisocks.c')
0 files changed, 0 insertions, 0 deletions