Re: [PATCH 3/4] Make net watchdog timers 1 sec jiffy aligned
From: Stephen Hemminger <hidden>
Date: 2007-05-30 18:32:36
Also in:
lkml
On Wed, 30 May 2007 10:59:36 -0700 Andrew Morton [off-list ref] wrote:
On Tue, 29 May 2007 11:01:13 -0700 Venki Pallipadi [off-list ref] wrote:quoted
round_jiffies for net dev watchdog timer. Signed-off-by: Venkatesh Pallipadi <redacted> 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. -- Stephen Hemminger [off-list ref]