Re: [patch] change futex_wait() to hrtimers
From: Ingo Molnar
Date: Mon Mar 12 2007 - 08:22:22 EST
* Nick Piggin <npiggin@xxxxxxx> wrote:
> > > > the issue is this: your fix reduces the effects of the bug but
> > > > it is still fundamentally incomplete because of the use of
> > > > timer_list. So
> > >
> > > But using schedule_timeout is not a bug. Userspace timeouts are
> > > always defined to be "at least".
> >
> > but what you are adding isnt a plain schedule_timeout(), it is a
> > restart block handling loop. And for those restart blocks that
> > relate to timeouts, we only use hrtimers. I am not making this up to
> > annoy you: take a look at all the current restart block handlers -
> > they are hrtimer based, for exactly this reason.
>
> So why do you say it is fundamentally incomplete?
because i misread your last patch :-) I thought it still has a window
for inaccuracy, but you are right: it should be at most 1 jiffy
inaccurate, no matter how many times we restart.
still ... the hrtimers patch has been submitted to lkml before yours,
and has been tested extensively, so why go the extra side-jump
prolonging the jiffies sleep method? The LTP failure has been there
since the inception of the futex code i suspect. Going this way also
enables the addressing of a more pressing need: the elimination of
glibc's forced use of relative futex timeouts.
Ingo
-
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/