Messages in this thread | | | Date | Mon, 13 Dec 2004 20:12:49 +0100 | From | Pavel Machek <> | Subject | Re: dynamic-hz |
| |
Hi!
> > But that does not matter, right? Yes, one-shot timer will not fire > > exactly at right place, but as long as you are reading TSC and basing > > next shot on current time, error should not accumulate. > > As said in the rest of the message, the error (or some other error) > accumulates heavily today in the tick-loss compensation/adjustment > algorithm in arch/i386/kernel/timers/timer_tsc.c, so I'm sceptical > about
I do not see how it should accumulate. Lets have working TSC. You want to emulate fixed-period timer with single-shot timer.
int should_fire_at;
void handle_single_shot() { int delay; retry:n should_fire_at += loops_per_second/HZ delay = should_fire_at - get_tsc(); if (delay < 0) goto retry; do_single_shot_in(delay); }
I'm not sure what's broken with compensation code, but using single-shot timer is not broken in theory.
> > [..] for their patent abuse against Java. > > java isn't open source regardless of patents, use python instead ;).
Yes, java is bad, but using patents against it is evil, too. Plus python does not yet run on my cellphone ;-). Pavel -- People were complaining that M$ turns users into beta-testers... ...jr ghea gurz vagb qrirybcref, naq gurl frrz gb yvxr vg gung jnl! - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |