Patchwork [net-next-2.6] bonding: Remove net_device_stats from bonding struct

login
register
mail settings
Submitter Ajit Khaparde
Date Feb. 2, 2010, 12:06 a.m.
Message ID <20100202000648.GA30286@serverengines.com>
Download mbox | patch
Permalink /patch/44235/
State Accepted
Delegated to: David Miller
Headers show

Comments

Ajit Khaparde - Feb. 2, 2010, 12:06 a.m.
There is no need to maintain stats in the bonding structure.
Use the instance of net_device_stats in netdevice.

Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>
---
 drivers/net/bonding/bond_main.c |    2 +-
 drivers/net/bonding/bonding.h   |    1 -
 2 files changed, 1 insertions(+), 2 deletions(-)
Jay Vosburgh - Feb. 2, 2010, 9:40 p.m.
Ajit Khaparde <ajitkhaparde@gmail.com> wrote:

>There is no need to maintain stats in the bonding structure.
>Use the instance of net_device_stats in netdevice.
>
>Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>

	Note that the accumulation of stats across the slaves is done
into a separate local instance of net_device_stats, so partial results
shouldn't be visible.

Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>

	-J

>---
> drivers/net/bonding/bond_main.c |    2 +-
> drivers/net/bonding/bonding.h   |    1 -
> 2 files changed, 1 insertions(+), 2 deletions(-)
>
>diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
>index 6221936..1787e3c 100644
>--- a/drivers/net/bonding/bond_main.c
>+++ b/drivers/net/bonding/bond_main.c
>@@ -3742,7 +3742,7 @@ static int bond_close(struct net_device *bond_dev)
> static struct net_device_stats *bond_get_stats(struct net_device *bond_dev)
> {
> 	struct bonding *bond = netdev_priv(bond_dev);
>-	struct net_device_stats *stats = &bond->stats;
>+	struct net_device_stats *stats = &bond_dev->stats;
> 	struct net_device_stats local_stats;
> 	struct slave *slave;
> 	int i;
>diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h
>index 558ec13..257a7a4 100644
>--- a/drivers/net/bonding/bonding.h
>+++ b/drivers/net/bonding/bonding.h
>@@ -197,7 +197,6 @@ struct bonding {
> 	s8	 send_grat_arp;
> 	s8	 send_unsol_na;
> 	s8	 setup_by_slave;
>-	struct   net_device_stats stats;
> #ifdef CONFIG_PROC_FS
> 	struct   proc_dir_entry *proc_entry;
> 	char     proc_file_name[IFNAMSIZ];
>-- 
>1.6.3.3
>
>--
>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
--
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
David Miller - Feb. 4, 2010, 4:33 a.m.
From: Ajit Khaparde <ajitkhaparde@gmail.com>
Date: Tue, 2 Feb 2010 05:36:52 +0530

> There is no need to maintain stats in the bonding structure.
> Use the instance of net_device_stats in netdevice.
> 
> Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>

Applied.
--
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

Patch

diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 6221936..1787e3c 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -3742,7 +3742,7 @@  static int bond_close(struct net_device *bond_dev)
 static struct net_device_stats *bond_get_stats(struct net_device *bond_dev)
 {
 	struct bonding *bond = netdev_priv(bond_dev);
-	struct net_device_stats *stats = &bond->stats;
+	struct net_device_stats *stats = &bond_dev->stats;
 	struct net_device_stats local_stats;
 	struct slave *slave;
 	int i;
diff --git a/drivers/net/bonding/bonding.h b/drivers/net/bonding/bonding.h
index 558ec13..257a7a4 100644
--- a/drivers/net/bonding/bonding.h
+++ b/drivers/net/bonding/bonding.h
@@ -197,7 +197,6 @@  struct bonding {
 	s8	 send_grat_arp;
 	s8	 send_unsol_na;
 	s8	 setup_by_slave;
-	struct   net_device_stats stats;
 #ifdef CONFIG_PROC_FS
 	struct   proc_dir_entry *proc_entry;
 	char     proc_file_name[IFNAMSIZ];