[lkml]   [2014]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[Query]: hrtimer: Does switch_hrtimer_base() need to check hrtimer_check_target()?
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:


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() ??


 \ /
  Last update: 2014-03-28 12:41    [W:0.039 / U:1.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site