Re: Scalability of interface creation and deletion
From: Eric Dumazet <hidden>
Date: 2011-05-08 07:12:27
Le samedi 07 mai 2011 à 20:42 +0200, Eric Dumazet a écrit :
Here is my trace here for one device deletion on one 8 core machine [ 800.447012] synchronize_rcu() in 15787 us [ 800.455013] synchronize_rcu() in 7682 us [ 800.464019] rcu_barrier() in 8487 us Not that bad. $ grep RCU .config # RCU Subsystem CONFIG_TREE_RCU=y # CONFIG_PREEMPT_RCU is not set CONFIG_RCU_TRACE=y CONFIG_RCU_FANOUT=32 # CONFIG_RCU_FANOUT_EXACT is not set # CONFIG_RCU_FAST_NO_HZ is not set CONFIG_TREE_RCU_TRACE=y
By the way, if I change HZ from 1000 to 100 I now have ten times slower result : # ip link add link eth0 eth0.103 type vlan id 103 # time ip link del eth0.103 real 0m0.430s user 0m0.000s sys 0m0.000s So all this is related to your HZ value, even in a CONFIG_NO_HZ=y kernel. Alex, I guess you have HZ=250 ? # uname -a Linux svivoipvnx021 2.6.39-rc6-00214-g5511a34-dirty #574 SMP Sun May 8 08:44:14 CEST 2011 x86_64 x86_64 x86_64 GNU/Linux # cat /proc/cmdline I enabled CONFIG_RCU_FAST_NO_HZ and got worse results (but not alsways... its very variable) # time ip link del eth0.103 real 0m0.544s user 0m0.000s sys 0m0.000s # time ip link del eth0.103 real 0m0.414s user 0m0.000s sys 0m0.000s