* [net-next] net: Provide details on watchdog timeout.
@ 2010-08-09 19:16 Ben Greear
2010-08-09 19:28 ` Stephen Hemminger
0 siblings, 1 reply; 7+ messages in thread
From: Ben Greear @ 2010-08-09 19:16 UTC (permalink / raw)
To: netdev; +Cc: Ben Greear
This also makes it printed under net_ratelimit instead
of WARN_ON_ONCE. The backtrace never helped me much.
Signed-off-by: Ben Greear <greearb@candelatech.com>
---
:100644 100644 2aeb3a4... b52c450... M net/sched/sch_generic.c
net/sched/sch_generic.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
index 2aeb3a4..b52c450 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -253,9 +253,15 @@ static void dev_watchdog(unsigned long arg)
}
if (some_queue_timedout) {
- char drivername[64];
- WARN_ONCE(1, KERN_INFO "NETDEV WATCHDOG: %s (%s): transmit queue %u timed out\n",
- dev->name, netdev_drivername(dev, drivername, 64), i);
+ if (net_ratelimit()) {
+ char drivername[64];
+ printk(KERN_INFO "NETDEV WATCHDOG: %s (%s): "
+ "transmit queue %u timed out"
+ " trans-start: %lu jiffies: %lu\n",
+ dev->name,
+ netdev_drivername(dev, drivername, 64),
+ i, trans_start, jiffies);
+ }
dev->netdev_ops->ndo_tx_timeout(dev);
}
if (!mod_timer(&dev->watchdog_timer,
--
1.6.2.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [net-next] net: Provide details on watchdog timeout.
2010-08-09 19:16 [net-next] net: Provide details on watchdog timeout Ben Greear
@ 2010-08-09 19:28 ` Stephen Hemminger
2010-08-09 20:08 ` David Miller
0 siblings, 1 reply; 7+ messages in thread
From: Stephen Hemminger @ 2010-08-09 19:28 UTC (permalink / raw)
To: Ben Greear; +Cc: netdev
On Mon, 9 Aug 2010 12:16:41 -0700
Ben Greear <greearb@candelatech.com> wrote:
> This also makes it printed under net_ratelimit instead
> of WARN_ON_ONCE. The backtrace never helped me much.
>
> Signed-off-by: Ben Greear <greearb@candelatech.com>
>
Please don't remove the WARN_ because it is used by oops.kernel.org
automated tracking.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [net-next] net: Provide details on watchdog timeout.
@ 2010-08-09 19:59 Ben Greear
2010-08-09 19:59 ` Ben Greear
2010-08-09 20:10 ` David Miller
0 siblings, 2 replies; 7+ messages in thread
From: Ben Greear @ 2010-08-09 19:59 UTC (permalink / raw)
To: netdev; +Cc: Ben Greear
This keeps the WARN_ON but will also log normal kernel messages
after the WARN_ON logic has happened once.
Signed-off-by: Ben Greear <greearb@candelatech.com>
---
:100644 100644 2aeb3a4... 66e6154... M net/sched/sch_generic.c
net/sched/sch_generic.c | 23 ++++++++++++++++++++---
1 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
index 2aeb3a4..66e6154 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -253,9 +253,26 @@ static void dev_watchdog(unsigned long arg)
}
if (some_queue_timedout) {
- char drivername[64];
- WARN_ONCE(1, KERN_INFO "NETDEV WATCHDOG: %s (%s): transmit queue %u timed out\n",
- dev->name, netdev_drivername(dev, drivername, 64), i);
+ static bool do_once = true;
+ if (do_once || net_ratelimit()) {
+ char drivername[64];
+ if (unlikely(do_once)) {
+ WARN(1, KERN_INFO "NETDEV WATCHDOG: %s (%s): "
+ "transmit queue %u timed out"
+ " trans-start: %lu jiffies: %lu\n",
+ dev->name,
+ netdev_drivername(dev, drivername, 64),
+ i, trans_start, jiffies);
+ do_once = false;
+ }
+ else
+ printk(KERN_INFO "NETDEV WATCHDOG: %s (%s): "
+ "transmit queue %u timed out"
+ " trans-start: %lu jiffies: %lu\n",
+ dev->name,
+ netdev_drivername(dev, drivername, 64),
+ i, trans_start, jiffies);
+ }
dev->netdev_ops->ndo_tx_timeout(dev);
}
if (!mod_timer(&dev->watchdog_timer,
--
1.6.2.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [net-next] net: Provide details on watchdog timeout.
2010-08-09 19:59 Ben Greear
@ 2010-08-09 19:59 ` Ben Greear
2010-08-09 20:10 ` David Miller
1 sibling, 0 replies; 7+ messages in thread
From: Ben Greear @ 2010-08-09 19:59 UTC (permalink / raw)
To: Ben Greear; +Cc: netdev
On 08/09/2010 12:59 PM, Ben Greear wrote:
> This keeps the WARN_ON but will also log normal kernel messages
> after the WARN_ON logic has happened once.
This is compile-tested only, by the way.
Thanks,
Ben
>
> Signed-off-by: Ben Greear<greearb@candelatech.com>
> ---
> :100644 100644 2aeb3a4... 66e6154... M net/sched/sch_generic.c
> net/sched/sch_generic.c | 23 ++++++++++++++++++++---
> 1 files changed, 20 insertions(+), 3 deletions(-)
>
> diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
> index 2aeb3a4..66e6154 100644
> --- a/net/sched/sch_generic.c
> +++ b/net/sched/sch_generic.c
> @@ -253,9 +253,26 @@ static void dev_watchdog(unsigned long arg)
> }
>
> if (some_queue_timedout) {
> - char drivername[64];
> - WARN_ONCE(1, KERN_INFO "NETDEV WATCHDOG: %s (%s): transmit queue %u timed out\n",
> - dev->name, netdev_drivername(dev, drivername, 64), i);
> + static bool do_once = true;
> + if (do_once || net_ratelimit()) {
> + char drivername[64];
> + if (unlikely(do_once)) {
> + WARN(1, KERN_INFO "NETDEV WATCHDOG: %s (%s): "
> + "transmit queue %u timed out"
> + " trans-start: %lu jiffies: %lu\n",
> + dev->name,
> + netdev_drivername(dev, drivername, 64),
> + i, trans_start, jiffies);
> + do_once = false;
> + }
> + else
> + printk(KERN_INFO "NETDEV WATCHDOG: %s (%s): "
> + "transmit queue %u timed out"
> + " trans-start: %lu jiffies: %lu\n",
> + dev->name,
> + netdev_drivername(dev, drivername, 64),
> + i, trans_start, jiffies);
> + }
> dev->netdev_ops->ndo_tx_timeout(dev);
> }
> if (!mod_timer(&dev->watchdog_timer,
--
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [net-next] net: Provide details on watchdog timeout.
2010-08-09 19:28 ` Stephen Hemminger
@ 2010-08-09 20:08 ` David Miller
0 siblings, 0 replies; 7+ messages in thread
From: David Miller @ 2010-08-09 20:08 UTC (permalink / raw)
To: shemminger; +Cc: greearb, netdev
From: Stephen Hemminger <shemminger@vyatta.com>
Date: Mon, 9 Aug 2010 15:28:20 -0400
> On Mon, 9 Aug 2010 12:16:41 -0700
> Ben Greear <greearb@candelatech.com> wrote:
>
>> This also makes it printed under net_ratelimit instead
>> of WARN_ON_ONCE. The backtrace never helped me much.
>>
>> Signed-off-by: Ben Greear <greearb@candelatech.com>
>>
>
> Please don't remove the WARN_ because it is used by oops.kernel.org
> automated tracking.
Yes, please don't change this, there are automated tools that
know about what this thing spits out and yes the backtrace
needs to be there.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [net-next] net: Provide details on watchdog timeout.
2010-08-09 19:59 Ben Greear
2010-08-09 19:59 ` Ben Greear
@ 2010-08-09 20:10 ` David Miller
2010-08-09 20:12 ` Ben Greear
1 sibling, 1 reply; 7+ messages in thread
From: David Miller @ 2010-08-09 20:10 UTC (permalink / raw)
To: greearb; +Cc: netdev
From: Ben Greear <greearb@candelatech.com>
Date: Mon, 9 Aug 2010 12:59:14 -0700
> This keeps the WARN_ON but will also log normal kernel messages
> after the WARN_ON logic has happened once.
>
> Signed-off-by: Ben Greear <greearb@candelatech.com>
I think this warning is fine as-is.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [net-next] net: Provide details on watchdog timeout.
2010-08-09 20:10 ` David Miller
@ 2010-08-09 20:12 ` Ben Greear
0 siblings, 0 replies; 7+ messages in thread
From: Ben Greear @ 2010-08-09 20:12 UTC (permalink / raw)
To: David Miller; +Cc: netdev
On 08/09/2010 01:10 PM, David Miller wrote:
> From: Ben Greear<greearb@candelatech.com>
> Date: Mon, 9 Aug 2010 12:59:14 -0700
>
>> This keeps the WARN_ON but will also log normal kernel messages
>> after the WARN_ON logic has happened once.
>>
>> Signed-off-by: Ben Greear<greearb@candelatech.com>
>
> I think this warning is fine as-is.
Ok, thanks for looking.
Ben
--
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc http://www.candelatech.com
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2010-08-09 20:12 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-09 19:16 [net-next] net: Provide details on watchdog timeout Ben Greear
2010-08-09 19:28 ` Stephen Hemminger
2010-08-09 20:08 ` David Miller
-- strict thread matches above, loose matches on Subject: below --
2010-08-09 19:59 Ben Greear
2010-08-09 19:59 ` Ben Greear
2010-08-09 20:10 ` David Miller
2010-08-09 20:12 ` Ben Greear
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).