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