Re: [PATCH 4/4] [NETDEV] sky2: rtnl_lock out of loop will be faster

2007-12-14 Thread Jeff Garzik

Wang Chen wrote:

[PATCH 4/4] [NETDEV] sky2: 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.

Signed-off-by: Wang Chen <[EMAIL PROTECTED]>
---
 sky2.c |4 +++-
 1 files changed, 3 insertions(+), 1 deletion(-)

--- linux-2.6.24.rc5.org/drivers/net/sky2.c 2007-12-12 10:19:43.0 
+0800
+++ linux-2.6.24.rc5/drivers/net/sky2.c 2007-12-12 15:23:37.0 +0800
@@ -4270,8 +4270,10 @@ static void __devexit sky2_remove(struct
del_timer_sync(&hw->watchdog_timer);
cancel_work_sync(&hw->restart_work);
 
+	rtnl_lock();

for (i = hw->ports-1; i >= 0; --i)
-   unregister_netdev(hw->dev[i]);
+   unregister_netdevice(hw->dev[i]);
+   rtnl_unlock();


while true and correct, I don't see the remove path as needing this type 
of micro-optimization.


Removing and shutting down hardware is an operation that can take many 
seconds (an eternity, to a computer)... a very slow operation.


Thus, given that speed is not a priority here, I place more value on 
smaller, more compact, easily reviewable code -- the existing unpatched 
code in this case.


Jeff





--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 4/4] [NETDEV] sky2: rtnl_lock out of loop will be faster

2007-12-12 Thread Wang Chen
Stephen Hemminger said the following on 2007-12-13 0:30:
> Umm, okay but it doesn't matter really, there can only be 2 ports and
> 90+% of the boards only have one port.  So why bother??
> 

Thanks Stephen.
David, please ignore all of the four patches.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 4/4] [NETDEV] sky2: rtnl_lock out of loop will be faster

2007-12-12 Thread Stephen Hemminger
On Wed, 12 Dec 2007 16:50:09 +0800
Wang Chen <[EMAIL PROTECTED]> wrote:

> [PATCH 4/4] [NETDEV] sky2: 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.
> 
> Signed-off-by: Wang Chen <[EMAIL PROTECTED]>
> ---
>  sky2.c |4 +++-
>  1 files changed, 3 insertions(+), 1 deletion(-)
> 
> --- linux-2.6.24.rc5.org/drivers/net/sky2.c   2007-12-12 10:19:43.0 
> +0800
> +++ linux-2.6.24.rc5/drivers/net/sky2.c   2007-12-12 15:23:37.0 
> +0800
> @@ -4270,8 +4270,10 @@ static void __devexit sky2_remove(struct
>   del_timer_sync(&hw->watchdog_timer);
>   cancel_work_sync(&hw->restart_work);
>  
> + rtnl_lock();
>   for (i = hw->ports-1; i >= 0; --i)
> - unregister_netdev(hw->dev[i]);
> + unregister_netdevice(hw->dev[i]);
> + rtnl_unlock();
>  
>   sky2_write32(hw, B0_IMSK, 0);
> 

Umm, okay but it doesn't matter really, there can only be 2 ports and
90+% of the boards only have one port.  So why bother??

-- 
Stephen Hemminger <[EMAIL PROTECTED]>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


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

2007-12-12 Thread Wang Chen
[PATCH 4/4] [NETDEV] sky2: 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.

Signed-off-by: Wang Chen <[EMAIL PROTECTED]>
---
 sky2.c |4 +++-
 1 files changed, 3 insertions(+), 1 deletion(-)

--- linux-2.6.24.rc5.org/drivers/net/sky2.c 2007-12-12 10:19:43.0 
+0800
+++ linux-2.6.24.rc5/drivers/net/sky2.c 2007-12-12 15:23:37.0 +0800
@@ -4270,8 +4270,10 @@ static void __devexit sky2_remove(struct
del_timer_sync(&hw->watchdog_timer);
cancel_work_sync(&hw->restart_work);
 
+   rtnl_lock();
for (i = hw->ports-1; i >= 0; --i)
-   unregister_netdev(hw->dev[i]);
+   unregister_netdevice(hw->dev[i]);
+   rtnl_unlock();
 
sky2_write32(hw, B0_IMSK, 0);

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html