Re: (BUG?) round_jiffies() is non-monotonic on SMP

From: Alan Stern
Date: Sun Nov 02 2008 - 10:40:10 EST


On Sat, 1 Nov 2008, Arjan van de Ven wrote:

> On Sat, 1 Nov 2008 22:36:30 -0400 (EDT)
> Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote:
>
> > On Sat, 1 Nov 2008, Arjan van de Ven wrote:
> >
> > > > Come to think of it, is there any good reason why
> > > > round_jiffies() doesn't always round up? It seems a lot safer.
> > >
> > > at the time folks had concerns about making a big error in that
> > > direction...
> >
> > All right then. Would it be preferable to add a new
> > round_jiffies_up() routine, or to change round_jiffies() so that it
> > never rounds down?
>
> I'd prefer the former.
> But to be honest.. I would even more prefer the use of range timers ;)
> They're in 2.6.28-rc now ... and more power friendly than rounded timers
> (although I will readily admit that rounding is just easier)

I don't know. One of the cases I know about is the timer embedded in a
delayed_work -- it's hard to see how that could be converted.

The other could be converted. But it falls in the category of
"timeouts", as described in Documentation/timers/hrtimers.txt. As
such, it is best suited to an old-style timer rather than a
high-precision timer (according to hrtimers.txt, at least).
Furthermore, there doesn't seem to be any documentation describing how
to use the range timer programming interface.

Under the circumstances, I'm not inclined to do any conversions.

Alan Stern

--
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/