Re: [patch 5/8] hrtimer remove state field

From: Roman Zippel
Date: Sun Mar 12 2006 - 08:53:16 EST


Hi,

On Sun, 12 Mar 2006, Thomas Gleixner wrote:

> On Sun, 2006-03-12 at 14:26 +0100, Roman Zippel wrote:
> > > softirq runs on CPU0
> > > base->lock()
> > >
> > > remove_timer(timer);
> > >
> > > base->unlock()
> > > signal of previous expiry is delivered on CPU1
> > > timer is reqeued.
>
> -------> sig_ignore is set

??? I can't find any symbol 'sig_ignore'.

> > > requeue = timer->fn();
> > >
> > > base->lock()
> > >
> > > if (requeue)
> > > enqueue_timer(timer)
> > >

What actually happened is that requeue is false and in the meantime the
timer was restarted on another cpu via signal delivery and
run_hrtimer_queue would set the state to expired, while the timer was
still active -> OOPS.

bye, Roman
-
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/