behavior of hrtimers scheduled to expire in the past - Kernel

This is a discussion on behavior of hrtimers scheduled to expire in the past - Kernel ; 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 ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: behavior of hrtimers scheduled to expire in the past

  1. behavior of hrtimers scheduled to expire in the past

    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?

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

  2. Re: behavior of hrtimers scheduled to expire in the past

    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@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

+ Reply to Thread