diff mbox

[v3,3/5] bonding: Initialize the ALB work queue for lb mode only.

Message ID 1396422012-32022-1-git-send-email-maheshb@google.com
State Changes Requested, archived
Delegated to: David Miller
Headers show

Commit Message

micro change to initialize / cancel the ALB work queue only
if the mode selected is ALB or TLB.

Change-Id: I27a6cf65f72819889bf15b68f6ef4fca7d617186
Signed-off-by: Mahesh Bandewar <maheshb@google.com>
---
v2:
  Rebase
v3:
  Rebase

 drivers/net/bonding/bond_main.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Eric Dumazet April 2, 2014, 11:03 a.m. UTC | #1
On Wed, 2014-04-02 at 00:00 -0700, Mahesh Bandewar wrote:
> micro change to initialize / cancel the ALB work queue only
> if the mode selected is ALB or TLB.
> 
> Change-Id: I27a6cf65f72819889bf15b68f6ef4fca7d617186
> Signed-off-by: Mahesh Bandewar <maheshb@google.com>
> ---
> v2:
>   Rebase
> v3:
>   Rebase
> 
>  drivers/net/bonding/bond_main.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
> index 6e96d510bc8d..676db41b98bc 100644
> --- a/drivers/net/bonding/bond_main.c
> +++ b/drivers/net/bonding/bond_main.c
> @@ -3046,7 +3046,8 @@ static void bond_work_init_all(struct bonding *bond)
>  {
>  	INIT_DELAYED_WORK(&bond->mcast_work,
>  			  bond_resend_igmp_join_requests_delayed);
> -	INIT_DELAYED_WORK(&bond->alb_work, bond_alb_monitor);
> +	if (bond_is_lb(bond))
> +		INIT_DELAYED_WORK(&bond->alb_work, bond_alb_monitor);
>  	INIT_DELAYED_WORK(&bond->mii_work, bond_mii_monitor);
>  	if (bond->params.mode == BOND_MODE_ACTIVEBACKUP)
>  		INIT_DELAYED_WORK(&bond->arp_work, bond_activebackup_arp_mon);
> @@ -3059,7 +3060,8 @@ static void bond_work_cancel_all(struct bonding *bond)
>  {
>  	cancel_delayed_work_sync(&bond->mii_work);
>  	cancel_delayed_work_sync(&bond->arp_work);
> -	cancel_delayed_work_sync(&bond->alb_work);
> +	if (bond_is_lb(bond))
> +		cancel_delayed_work_sync(&bond->alb_work);
>  	cancel_delayed_work_sync(&bond->ad_work);
>  	cancel_delayed_work_sync(&bond->mcast_work);
>  }

I would prefer you drop this patch.

As I said, there is no gain but potential troubles with this,
bonding driver is heavily changed by lot of people. 

Its not like we setup/dismantle thousand of bonding devices per second
on a host.



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

Patch

diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 6e96d510bc8d..676db41b98bc 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -3046,7 +3046,8 @@  static void bond_work_init_all(struct bonding *bond)
 {
 	INIT_DELAYED_WORK(&bond->mcast_work,
 			  bond_resend_igmp_join_requests_delayed);
-	INIT_DELAYED_WORK(&bond->alb_work, bond_alb_monitor);
+	if (bond_is_lb(bond))
+		INIT_DELAYED_WORK(&bond->alb_work, bond_alb_monitor);
 	INIT_DELAYED_WORK(&bond->mii_work, bond_mii_monitor);
 	if (bond->params.mode == BOND_MODE_ACTIVEBACKUP)
 		INIT_DELAYED_WORK(&bond->arp_work, bond_activebackup_arp_mon);
@@ -3059,7 +3060,8 @@  static void bond_work_cancel_all(struct bonding *bond)
 {
 	cancel_delayed_work_sync(&bond->mii_work);
 	cancel_delayed_work_sync(&bond->arp_work);
-	cancel_delayed_work_sync(&bond->alb_work);
+	if (bond_is_lb(bond))
+		cancel_delayed_work_sync(&bond->alb_work);
 	cancel_delayed_work_sync(&bond->ad_work);
 	cancel_delayed_work_sync(&bond->mcast_work);
 }