linux-stable/arch/x86/platform/uv
Peter Zijlstra 20d1c86a57 sched/clock, x86: Rewrite cyc2ns() to avoid the need to disable IRQs
Use a ring-buffer like multi-version object structure which allows
always having a coherent object; we use this to avoid having to
disable IRQs while reading sched_clock() and avoids a problem when
getting an NMI while changing the cyc2ns data.

                        MAINLINE   PRE        POST

    sched_clock_stable: 1          1          1
    (cold) sched_clock: 329841     331312     257223
    (cold) local_clock: 301773     310296     309889
    (warm) sched_clock: 38375      38247      25280
    (warm) local_clock: 100371     102713     85268
    (warm) rdtsc:       27340      27289      24247
    sched_clock_stable: 0          0          0
    (cold) sched_clock: 382634     372706     301224
    (cold) local_clock: 396890     399275     399870
    (warm) sched_clock: 38194      38124      25630
    (warm) local_clock: 143452     148698     129629
    (warm) rdtsc:       27345      27365      24307

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-s567in1e5ekq2nlyhn8f987r@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2014-01-13 15:13:06 +01:00
..
bios_uv.c x86: Fix files explicitly requiring export.h for EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:30:35 -04:00
Makefile x86/UV: Move NMI support 2013-09-24 09:02:02 +02:00
tlb_uv.c sched/clock, x86: Rewrite cyc2ns() to avoid the need to disable IRQs 2014-01-13 15:13:06 +01:00
uv_irq.c Merge branch 'x86/cleanups' into x86/apic 2012-06-15 14:17:01 +02:00
uv_nmi.c x86/dumpstack: Fix printk_address for direct addresses 2013-11-12 21:06:06 +01:00
uv_sysfs.c driver-core: remove sysdev.h usage. 2011-12-21 16:26:03 -08:00
uv_time.c x86/platform/uv: Replace kmalloc() & memset with kzalloc() 2013-03-11 08:33:01 +01:00