Ingo,

Please consider the following branch:

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
        timers/nohz-posix-timers

Posix cpu timers, perf events tick and sched clock tick need to be
handled in two parts:

1) When a posix cpu timer is enqueued, a list head in perf rotation list is 
added
or the sched clock is marked unstable, we need to kick the full dynticks CPUs 
by way
of IPIs so that they reconsider their tick state.

2) Before a full dynticks CPU decides to stop its tick, check if there are 
posix cpu timers
in the queue, that perf rotation list isn't empty and that sched clock is 
stable before
shutting down the tick.

This branch handles the first part (which is the trickiest) for posix cpu timers
and also settles the necessary infrastructure to do the same for perf and sched 
clock
in further pull requests.

As usual, the approach can be further optimized but it's not yet optimization 
time.

Thanks.

Frederic Weisbecker (3):
  nohz: New APIs to re-evaluate the tick on full dynticks CPUs
  posix_timers: Defer per process timer stop after timers processing
  posix_timers: Kick full dynticks CPUs when a posix cpu timer is armed

 include/linux/tick.h      |    4 +++
 kernel/posix-cpu-timers.c |   35 ++++++++++++++++++++++++++++--
 kernel/time/Kconfig       |    1 +
 kernel/time/tick-sched.c  |   51 +++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 88 insertions(+), 3 deletions(-)

-- 
1.7.5.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@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 via email to