Messages in this thread | | | Date | Tue, 12 Aug 2008 14:00:31 +0200 | From | Pavel Machek <> | Subject | Re: [RFC] Imprecise timers. |
| |
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
| |