Files
android_kernel_xiaomi_sm8450/net/ipv4
Eric Dumazet eec4df9885 ipv4: speedup inet_dump_ifaddr()
Stephen Hemminger a écrit :
> On Thu, 12 Nov 2009 15:11:36 +0100
> Eric Dumazet <eric.dumazet@gmail.com> wrote:
>
>> When handling large number of netdevices, inet_dump_ifaddr()
>> is very slow because it has O(N^2) complexity.
>>
>> Instead of scanning one single list, we can use the NETDEV_HASHENTRIES
>> sub lists of the dev_index hash table, and RCU lookups.
>>
>> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
>
> You might be able to make RCU critical section smaller by moving
> it into loop.
>

Indeed. But we dump at most one skb (<= 8192 bytes ?), so rcu_read_lock
holding time is small, unless we meet many netdevices without
addresses. I wonder if its really common...

Thanks

[PATCH net-next-2.6] ipv4: speedup inet_dump_ifaddr()

When handling large number of netdevices, inet_dump_ifaddr()
is very slow because it has O(N2) complexity.

Instead of scanning one single list, we can use the NETDEV_HASHENTRIES
sub lists of the dev_index hash table, and RCU lookups.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-11-13 20:46:55 -08:00
..
2009-10-18 21:31:59 -07:00
2009-09-01 17:40:57 -07:00
2009-10-18 18:52:53 -07:00
2009-11-13 20:46:55 -08:00
2009-09-14 17:03:01 -07:00
2009-11-01 23:55:10 -08:00
2009-11-13 20:38:49 -08:00
2009-10-18 18:52:53 -07:00
2009-06-03 02:51:04 -07:00
2009-10-18 18:52:53 -07:00
2009-06-03 02:51:04 -07:00
2009-10-18 18:52:53 -07:00
2009-09-14 17:03:01 -07:00
2009-10-29 01:13:49 -07:00
2009-06-13 23:36:32 -07:00
2008-10-07 08:38:24 +11:00
2009-06-03 02:51:04 -07:00
2009-04-27 02:45:02 -07:00
2009-09-14 17:03:01 -07:00
2009-03-02 03:00:15 -08:00
2009-03-02 03:00:15 -08:00
2009-03-02 03:00:14 -08:00
2009-10-18 18:52:53 -07:00
2009-10-20 18:55:46 -07:00
2009-05-25 22:44:59 -07:00
2009-03-02 03:00:15 -08:00
2009-03-02 03:00:15 -08:00
2009-09-14 17:03:01 -07:00
2009-11-10 20:54:38 -08:00
2009-06-03 02:51:04 -07:00
2009-06-03 02:51:04 -07:00
2009-06-03 02:51:04 -07:00