search for: watchdog_timer

Displaying 20 results from an estimated 34 matches for "watchdog_timer".

2019 Nov 22
2
[PATCH net-next v2] drivers: net: virtio_net: Implement a dev_watchdog handler
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. This could happen for any reason. To enable it, driver should have .ndo_tx_timeout implemented. This commit brings back virtnet_reset method to recover TX queues from a error state. That function is called by schedule_work method and
2019 Nov 22
2
[PATCH net-next v2] drivers: net: virtio_net: Implement a dev_watchdog handler
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. This could happen for any reason. To enable it, driver should have .ndo_tx_timeout implemented. This commit brings back virtnet_reset method to recover TX queues from a error state. That function is called by schedule_work method and
2014 May 01
13
[Bug 78161] New: [NV96] Artifacts in output of fragment program containing not unrolled loops with conditional break
https://bugs.freedesktop.org/show_bug.cgi?id=78161 Priority: medium Bug ID: 78161 Assignee: nouveau at lists.freedesktop.org Summary: [NV96] Artifacts in output of fragment program containing not unrolled loops with conditional break Severity: normal Classification: Unclassified OS: Linux (All)
2014 May 08
2
[PATCH] net: get rid of SET_ETHTOOL_OPS
...t/myricom/myri10ge/myri10ge.c index 130f6b2..f3d5d79 100644 --- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c +++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c @@ -4112,7 +4112,7 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent) setup_timer(&mgp->watchdog_timer, myri10ge_watchdog_timer, (unsigned long)mgp); - SET_ETHTOOL_OPS(netdev, &myri10ge_ethtool_ops); + netdev->ethtool_ops = &myri10ge_ethtool_ops; INIT_WORK(&mgp->watchdog_work, myri10ge_watchdog); status = register_netdev(netdev); if (status != 0) { diff --git a/drive...
2014 May 08
2
[PATCH] net: get rid of SET_ETHTOOL_OPS
...t/myricom/myri10ge/myri10ge.c index 130f6b2..f3d5d79 100644 --- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c +++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c @@ -4112,7 +4112,7 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent) setup_timer(&mgp->watchdog_timer, myri10ge_watchdog_timer, (unsigned long)mgp); - SET_ETHTOOL_OPS(netdev, &myri10ge_ethtool_ops); + netdev->ethtool_ops = &myri10ge_ethtool_ops; INIT_WORK(&mgp->watchdog_work, myri10ge_watchdog); status = register_netdev(netdev); if (status != 0) { diff --git a/drive...
2014 May 11
7
[PATCH] [resend] net: get rid of SET_ETHTOOL_OPS
...t/myricom/myri10ge/myri10ge.c index 130f6b2..f3d5d79 100644 --- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c +++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c @@ -4112,7 +4112,7 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent) setup_timer(&mgp->watchdog_timer, myri10ge_watchdog_timer, (unsigned long)mgp); - SET_ETHTOOL_OPS(netdev, &myri10ge_ethtool_ops); + netdev->ethtool_ops = &myri10ge_ethtool_ops; INIT_WORK(&mgp->watchdog_work, myri10ge_watchdog); status = register_netdev(netdev); if (status != 0) { diff --git a/drive...
2014 May 11
7
[PATCH] [resend] net: get rid of SET_ETHTOOL_OPS
...t/myricom/myri10ge/myri10ge.c index 130f6b2..f3d5d79 100644 --- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c +++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c @@ -4112,7 +4112,7 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent) setup_timer(&mgp->watchdog_timer, myri10ge_watchdog_timer, (unsigned long)mgp); - SET_ETHTOOL_OPS(netdev, &myri10ge_ethtool_ops); + netdev->ethtool_ops = &myri10ge_ethtool_ops; INIT_WORK(&mgp->watchdog_work, myri10ge_watchdog); status = register_netdev(netdev); if (status != 0) { diff --git a/drive...
2014 May 11
7
[PATCH] [resend] net: get rid of SET_ETHTOOL_OPS
...t/myricom/myri10ge/myri10ge.c index 130f6b2..f3d5d79 100644 --- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c +++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c @@ -4112,7 +4112,7 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent) setup_timer(&mgp->watchdog_timer, myri10ge_watchdog_timer, (unsigned long)mgp); - SET_ETHTOOL_OPS(netdev, &myri10ge_ethtool_ops); + netdev->ethtool_ops = &myri10ge_ethtool_ops; INIT_WORK(&mgp->watchdog_work, myri10ge_watchdog); status = register_netdev(netdev); if (status != 0) { diff --git a/drive...
2014 May 08
0
[PATCH] net: get rid of SET_ETHTOOL_OPS
...gt; index 130f6b2..f3d5d79 100644 > --- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c > +++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c > @@ -4112,7 +4112,7 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent) > setup_timer(&mgp->watchdog_timer, myri10ge_watchdog_timer, > (unsigned long)mgp); > > - SET_ETHTOOL_OPS(netdev, &myri10ge_ethtool_ops); > + netdev->ethtool_ops = &myri10ge_ethtool_ops; > INIT_WORK(&mgp->watchdog_work, myri10ge_watchdog); > status =...
2014 May 11
0
[PATCH] [resend] net: get rid of SET_ETHTOOL_OPS
...gt; index 130f6b2..f3d5d79 100644 > --- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c > +++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c > @@ -4112,7 +4112,7 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent) > setup_timer(&mgp->watchdog_timer, myri10ge_watchdog_timer, > (unsigned long)mgp); > > - SET_ETHTOOL_OPS(netdev, &myri10ge_ethtool_ops); > + netdev->ethtool_ops = &myri10ge_ethtool_ops; > INIT_WORK(&mgp->watchdog_work, myri10ge_watchdog); > status =...
2014 May 11
0
[PATCH] [resend] net: get rid of SET_ETHTOOL_OPS
...gt; index 130f6b2..f3d5d79 100644 > --- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c > +++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c > @@ -4112,7 +4112,7 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent) > setup_timer(&mgp->watchdog_timer, myri10ge_watchdog_timer, > (unsigned long)mgp); > > - SET_ETHTOOL_OPS(netdev, &myri10ge_ethtool_ops); > + netdev->ethtool_ops = &myri10ge_ethtool_ops; > INIT_WORK(&mgp->watchdog_work, myri10ge_watchdog); > status =...
2019 Nov 22
0
[PATCH net-next v2] drivers: net: virtio_net: Implement a dev_watchdog handler
...; void __netdev_watchdog_up(struct net_device *dev) > { > if (dev->netdev_ops->ndo_tx_timeout) { > if (dev->watchdog_timeo <= 0) > dev->watchdog_timeo = 5*HZ; > if (!mod_timer(&dev->watchdog_timer, > round_jiffies(jiffies + dev->watchdog_timeo))) > dev_hold(dev); > } > } > > > > > > + > > > + schedule_work(&vi->reset_work); > > > +} > > > + >...
2019 Nov 23
1
[PATCH net-next v2] drivers: net: virtio_net: Implement a dev_watchdog handler
...dog_up(struct net_device *dev) > > { > > if (dev->netdev_ops->ndo_tx_timeout) { > > if (dev->watchdog_timeo <= 0) > > dev->watchdog_timeo = 5*HZ; > > if (!mod_timer(&dev->watchdog_timer, > > round_jiffies(jiffies + dev->watchdog_timeo))) > > dev_hold(dev); > > } > > } > > > > > > > > > + > > > > + schedule_work(&vi->reset_work); &...
2019 Nov 22
4
[PATCH net-next v2] drivers: net: virtio_net: Implement a dev_watchdog handler
...throw a TX timeout. See: void __netdev_watchdog_up(struct net_device *dev) { if (dev->netdev_ops->ndo_tx_timeout) { if (dev->watchdog_timeo <= 0) dev->watchdog_timeo = 5*HZ; if (!mod_timer(&dev->watchdog_timer, round_jiffies(jiffies + dev->watchdog_timeo))) dev_hold(dev); } } > > > + > > + schedule_work(&vi->reset_work); > > +} > > + > > static const struct net_device_ops virtnet_n...
2019 Nov 22
4
[PATCH net-next v2] drivers: net: virtio_net: Implement a dev_watchdog handler
...throw a TX timeout. See: void __netdev_watchdog_up(struct net_device *dev) { if (dev->netdev_ops->ndo_tx_timeout) { if (dev->watchdog_timeo <= 0) dev->watchdog_timeo = 5*HZ; if (!mod_timer(&dev->watchdog_timer, round_jiffies(jiffies + dev->watchdog_timeo))) dev_hold(dev); } } > > > + > > + schedule_work(&vi->reset_work); > > +} > > + > > static const struct net_device_ops virtnet_n...
2019 Nov 24
0
[PATCH net-next v2] drivers: net: virtio_net: Implement a dev_watchdog handler
...(dev, i); WARN_ONCE(1, KERN_INFO "NETDEV WATCHDOG: %s (%s): transmit queue %u timed out\n", dev->name, netdev_drivername(dev), i); - dev->netdev_ops->ndo_tx_timeout(dev); + dev->netdev_ops->ndo_tx_timeout(dev, i); } if (!mod_timer(&dev->watchdog_timer, round_jiffies(jiffies +
2019 Nov 24
3
[PATCH net-next v2] drivers: net: virtio_net: Implement a dev_watchdog handler
...(dev, i); WARN_ONCE(1, KERN_INFO "NETDEV WATCHDOG: %s (%s): transmit queue %u timed out\n", dev->name, netdev_drivername(dev), i); - dev->netdev_ops->ndo_tx_timeout(dev); + dev->netdev_ops->ndo_tx_timeout(dev, i); } if (!mod_timer(&dev->watchdog_timer, round_jiffies(jiffies +
2019 Nov 24
3
[PATCH net-next v2] drivers: net: virtio_net: Implement a dev_watchdog handler
...(dev, i); WARN_ONCE(1, KERN_INFO "NETDEV WATCHDOG: %s (%s): transmit queue %u timed out\n", dev->name, netdev_drivername(dev), i); - dev->netdev_ops->ndo_tx_timeout(dev); + dev->netdev_ops->ndo_tx_timeout(dev, i); } if (!mod_timer(&dev->watchdog_timer, round_jiffies(jiffies +
2019 Nov 24
0
[PATCH net-next v2] drivers: net: virtio_net: Implement a dev_watchdog handler
...(dev, i); WARN_ONCE(1, KERN_INFO "NETDEV WATCHDOG: %s (%s): transmit queue %u timed out\n", dev->name, netdev_drivername(dev), i); - dev->netdev_ops->ndo_tx_timeout(dev); + dev->netdev_ops->ndo_tx_timeout(dev, i); } if (!mod_timer(&dev->watchdog_timer, round_jiffies(jiffies +
2019 Nov 24
1
[PATCH net-next v2] drivers: net: virtio_net: Implement a dev_watchdog handler
On Sun, 24 Nov 2019 18:29:49 -0500, Michael S. Tsirkin wrote: > netdev: pass the stuck queue to the timeout handler > > This allows incrementing the correct timeout statistic without any mess. > Down the road, devices can learn to reset just the specific queue. FWIW Acked-by: Jakub Kicinski <jakub.kicinski at netronome.com>