Re: [PATCH 3/4] Make net watchdog timers 1 sec jiffy aligned

From: Patrick McHardy
Date: Wed May 30 2007 - 14:43:31 EST


Stephen Hemminger wrote:
>>>Index: linux-2.6.22-rc-mm/net/sched/sch_generic.c
>>>===================================================================
>>>--- linux-2.6.22-rc-mm.orig/net/sched/sch_generic.c 2007-05-24 11:16:03.000000000 -0700
>>>+++ linux-2.6.22-rc-mm/net/sched/sch_generic.c 2007-05-25 15:10:02.000000000 -0700
>>>@@ -224,7 +224,8 @@
>>> if (dev->tx_timeout) {
>>> if (dev->watchdog_timeo <= 0)
>>> dev->watchdog_timeo = 5*HZ;
>>>- if (!mod_timer(&dev->watchdog_timer, jiffies + dev->watchdog_timeo))
>>>+ if (!mod_timer(&dev->watchdog_timer,
>>>+ round_jiffies(jiffies + dev->watchdog_timeo)))
>>> dev_hold(dev);
>>> }
>>> }
>>
>>Please cc netdev on net patches.
>>
>>Again, I worry that if people set the watchdog timeout to, say, 0.1 seconds
>>then they will get one second, which is grossly different.
>>
>>And if they were to set it to 1.5 seconds, they'd get 2.0 which is pretty
>>significant, too.
>
>
> Alternatively, we could change to a timer that is pushed forward after each
> TX, maybe using hrtimer and hrtimer_forward(). That way the timer would
> never run in normal case.


It seems wasteful to add per-packet overhead for tx timeouts, which
should be an exception. Do drivers really care about the exact
timeout value? Compared to a packet transmission time its incredibly
long anyways ..

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/