Re: [RFC] Imprecise timers.

From: Pavel Machek
Date: Tue Aug 12 2008 - 09:10:58 EST


Hi!

> > > >which will run some time later when the CPU happens to be awake. And a
> > > >non-deferrable timer at the hard deadline, to ensure it really does
> > > >happen by then.
> > > >
> > >
> > > One concern I have is drivers using range_timers thinking that they need
> > > some upper bound, while all they need is a simple deferrable timer. With that
> > > we will have multiple timers waking up the CPU all the time (say, on
> > > different CPUs) problem again. Even without the timers waking up all
> >
> > I don't get it. Who has timers that can be deferred forever? At that
> > point they may simply not set the timer at all, right?
> >
>
> I don't think I said drivers have or need timers that can be deferred forever.
>
> My point is, is it worth the overhead of setting and deleting additional timer,
> just because drivers think that they need to use this new interface,
> need to set a upper bound and come up with random upper bounds.
> Apart from the overhead of setup and teardown we will somewhat negate the
> benefits of deferrable timers as the upper bound hard timers can fire at
> different times waking up the CPUs frequently.

> I understand that some drivers need this kind of upper limit. I am not sure
> whether all drivers need it and if not, how can we restrict drivers from using
> this when they don't really need it.

Do you have example of driver that does NOT need upper limit?

Like... lets take ATA.

submit_command()
if command is not back in ~5 seconds, it probably timed out.

So you set soft limit to 5 seconds, and hard limit to 10. You
definitely want user to know something is wrong after 10 seconds,
right?

Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
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/