From: jcfaracco@gmail.com To: netdev@vger.kernel.org Cc: mst@redhat.com, jasowang@redhat.com, davem@davemloft.net, virtualization@lists.linux-foundation.org, linux-kernel@vger.kernel.org, dnmendes76@gmail.com Subject: [PATCH RFC net-next 1/2] drivers: net: virtio_net: Add tx_timeout stats field Date: Sun, 6 Oct 2019 15:45:14 -0300 [thread overview] Message-ID: <20191006184515.23048-2-jcfaracco@gmail.com> (raw) In-Reply-To: <20191006184515.23048-1-jcfaracco@gmail.com> From: Julio Faracco <jcfaracco@gmail.com> For debug purpose of TX timeout events, a tx_timeout entry was added to monitor this special case: when dev_watchdog identifies a tx_timeout and throw an exception. We can both consider this event as an error, but driver should report as a tx_timeout statistic. Signed-off-by: Julio Faracco <jcfaracco@gmail.com> Signed-off-by: Daiane Mendes <dnmendes76@gmail.com> Cc: Jason Wang <jasowang@redhat.com> --- drivers/net/virtio_net.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 4f3de0ac8b0b..27f9b212c9f5 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -75,6 +75,7 @@ struct virtnet_sq_stats { u64 xdp_tx; u64 xdp_tx_drops; u64 kicks; + u64 tx_timeouts; }; struct virtnet_rq_stats { @@ -98,6 +99,7 @@ static const struct virtnet_stat_desc virtnet_sq_stats_desc[] = { { "xdp_tx", VIRTNET_SQ_STAT(xdp_tx) }, { "xdp_tx_drops", VIRTNET_SQ_STAT(xdp_tx_drops) }, { "kicks", VIRTNET_SQ_STAT(kicks) }, + { "tx_timeouts", VIRTNET_SQ_STAT(tx_timeouts) }, }; static const struct virtnet_stat_desc virtnet_rq_stats_desc[] = { @@ -1721,7 +1723,7 @@ static void virtnet_stats(struct net_device *dev, int i; for (i = 0; i < vi->max_queue_pairs; i++) { - u64 tpackets, tbytes, rpackets, rbytes, rdrops; + u64 tpackets, tbytes, terrors, rpackets, rbytes, rdrops; struct receive_queue *rq = &vi->rq[i]; struct send_queue *sq = &vi->sq[i]; @@ -1729,6 +1731,7 @@ static void virtnet_stats(struct net_device *dev, start = u64_stats_fetch_begin_irq(&sq->stats.syncp); tpackets = sq->stats.packets; tbytes = sq->stats.bytes; + terrors = sq->stats.tx_timeouts; } while (u64_stats_fetch_retry_irq(&sq->stats.syncp, start)); do { @@ -1743,6 +1746,7 @@ static void virtnet_stats(struct net_device *dev, tot->rx_bytes += rbytes; tot->tx_bytes += tbytes; tot->rx_dropped += rdrops; + tot->tx_errors += terrors; } tot->tx_dropped = dev->stats.tx_dropped; -- 2.21.0
WARNING: multiple messages have this Message-ID (diff)
From: jcfaracco@gmail.com To: netdev@vger.kernel.org Cc: dnmendes76@gmail.com, mst@redhat.com, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, davem@davemloft.net Subject: [PATCH RFC net-next 1/2] drivers: net: virtio_net: Add tx_timeout stats field Date: Sun, 6 Oct 2019 15:45:14 -0300 [thread overview] Message-ID: <20191006184515.23048-2-jcfaracco@gmail.com> (raw) In-Reply-To: <20191006184515.23048-1-jcfaracco@gmail.com> From: Julio Faracco <jcfaracco@gmail.com> For debug purpose of TX timeout events, a tx_timeout entry was added to monitor this special case: when dev_watchdog identifies a tx_timeout and throw an exception. We can both consider this event as an error, but driver should report as a tx_timeout statistic. Signed-off-by: Julio Faracco <jcfaracco@gmail.com> Signed-off-by: Daiane Mendes <dnmendes76@gmail.com> Cc: Jason Wang <jasowang@redhat.com> --- drivers/net/virtio_net.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 4f3de0ac8b0b..27f9b212c9f5 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -75,6 +75,7 @@ struct virtnet_sq_stats { u64 xdp_tx; u64 xdp_tx_drops; u64 kicks; + u64 tx_timeouts; }; struct virtnet_rq_stats { @@ -98,6 +99,7 @@ static const struct virtnet_stat_desc virtnet_sq_stats_desc[] = { { "xdp_tx", VIRTNET_SQ_STAT(xdp_tx) }, { "xdp_tx_drops", VIRTNET_SQ_STAT(xdp_tx_drops) }, { "kicks", VIRTNET_SQ_STAT(kicks) }, + { "tx_timeouts", VIRTNET_SQ_STAT(tx_timeouts) }, }; static const struct virtnet_stat_desc virtnet_rq_stats_desc[] = { @@ -1721,7 +1723,7 @@ static void virtnet_stats(struct net_device *dev, int i; for (i = 0; i < vi->max_queue_pairs; i++) { - u64 tpackets, tbytes, rpackets, rbytes, rdrops; + u64 tpackets, tbytes, terrors, rpackets, rbytes, rdrops; struct receive_queue *rq = &vi->rq[i]; struct send_queue *sq = &vi->sq[i]; @@ -1729,6 +1731,7 @@ static void virtnet_stats(struct net_device *dev, start = u64_stats_fetch_begin_irq(&sq->stats.syncp); tpackets = sq->stats.packets; tbytes = sq->stats.bytes; + terrors = sq->stats.tx_timeouts; } while (u64_stats_fetch_retry_irq(&sq->stats.syncp, start)); do { @@ -1743,6 +1746,7 @@ static void virtnet_stats(struct net_device *dev, tot->rx_bytes += rbytes; tot->tx_bytes += tbytes; tot->rx_dropped += rdrops; + tot->tx_errors += terrors; } tot->tx_dropped = dev->stats.tx_dropped; -- 2.21.0
next prev parent reply other threads:[~2019-10-06 18:45 UTC|newest] Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-10-06 18:45 [PATCH RFC net-next 0/2] drivers: net: virtio_net: Implement jcfaracco 2019-10-06 18:45 ` jcfaracco 2019-10-06 18:45 ` jcfaracco [this message] 2019-10-06 18:45 ` [PATCH RFC net-next 1/2] drivers: net: virtio_net: Add tx_timeout stats field jcfaracco 2019-10-07 14:15 ` Julian Wiedmann 2019-10-07 14:55 ` Julio Faracco 2019-10-07 14:55 ` Julio Faracco 2019-10-06 18:45 ` [PATCH RFC net-next 2/2] drivers: net: virtio_net: Add tx_timeout function jcfaracco 2019-10-06 18:45 ` jcfaracco 2019-10-07 7:51 ` Michael S. Tsirkin 2019-10-07 7:51 ` Michael S. Tsirkin 2019-10-07 14:03 ` Julio Faracco 2019-10-07 14:03 ` Julio Faracco 2019-10-07 16:03 ` Julio Faracco 2019-10-07 16:03 ` Julio Faracco 2019-10-12 12:59 ` Jason Wang 2019-10-12 12:59 ` Jason Wang 2019-10-12 13:01 ` Jason Wang 2019-10-12 13:01 ` Jason Wang 2019-10-07 7:43 ` [PATCH RFC net-next 0/2] drivers: net: virtio_net: Implement Michael S. Tsirkin 2019-10-07 13:58 ` Julio Faracco 2019-10-07 13:58 ` Julio Faracco 2019-10-07 7:43 ` Michael S. Tsirkin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20191006184515.23048-2-jcfaracco@gmail.com \ --to=jcfaracco@gmail.com \ --cc=davem@davemloft.net \ --cc=dnmendes76@gmail.com \ --cc=jasowang@redhat.com \ --cc=linux-kernel@vger.kernel.org \ --cc=mst@redhat.com \ --cc=netdev@vger.kernel.org \ --cc=virtualization@lists.linux-foundation.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.