From: Venki Pallipadi <venkatesh.pallipadi@intel.com>
To: Stephen Hemminger <shemminger@linux-foundation.org>
Cc: David Miller <davem@davemloft.net>,
kaber@trash.net, akpm@linux-foundation.org,
venkatesh.pallipadi@intel.com, linux-kernel@vger.kernel.org,
netdev@vger.kernel.org
Subject: Re: [PATCH 3/4] Make net watchdog timers 1 sec jiffy aligned
Date: Wed, 30 May 2007 14:35:41 -0700 [thread overview]
Message-ID: <20070530213541.GA13953@linux-os.sc.intel.com> (raw)
In-Reply-To: <20070530133039.7feb2064@freepuppy>
On Wed, May 30, 2007 at 01:30:39PM -0700, Stephen Hemminger wrote:
> On Wed, 30 May 2007 12:55:51 -0700 (PDT)
> David Miller <davem@davemloft.net> wrote:
>
> > From: Patrick McHardy <kaber@trash.net>
> > Date: Wed, 30 May 2007 20:42:32 +0200
> >
> > > 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 ..
> >
> > I agree, this change is absolutely rediculious and is just a blind
> > cookie-cutter change made without consideration of what the code is
> > doing and what it's requirements are.
> >
>
> what about the obvious compromise:
>
> --- a/net/sched/sch_generic.c 2007-05-30 11:42:18.000000000 -0700
> +++ b/net/sched/sch_generic.c 2007-05-30 13:29:34.000000000 -0700
> @@ -203,7 +203,11 @@ static void dev_watchdog(unsigned long a
> dev->name);
> dev->tx_timeout(dev);
> }
> - if (!mod_timer(&dev->watchdog_timer, round_jiffies(jiffies + dev->watchdog_timeo)))
> +
> + if (!mod_timer(&dev->watchdog_timer,
> + dev->watchdog_timeo > 2 * HZ
> + ? round_jiffies(jiffies + dev->watchdog_timeo)
> + : jiffies + dev->watchdog_timeo))
> dev_hold(dev);
> }
> }
>
>
If this does not work:
Another option is to use 'deferrable timer' here which will be called at
same as before time when CPU is busy and on idle CPU it will be delayed until
CPU comes out of idle due to any other events.
Thanks,
Venki
next prev parent reply other threads:[~2007-05-30 21:39 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20070529180112.GC5411@linux-os.sc.intel.com>
2007-05-30 17:59 ` [PATCH 3/4] Make net watchdog timers 1 sec jiffy aligned Andrew Morton
2007-05-30 18:20 ` Stephen Hemminger
2007-05-30 18:42 ` Patrick McHardy
2007-05-30 19:15 ` Venki Pallipadi
2007-05-30 19:32 ` Patrick McHardy
2007-05-30 19:55 ` David Miller
2007-05-30 20:30 ` Stephen Hemminger
2007-05-30 21:35 ` Venki Pallipadi [this message]
2007-05-31 10:36 ` Andi Kleen
2007-05-30 21:10 ` Venki Pallipadi
2007-05-30 22:10 ` Matt Mackall
2007-05-30 22:29 ` David Miller
2007-05-30 22:36 ` Matt Mackall
2007-05-30 23:02 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070530213541.GA13953@linux-os.sc.intel.com \
--to=venkatesh.pallipadi@intel.com \
--cc=akpm@linux-foundation.org \
--cc=davem@davemloft.net \
--cc=kaber@trash.net \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=shemminger@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).