提交 3c13ce74 编写于 作者: C Catherine Sullivan 提交者: David S. Miller

gve: Fix u64_stats_sync to initialize start

u64_stats_fetch_begin needs to initialize start.
Signed-off-by: NCatherine Sullivan <csully@google.com>
Reported-by: Nkbuild test robot <lkp@intel.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 d62962b3
...@@ -102,7 +102,8 @@ gve_get_ethtool_stats(struct net_device *netdev, ...@@ -102,7 +102,8 @@ gve_get_ethtool_stats(struct net_device *netdev,
ring < priv->rx_cfg.num_queues; ring++) { ring < priv->rx_cfg.num_queues; ring++) {
if (priv->rx) { if (priv->rx) {
do { do {
u64_stats_fetch_begin(&priv->rx[ring].statss); start =
u64_stats_fetch_begin(&priv->rx[ring].statss);
rx_pkts += priv->rx[ring].rpackets; rx_pkts += priv->rx[ring].rpackets;
rx_bytes += priv->rx[ring].rbytes; rx_bytes += priv->rx[ring].rbytes;
} while (u64_stats_fetch_retry(&priv->rx[ring].statss, } while (u64_stats_fetch_retry(&priv->rx[ring].statss,
...@@ -113,7 +114,8 @@ gve_get_ethtool_stats(struct net_device *netdev, ...@@ -113,7 +114,8 @@ gve_get_ethtool_stats(struct net_device *netdev,
ring < priv->tx_cfg.num_queues; ring++) { ring < priv->tx_cfg.num_queues; ring++) {
if (priv->tx) { if (priv->tx) {
do { do {
u64_stats_fetch_begin(&priv->tx[ring].statss); start =
u64_stats_fetch_begin(&priv->tx[ring].statss);
tx_pkts += priv->tx[ring].pkt_done; tx_pkts += priv->tx[ring].pkt_done;
tx_bytes += priv->tx[ring].bytes_done; tx_bytes += priv->tx[ring].bytes_done;
} while (u64_stats_fetch_retry(&priv->tx[ring].statss, } while (u64_stats_fetch_retry(&priv->tx[ring].statss,
......
...@@ -35,7 +35,8 @@ static void gve_get_stats(struct net_device *dev, struct rtnl_link_stats64 *s) ...@@ -35,7 +35,8 @@ static void gve_get_stats(struct net_device *dev, struct rtnl_link_stats64 *s)
if (priv->rx) { if (priv->rx) {
for (ring = 0; ring < priv->rx_cfg.num_queues; ring++) { for (ring = 0; ring < priv->rx_cfg.num_queues; ring++) {
do { do {
u64_stats_fetch_begin(&priv->rx[ring].statss); start =
u64_stats_fetch_begin(&priv->rx[ring].statss);
s->rx_packets += priv->rx[ring].rpackets; s->rx_packets += priv->rx[ring].rpackets;
s->rx_bytes += priv->rx[ring].rbytes; s->rx_bytes += priv->rx[ring].rbytes;
} while (u64_stats_fetch_retry(&priv->rx[ring].statss, } while (u64_stats_fetch_retry(&priv->rx[ring].statss,
...@@ -45,7 +46,8 @@ static void gve_get_stats(struct net_device *dev, struct rtnl_link_stats64 *s) ...@@ -45,7 +46,8 @@ static void gve_get_stats(struct net_device *dev, struct rtnl_link_stats64 *s)
if (priv->tx) { if (priv->tx) {
for (ring = 0; ring < priv->tx_cfg.num_queues; ring++) { for (ring = 0; ring < priv->tx_cfg.num_queues; ring++) {
do { do {
u64_stats_fetch_begin(&priv->tx[ring].statss); start =
u64_stats_fetch_begin(&priv->tx[ring].statss);
s->tx_packets += priv->tx[ring].pkt_done; s->tx_packets += priv->tx[ring].pkt_done;
s->tx_bytes += priv->tx[ring].bytes_done; s->tx_bytes += priv->tx[ring].bytes_done;
} while (u64_stats_fetch_retry(&priv->rx[ring].statss, } while (u64_stats_fetch_retry(&priv->rx[ring].statss,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册