Re: behavior of hrtimers scheduled to expire in the past

From: Thomas Gleixner
Date: Tue Oct 21 2008 - 04:10:42 EST


On Mon, 20 Oct 2008, Daniel Rosenthal wrote:

> What is the intended behavior for an hrtimer that is scheduled to
> expire in the past? I assumed that it would simply be scheduled to
> expire at the nearest available time in the future, but I wrote some
> scheduler code and it looks like hrtimers don't go off at all if they
> are not scheduled to go off at a time which is after rq->clock. Is
> this the intended behavior or is this a bug?

That depends on the callback mode of the hrtimer. The standard ones
are scheduled to the softirq when they are already expired, but those
which are not allowed to run their callback in softirq context are
_not_ enqueued and the caller has to check, whether the timer is
active/enqueued after starting it.

Thanks,

tglx

--
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/