Thread (38 messages) 38 messages, 7 authors, 2020-07-20

Re: [PATCH v1 01/25] net: core: device_rename: Use rwsem instead of a seqcount

From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2020-05-20 04:36:44
Also in: lkml

On Tue, 19 May 2020 20:18:19 -0700
Eric Dumazet [off-list ref] wrote:
On 5/19/20 7:57 PM, David Miller wrote:
quoted
From: Thomas Gleixner <redacted>
Date: Wed, 20 May 2020 01:42:30 +0200
  
quoted
Stephen Hemminger [off-list ref] writes:  
quoted
On Wed, 20 May 2020 00:23:48 +0200
Thomas Gleixner [off-list ref] wrote:  
quoted
No. We did not. -ENOTESTCASE  
Please try, it isn't that hard..

# time for ((i=0;i<1000;i++)); do ip li add dev dummy$i type dummy; done

real	0m17.002s
user	0m1.064s
sys	0m0.375s  
And that solves the incorrectness of the current code in which way?  
You mentioned that there wasn't a test case, he gave you one to try.
  
I do not think this would ever use device rename, nor netdev_get_name()

None of this stuff is fast path really.

# time for ((i=1;i<1000;i++)); do ip li add dev dummy$i type dummy; done

real	0m1.127s
user	0m0.270s
sys	0m1.039s
Your right it is a weak test, and most of the overhead is in the syscall
and all netlink events that happen.

It does end up looking up the new name, so would exercise that.
Better test is to use %d syntax or create 1000 dummy's then rename every one.

This is more of a stress test
# for ((i=0;i<1000;i++)); do echo link add dev dummy%d type dummy; done | time ip -batch -
0.00user 0.29system 0:02.11elapsed 13%CPU (0avgtext+0avgdata 2544maxresident)k
0inputs+0outputs (0major+148minor)pagefaults 0swaps

# for ((i=999;i>=0;i--)); do echo link set dummy$i name dummy$((i+1)); done | time ip -batch -
0.00user 0.26system 0:54.98elapsed 0%CPU (0avgtext+0avgdata 2508maxresident)k
0inputs+0outputs (0major+145minor)pagefaults 0swaps
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help