sched/clock, x86: Avoid a runtime condition in native_sched_clock()
authorPeter Zijlstra <peterz@infradead.org>
Thu, 28 Nov 2013 18:01:40 +0000 (19:01 +0100)
committerIngo Molnar <mingo@kernel.org>
Mon, 13 Jan 2014 14:13:17 +0000 (15:13 +0100)
commit10b033d434c25a6c9e0f4f4dc2418af1b8236c63
tree6d152d9953a9d8106978dbc84217c1f695df9ffe
parent6577e42a3e1633afe762f47da9e00061ee4b9a5e
sched/clock, x86: Avoid a runtime condition in native_sched_clock()

Use a static_key to avoid touching tsc_disabled and a runtime
condition in native_sched_clock() -- less cachelines touched is always
better.

                        MAINLINE   PRE       POST

    sched_clock_stable: 1          1         1
    (cold) sched_clock: 329841     215295    213039
    (cold) local_clock: 301773     220773    216084
    (warm) sched_clock: 38375      25659     25231
    (warm) local_clock: 100371     27242     27601
    (warm) rdtsc:       27340      24208     24203
    sched_clock_stable: 0          0         0
    (cold) sched_clock: 382634     237019    240055
    (cold) local_clock: 396890     294819    299942
    (warm) sched_clock: 38194      25609     25276
    (warm) local_clock: 143452     71232     73232
    (warm) rdtsc:       27345      24243     24244

Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Link: http://lkml.kernel.org/n/tip-hrz87bo37qke25bty6pnfy4b@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/kernel/tsc.c