[PATCH 00/21] nohz patches for 3.12 preview v2

From: Frederic Weisbecker
Date: Fri Jul 26 2013 - 19:43:01 EST


This is a respin of the series that optimize full dynticks off-case with
static keys. It seems that some distros are interested in full dynticks so we
need to optimize the off case such that unconcerned users are not impacted
by performance regressions.

Thanks to Steve for his reviews on the previous version! I hope the
changelogs and comments are better in this version.


Changes since last posting:

* Rebase against 3.11-rc2

* Dropped because merged in -tip through urgent queue:
nohz: Do not warn about unstable tsc unless user uses nohz_full
nohz: fix compile warning in tick_nohz_init()

Reported by Steve:

* Fix confusing comments in [03/21]
* Fix confusing changelog [05/21]
* Split [05/21] with new patch to enhance CONFIG_CONTEXT_TRACKING_FORCE
Kconfig help text, see [06/21]


* Fix missing exported symbol, clarify changes by seperating guest APIs
optimization in a seperate patch [09/21]


* Use static keys on full dynticks APIs [19-21/21]

You can snort from:



Frederic Weisbecker (21):
sched: Consolidate open coded preemptible() checks
context_tracing: Fix guest accounting with native vtime
vtime: Update a few comments
context_tracking: Fix runtime CPU off-case
nohz: Only enable context tracking on full dynticks CPUs
context_tracking: Remove full dynticks' hacky dependency on wide context tracking
context_tracking: Ground setup for static key use
context_tracking: Optimize main APIs off case with static key
context_tracking: Optimize guest APIs off case with static key
context_tracking: Optimize context switch off case with static keys
context_tracking: User/kernel broundary cross trace events
vtime: Remove a few unneeded generic vtime state checks
vtime: Fix racy cputime delta update
context_tracking: Split low level state headers
vtime: Describe overriden functions in dedicated arch headers
vtime: Optimize full dynticks accounting off case with static keys
vtime: Always scale generic vtime accounting results
vtime: Always debug check snapshot source _before_ updating it
nohz: Rename a few state variables
nohz: Optimize full dynticks state checks with static keys
nohz: Optimize full dynticks's sched hooks with static keys

arch/ia64/include/asm/Kbuild | 1 +
arch/powerpc/include/asm/Kbuild | 1 +
arch/s390/include/asm/cputime.h | 3 -
arch/s390/include/asm/vtime.h | 7 ++
arch/s390/kernel/vtime.c | 1 +
include/linux/context_tracking.h | 120 +++++++++++++++--------------
include/linux/context_tracking_state.h | 39 +++++++++
include/linux/tick.h | 45 +++++++++--
include/linux/vtime.h | 74 ++++++++++++++++--
include/trace/events/context_tracking.h | 58 ++++++++++++++
init/Kconfig | 28 +++++--
kernel/context_tracking.c | 128 ++++++++++++++++++-------------
kernel/sched/core.c | 4 +-
kernel/sched/cputime.c | 53 ++++---------
kernel/time/Kconfig | 1 -
kernel/time/tick-sched.c | 56 ++++++--------
16 files changed, 410 insertions(+), 209 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/