Displaying 20 results from an estimated 26 matches for "virtnet_tx_timeout".
2019 Oct 07
3
[PATCH RFC net-next 2/2] drivers: net: virtio_net: Add tx_timeout function
...vers/net/virtio_net.c b/drivers/net/virtio_net.c
> index 27f9b212c9f5..4b703b4b9441 100644
> --- a/drivers/net/virtio_net.c
> +++ b/drivers/net/virtio_net.c
> @@ -2585,6 +2585,29 @@ static int virtnet_set_features(struct net_device *dev,
> return 0;
> }
>
> +static void virtnet_tx_timeout(struct net_device *dev)
> +{
> + struct virtnet_info *vi = netdev_priv(dev);
> + u32 i;
> +
> + /* find the stopped queue the same way dev_watchdog() does */
not really - the watchdog actually looks at trans_start.
> + for (i = 0; i < vi->curr_queue_pairs; i++) {
> + s...
2019 Oct 07
3
[PATCH RFC net-next 2/2] drivers: net: virtio_net: Add tx_timeout function
...vers/net/virtio_net.c b/drivers/net/virtio_net.c
> index 27f9b212c9f5..4b703b4b9441 100644
> --- a/drivers/net/virtio_net.c
> +++ b/drivers/net/virtio_net.c
> @@ -2585,6 +2585,29 @@ static int virtnet_set_features(struct net_device *dev,
> return 0;
> }
>
> +static void virtnet_tx_timeout(struct net_device *dev)
> +{
> + struct virtnet_info *vi = netdev_priv(dev);
> + u32 i;
> +
> + /* find the stopped queue the same way dev_watchdog() does */
not really - the watchdog actually looks at trans_start.
> + for (i = 0; i < vi->curr_queue_pairs; i++) {
> + s...
2015 Jun 24
2
[RFC] virtio_net: Adding tx_timeout function.
...rk;
+ /* Work struct for resetting the virtio-net driver. */
+ struct work_struct reset_task;
+
/* Does the affinity hint is set for virtqueues? */
bool affinity_hint_set;
@@ -1394,6 +1397,18 @@ static int virtnet_change_mtu(struct net_device *dev, int new_mtu)
return 0;
}
+static void virtnet_tx_timeout(struct net_device *dev)
+{
+ struct virtnet_info *vi = netdev_priv(dev);
+
+ dev_warn(&dev->dev, "TX Timeout exception with latency: %ld\n",
+ jiffies - dev_trans_start(dev));
+
+ schedule_work(&vi->reset_task);
+}
+
+static void virtnet_reset_task(struct work_struct *work...
2015 Jun 24
2
[RFC] virtio_net: Adding tx_timeout function.
...rk;
+ /* Work struct for resetting the virtio-net driver. */
+ struct work_struct reset_task;
+
/* Does the affinity hint is set for virtqueues? */
bool affinity_hint_set;
@@ -1394,6 +1397,18 @@ static int virtnet_change_mtu(struct net_device *dev, int new_mtu)
return 0;
}
+static void virtnet_tx_timeout(struct net_device *dev)
+{
+ struct virtnet_info *vi = netdev_priv(dev);
+
+ dev_warn(&dev->dev, "TX Timeout exception with latency: %ld\n",
+ jiffies - dev_trans_start(dev));
+
+ schedule_work(&vi->reset_task);
+}
+
+static void virtnet_reset_task(struct work_struct *work...
2015 Jun 25
3
[RFC] virtio_net: Adding tx_timeout function.
...t; > +
> > /* Does the affinity hint is set for virtqueues? */
> > bool affinity_hint_set;
> >
> > @@ -1394,6 +1397,18 @@ static int virtnet_change_mtu(struct net_device *dev, int new_mtu)
> > return 0;
> > }
> >
> > +static void virtnet_tx_timeout(struct net_device *dev)
> > +{
> > + struct virtnet_info *vi = netdev_priv(dev);
> > +
> > + dev_warn(&dev->dev, "TX Timeout exception with latency: %ld\n",
> > + jiffies - dev_trans_start(dev));
> > +
> > + schedul...
2015 Jun 25
3
[RFC] virtio_net: Adding tx_timeout function.
...t; > +
> > /* Does the affinity hint is set for virtqueues? */
> > bool affinity_hint_set;
> >
> > @@ -1394,6 +1397,18 @@ static int virtnet_change_mtu(struct net_device *dev, int new_mtu)
> > return 0;
> > }
> >
> > +static void virtnet_tx_timeout(struct net_device *dev)
> > +{
> > + struct virtnet_info *vi = netdev_priv(dev);
> > +
> > + dev_warn(&dev->dev, "TX Timeout exception with latency: %ld\n",
> > + jiffies - dev_trans_start(dev));
> > +
> > + schedul...
2019 Oct 06
7
[PATCH RFC net-next 0/2] drivers: net: virtio_net: Implement
From: Julio Faracco <jcfaracco at gmail.com>
Driver virtio_net is not handling error events for TX provided by
dev_watchdog. This event is reached when transmission queue is having
problems to transmit packets. To enable it, driver should have
.ndo_tx_timeout implemented. This serie has two commits:
In the past, we implemented a function to recover driver state when this
kind of event
2019 Oct 06
7
[PATCH RFC net-next 0/2] drivers: net: virtio_net: Implement
From: Julio Faracco <jcfaracco at gmail.com>
Driver virtio_net is not handling error events for TX provided by
dev_watchdog. This event is reached when transmission queue is having
problems to transmit packets. To enable it, driver should have
.ndo_tx_timeout implemented. This serie has two commits:
In the past, we implemented a function to recover driver state when this
kind of event
2019 Nov 22
2
[PATCH net-next v2] drivers: net: virtio_net: Implement a dev_watchdog handler
...v,
tot->rx_bytes += rbytes;
tot->tx_bytes += tbytes;
tot->rx_dropped += rdrops;
+ tot->tx_errors += terrors;
}
tot->tx_dropped = dev->stats.tx_dropped;
@@ -2578,6 +2585,33 @@ static int virtnet_set_features(struct net_device *dev,
return 0;
}
+static void virtnet_tx_timeout(struct net_device *dev)
+{
+ struct virtnet_info *vi = netdev_priv(dev);
+ u32 i;
+
+ netdev_warn(dev, "TX timeout stats:\n");
+ /* find the stopped queue the same way dev_watchdog() does */
+ for (i = 0; i < vi->curr_queue_pairs; i++) {
+ struct send_queue *sq = &vi->sq[i];...
2019 Nov 22
2
[PATCH net-next v2] drivers: net: virtio_net: Implement a dev_watchdog handler
...v,
tot->rx_bytes += rbytes;
tot->tx_bytes += tbytes;
tot->rx_dropped += rdrops;
+ tot->tx_errors += terrors;
}
tot->tx_dropped = dev->stats.tx_dropped;
@@ -2578,6 +2585,33 @@ static int virtnet_set_features(struct net_device *dev,
return 0;
}
+static void virtnet_tx_timeout(struct net_device *dev)
+{
+ struct virtnet_info *vi = netdev_priv(dev);
+ u32 i;
+
+ netdev_warn(dev, "TX timeout stats:\n");
+ /* find the stopped queue the same way dev_watchdog() does */
+ for (i = 0; i < vi->curr_queue_pairs; i++) {
+ struct send_queue *sq = &vi->sq[i];...
2015 Jul 02
1
[RFC] virtio_net: Adding tx_timeout function.
...t; > bool affinity_hint_set;
> > > >
> > > > @@ -1394,6 +1397,18 @@ static int virtnet_change_mtu(struct net_device
> > > > *dev, int new_mtu)
> > > > return 0;
> > > > }
> > > >
> > > > +static void virtnet_tx_timeout(struct net_device *dev)
> > > > +{
> > > > + struct virtnet_info *vi = netdev_priv(dev);
> > > > +
> > > > + dev_warn(&dev->dev, "TX Timeout exception with latency: %ld\n",
> > > > + jiffies - dev_tran...
2015 Jul 02
1
[RFC] virtio_net: Adding tx_timeout function.
...t; > bool affinity_hint_set;
> > > >
> > > > @@ -1394,6 +1397,18 @@ static int virtnet_change_mtu(struct net_device
> > > > *dev, int new_mtu)
> > > > return 0;
> > > > }
> > > >
> > > > +static void virtnet_tx_timeout(struct net_device *dev)
> > > > +{
> > > > + struct virtnet_info *vi = netdev_priv(dev);
> > > > +
> > > > + dev_warn(&dev->dev, "TX Timeout exception with latency: %ld\n",
> > > > + jiffies - dev_tran...
2019 Oct 06
0
[PATCH RFC net-next 2/2] drivers: net: virtio_net: Add tx_timeout function
...nged, 27 insertions(+)
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 27f9b212c9f5..4b703b4b9441 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -2585,6 +2585,29 @@ static int virtnet_set_features(struct net_device *dev,
return 0;
}
+static void virtnet_tx_timeout(struct net_device *dev)
+{
+ struct virtnet_info *vi = netdev_priv(dev);
+ u32 i;
+
+ /* find the stopped queue the same way dev_watchdog() does */
+ for (i = 0; i < vi->curr_queue_pairs; i++) {
+ struct send_queue *sq = &vi->sq[i];
+
+ if (!netif_xmit_stopped(netdev_get_tx_queue(dev...
2019 Oct 07
0
[PATCH RFC net-next 2/2] drivers: net: virtio_net: Add tx_timeout function
..._net.c
> > index 27f9b212c9f5..4b703b4b9441 100644
> > --- a/drivers/net/virtio_net.c
> > +++ b/drivers/net/virtio_net.c
> > @@ -2585,6 +2585,29 @@ static int virtnet_set_features(struct net_device *dev,
> > return 0;
> > }
> >
> > +static void virtnet_tx_timeout(struct net_device *dev)
> > +{
> > + struct virtnet_info *vi = netdev_priv(dev);
> > + u32 i;
> > +
> > + /* find the stopped queue the same way dev_watchdog() does */
>
> not really - the watchdog actually looks at trans_start.
The comments are wron...
2015 Jun 24
0
[RFC] virtio_net: Adding tx_timeout function.
...t driver. */
> + struct work_struct reset_task;
> +
> /* Does the affinity hint is set for virtqueues? */
> bool affinity_hint_set;
>
> @@ -1394,6 +1397,18 @@ static int virtnet_change_mtu(struct net_device *dev, int new_mtu)
> return 0;
> }
>
> +static void virtnet_tx_timeout(struct net_device *dev)
> +{
> + struct virtnet_info *vi = netdev_priv(dev);
> +
> + dev_warn(&dev->dev, "TX Timeout exception with latency: %ld\n",
> + jiffies - dev_trans_start(dev));
> +
> + schedule_work(&vi->reset_task);
What if after this trigge...
2015 Jul 01
0
[RFC] virtio_net: Adding tx_timeout function.
...he affinity hint is set for virtqueues? */
> > > bool affinity_hint_set;
> > >
> > > @@ -1394,6 +1397,18 @@ static int virtnet_change_mtu(struct net_device *dev, int new_mtu)
> > > return 0;
> > > }
> > >
> > > +static void virtnet_tx_timeout(struct net_device *dev)
> > > +{
> > > + struct virtnet_info *vi = netdev_priv(dev);
> > > +
> > > + dev_warn(&dev->dev, "TX Timeout exception with latency: %ld\n",
> > > + jiffies - dev_trans_start(dev));
> >...
2019 Nov 26
0
[net-next V3 2/2] drivers: net: virtio_net: Implement a dev_watchdog handler
...v,
tot->rx_bytes += rbytes;
tot->tx_bytes += tbytes;
tot->rx_dropped += rdrops;
+ tot->tx_errors += terrors;
}
tot->tx_dropped = dev->stats.tx_dropped;
@@ -2578,6 +2585,21 @@ static int virtnet_set_features(struct net_device *dev,
return 0;
}
+static void virtnet_tx_timeout(struct net_device *dev, unsigned int txqueue)
+{
+ struct virtnet_info *vi = netdev_priv(dev);
+ struct send_queue *sq = &vi->sq[txqueue];
+
+ netdev_warn(dev, "TX timeout on queue: %d, sq: %s, vq: %d, name: %s\n",
+ txqueue, sq->name, sq->vq->index, sq->vq->nam...
2015 Jun 25
0
[RFC] virtio_net: Adding tx_timeout function.
.../* Does the affinity hint is set for virtqueues? */
>>> bool affinity_hint_set;
>>>
>>> @@ -1394,6 +1397,18 @@ static int virtnet_change_mtu(struct net_device *dev, int new_mtu)
>>> return 0;
>>> }
>>>
>>> +static void virtnet_tx_timeout(struct net_device *dev)
>>> +{
>>> + struct virtnet_info *vi = netdev_priv(dev);
>>> +
>>> + dev_warn(&dev->dev, "TX Timeout exception with latency: %ld\n",
>>> + jiffies - dev_trans_start(dev));
>>> +
>&...
2019 Nov 22
0
[PATCH] drivers: net: virtio_net: Implement a dev_watchdog handler
...v,
tot->rx_bytes += rbytes;
tot->tx_bytes += tbytes;
tot->rx_dropped += rdrops;
+ tot->tx_errors += terrors;
}
tot->tx_dropped = dev->stats.tx_dropped;
@@ -2578,6 +2585,33 @@ static int virtnet_set_features(struct net_device *dev,
return 0;
}
+static void virtnet_tx_timeout(struct net_device *dev)
+{
+ struct virtnet_info *vi = netdev_priv(dev);
+ u32 i;
+
+ netdev_warn(dev, "TX timeout stats:\n");
+ /* find the stopped queue the same way dev_watchdog() does */
+ for (i = 0; i < vi->curr_queue_pairs; i++) {
+ struct send_queue *sq = &vi->sq[i];...
2019 Nov 22
0
[PATCH net-next v2] drivers: net: virtio_net: Implement a dev_watchdog handler
...bytes += tbytes;
> tot->rx_dropped += rdrops;
> + tot->tx_errors += terrors;
> }
>
> tot->tx_dropped = dev->stats.tx_dropped;
> @@ -2578,6 +2585,33 @@ static int virtnet_set_features(struct net_device *dev,
> return 0;
> }
>
> +static void virtnet_tx_timeout(struct net_device *dev)
> +{
> + struct virtnet_info *vi = netdev_priv(dev);
> + u32 i;
> +
> + netdev_warn(dev, "TX timeout stats:\n");
> + /* find the stopped queue the same way dev_watchdog() does */
> + for (i = 0; i < vi->curr_queue_pairs; i++) {
> + st...