Skip to contentSkip to conversation

cxgb3: rtnl_lock out of loop will be faster

PATCH In review Wang Chen 1 participant 1 message Dec 12, 2007

Subsystems (2)
lore
Share & tools
lore

Wang Chen

author
#0 lore raw

PATCH 2/4 cxgb3: rtnl_lock out of loop will be faster

[PATCH 2/4] [NETDEV] cxgb3: rtnl_lock out of loop will be faster

Before this patch, it gets and releases the lock at each iteration of the loop. Changing unregister_netdev to unregister_netdevice and locking outside of the loop will be faster for this approach.

---
 cxgb3_main.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletion(-)
drivers/net/cxgb3/cxgb3_main.c +3 -1
@@ -2584,9 +2584,11 @@ static void __devexit remove_one(struct 
 		sysfs_remove_group(&adapter->port[0]->dev.kobj,
 				   &cxgb3_attr_group);
 
+		rtnl_lock();
 		for_each_port(adapter, i)
 		    if (test_bit(i, &adapter->registered_device_map))
-			unregister_netdev(adapter->port[i]);
+			unregister_netdevice(adapter->port[i]);
+		rtnl_unlock();
 
 		if (is_offload(adapter)) {
 			cxgb3_adapter_unofld(adapter);