From 88dc6cd94575fd929df82bf5df98cdb68f6ef27b Mon Sep 17 00:00:00 2001 From: Stephen Rothwell Date: Mon, 6 Jan 2014 15:44:01 +1100 Subject: [PATCH] Revert "macvlan: unify macvlan_pcpu_stats and vlan_pcpu_stats" This reverts commit cdf3e274cf1b36e9a2fef2d175cabc566af841b2. --- drivers/net/macvlan.c | 8 ++++---- include/linux/if_macvlan.h | 27 ++++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index 09ababe54a5b..fab873569413 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c @@ -305,7 +305,7 @@ static netdev_tx_t macvlan_start_xmit(struct sk_buff *skb, } if (likely(ret == NET_XMIT_SUCCESS || ret == NET_XMIT_CN)) { - struct vlan_pcpu_stats *pcpu_stats; + struct macvlan_pcpu_stats *pcpu_stats; pcpu_stats = this_cpu_ptr(vlan->pcpu_stats); u64_stats_update_begin(&pcpu_stats->syncp); @@ -545,12 +545,12 @@ static int macvlan_init(struct net_device *dev) macvlan_set_lockdep_class(dev); - vlan->pcpu_stats = alloc_percpu(struct vlan_pcpu_stats); + vlan->pcpu_stats = alloc_percpu(struct macvlan_pcpu_stats); if (!vlan->pcpu_stats) return -ENOMEM; for_each_possible_cpu(i) { - struct vlan_pcpu_stats *mvlstats; + struct macvlan_pcpu_stats *mvlstats; mvlstats = per_cpu_ptr(vlan->pcpu_stats, i); u64_stats_init(&mvlstats->syncp); } @@ -576,7 +576,7 @@ static struct rtnl_link_stats64 *macvlan_dev_get_stats64(struct net_device *dev, struct macvlan_dev *vlan = netdev_priv(dev); if (vlan->pcpu_stats) { - struct vlan_pcpu_stats *p; + struct macvlan_pcpu_stats *p; u64 rx_packets, rx_bytes, rx_multicast, tx_packets, tx_bytes; u32 rx_errors = 0, tx_dropped = 0; unsigned int start; diff --git a/include/linux/if_macvlan.h b/include/linux/if_macvlan.h index 7c8b20b120ea..551bdd3722a2 100644 --- a/include/linux/if_macvlan.h +++ b/include/linux/if_macvlan.h @@ -2,7 +2,6 @@ #define _LINUX_IF_MACVLAN_H #include -#include #include #include #include @@ -25,6 +24,28 @@ static inline struct socket *macvtap_get_socket(struct file *f) struct macvlan_port; struct macvtap_queue; +/** + * struct macvlan_pcpu_stats - MACVLAN percpu stats + * @rx_packets: number of received packets + * @rx_bytes: number of received bytes + * @rx_multicast: number of received multicast packets + * @tx_packets: number of transmitted packets + * @tx_bytes: number of transmitted bytes + * @syncp: synchronization point for 64bit counters + * @rx_errors: number of rx errors + * @tx_dropped: number of tx dropped packets + */ +struct macvlan_pcpu_stats { + u64 rx_packets; + u64 rx_bytes; + u64 rx_multicast; + u64 tx_packets; + u64 tx_bytes; + struct u64_stats_sync syncp; + u32 rx_errors; + u32 tx_dropped; +}; + /* * Maximum times a macvtap device can be opened. This can be used to * configure the number of receive queue, e.g. for multiqueue virtio. @@ -41,7 +62,7 @@ struct macvlan_dev { struct macvlan_port *port; struct net_device *lowerdev; void *fwd_priv; - struct vlan_pcpu_stats __percpu *pcpu_stats; + struct macvlan_pcpu_stats __percpu *pcpu_stats; DECLARE_BITMAP(mc_filter, MACVLAN_MC_FILTER_SZ); @@ -63,7 +84,7 @@ static inline void macvlan_count_rx(const struct macvlan_dev *vlan, bool multicast) { if (likely(success)) { - struct vlan_pcpu_stats *pcpu_stats; + struct macvlan_pcpu_stats *pcpu_stats; pcpu_stats = this_cpu_ptr(vlan->pcpu_stats); u64_stats_update_begin(&pcpu_stats->syncp); -- 2.39.5