[PATCH 0/7] nohz: Tick dependency mask v3

From: Frederic Weisbecker
Date: Fri Nov 13 2015 - 09:22:19 EST


This series changes the nohz full infrastructure to let subsystems notify
when they have a tick dependency. Checking if we can stop the tick is thus
perfomed in a push rather than a pull model, see previous iterations:
http://lkml.kernel.org/r/1437669735-8786-1-git-send-email-fweisbec@xxxxxxxxx

Changes here:

* Reuse fetch_or()
* Change posix cpu timers to a per thread and signal dependency (we may
want to merge all that to thread level only) instead of global dependency.
* Scheduler tick dependency now is evaluated at the CPU level instead
of the task level. We don't anymore depend on the current task policy
but on the whole tasks of the runqueue. That too can be further optimized.

Only lightly tested, just checking for current state opinions.

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
timers/core-v5

HEAD: ca9e998d0be7e6ef1ffab888436cbabf5446c865

Thanks,
Frederic
---

Frederic Weisbecker (7):
atomic: Export fetch_or()
nohz: New tick dependency mask
perf: Migrate perf to use new tick dependency mask model
sched: Account rr and fifo tasks separately
sched: Migrate sched to use new tick dependency mask model
posix-cpu-timers: Migrate to use new tick dependency mask model
sched-clock: Migrate to use new tick dependency mask model


include/linux/atomic.h | 18 ++++++
include/linux/perf_event.h | 6 --
include/linux/posix-timers.h | 3 -
include/linux/sched.h | 11 +++-
include/linux/tick.h | 21 ++++++
kernel/events/core.c | 22 ++-----
kernel/sched/clock.c | 5 ++
kernel/sched/core.c | 47 ++++++--------
kernel/sched/rt.c | 34 ++++++++++
kernel/sched/sched.h | 49 ++++++++++----
kernel/time/posix-cpu-timers.c | 52 ++++-----------
kernel/time/tick-sched.c | 142 +++++++++++++++++++++++++++++++++--------
kernel/time/tick-sched.h | 1 +
13 files changed, 274 insertions(+), 137 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/