Hi Thomas,

I couldn't understand one part of hrtimer (obviously there are
others as well, but here I am sure I couldn't understood it :)).

In switch_hrtimer_base() we are calling hrtimer_check_target()
which guarantees this:

/*
 * With HIGHRES=y we do not migrate the timer when it is expiring
 * before the next event on the target cpu because we cannot reprogram
 * the target cpu hardware and we would cause it to fire late.
 *
 * Called with cpu_base->lock of target cpu held.
 */

But switch_hrtimer_base() is only called from one place, i.e.
__hrtimer_start_range_ns() and at the point (where we call
switch_hrtimer_base()) expiration time is not yet known as
we call this routine later:

hrtimer_set_expires_range_ns()

So, do we really need to call hrtimer_check_target() at all
in switch_hrtimer_base()? Or do we need to move
hrtimer_set_expires_range_ns() before calling
switch_hrtimer_base() ??

--
viresh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to