forked from luck/tmp_suning_uos_patched
x86, sched_clock(): mark variables read-mostly
Impact: micro-optimization There's a number of variables in the sched_clock() path that are in .data/.bss - but not marked __read_mostly. This creates the danger of accidental false cacheline sharing with some other, write-often variable. So mark them __read_mostly. Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
8325d9c09d
commit
f24ade3a33
@ -17,20 +17,21 @@
|
|||||||
#include <asm/delay.h>
|
#include <asm/delay.h>
|
||||||
#include <asm/hypervisor.h>
|
#include <asm/hypervisor.h>
|
||||||
|
|
||||||
unsigned int cpu_khz; /* TSC clocks / usec, not used here */
|
unsigned int __read_mostly cpu_khz; /* TSC clocks / usec, not used here */
|
||||||
EXPORT_SYMBOL(cpu_khz);
|
EXPORT_SYMBOL(cpu_khz);
|
||||||
unsigned int tsc_khz;
|
|
||||||
|
unsigned int __read_mostly tsc_khz;
|
||||||
EXPORT_SYMBOL(tsc_khz);
|
EXPORT_SYMBOL(tsc_khz);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TSC can be unstable due to cpufreq or due to unsynced TSCs
|
* TSC can be unstable due to cpufreq or due to unsynced TSCs
|
||||||
*/
|
*/
|
||||||
static int tsc_unstable;
|
static int __read_mostly tsc_unstable;
|
||||||
|
|
||||||
/* native_sched_clock() is called before tsc_init(), so
|
/* native_sched_clock() is called before tsc_init(), so
|
||||||
we must start with the TSC soft disabled to prevent
|
we must start with the TSC soft disabled to prevent
|
||||||
erroneous rdtsc usage on !cpu_has_tsc processors */
|
erroneous rdtsc usage on !cpu_has_tsc processors */
|
||||||
static int tsc_disabled = -1;
|
static int __read_mostly tsc_disabled = -1;
|
||||||
|
|
||||||
static int tsc_clocksource_reliable;
|
static int tsc_clocksource_reliable;
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user