Re: [PATCH] dev: use name hash for dev_seq_ops.
From: Mihai Maruseac <hidden>
Date: 2011-10-08 07:22:49
Also in:
lkml
On Fri, Oct 7, 2011 at 7:24 PM, Stephen Hemminger [off-list ref] wrote:
On Fri, 7 Oct 2011 18:20:49 +0300 Mihai Maruseac [off-list ref] wrote:quoted
Instead of using the dev->next chain and trying to resync at each call to dev_seq_start, use this hash and store bucket number and bucket offset in seq->private field. Tests revealed the following results for ifconfig > /dev/null * 1000 interfaces: * 0.114s without patch * 0.020s with patch * 3000 interfaces: * 0.489s without patch * 0.048s with patch * 5000 interfaces: * 1.363s without patch * 0.131s with patch As one can notice the improvement is of 1 order of magnitude.Good idea, This will change the ordering of entries in /proc which may upset some program, not a critical flaw but worth noting. Rather than recording the bucket and offset of last entry, another alternative would be to just record the ifindex. Also ifconfig is considered deprecated and replaced by ip commands for general use.
Thanks, This is a patch from a series of improvements to both the ifconfig and ip commands. The ip part will come later, after being properly implemented and tested. -- Mihai