kernel-hacking-2024-linux-s.../arch/x86/kernel
Robert Richter 527e26af37 perf_counter, x86: protect per-cpu variables with compile barriers only
Per-cpu variables needn't to be protected with cpu barriers
(smp_wmb()). Protection is only needed for preemption on the same cpu
(rescheduling or the nmi handler). This can be done using a compiler
barrier only.

[ Impact: micro-optimization ]

Signed-off-by: Robert Richter <robert.richter@amd.com>
Cc: Paul Mackerras <paulus@samba.org>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <1241002046-8832-6-git-send-email-robert.richter@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-04-29 14:51:02 +02:00
..
acpi Merge branch 'linus' into release 2009-04-05 02:14:15 -04:00
apic Merge branch 'linus' into perfcounters/core 2009-04-29 14:47:05 +02:00
cpu perf_counter, x86: protect per-cpu variables with compile barriers only 2009-04-29 14:51:02 +02:00
.gitignore
alternative.c
amd_iommu.c
amd_iommu_init.c
aperture_64.c
apm_32.c
asm-offsets.c
asm-offsets_32.c
asm-offsets_64.c
audit_64.c
bios_uv.c
bootflag.c
check.c
cpuid.c
crash.c
crash_dump_32.c
crash_dump_64.c
doublefault_32.c
ds.c
dumpstack.c
dumpstack.h
dumpstack_32.c
dumpstack_64.c
e820.c
early-quirks.c
early_printk.c
efi.c
efi_32.c
efi_64.c
efi_stub_32.S
efi_stub_64.S
entry_32.S
entry_64.S Merge branch 'linus' into perfcounters/core 2009-04-29 14:47:05 +02:00
ftrace.c tracing/syscalls: use a dedicated file header 2009-04-09 05:43:32 +02:00
geode_32.c
head.c
head32.c
head64.c
head_32.S
head_64.S
hpet.c x86: hpet: fix periodic mode programming on AMD 81xx 2009-04-22 15:53:40 +02:00
i386_ksyms_32.c
i387.c
i8237.c
i8253.c clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
i8259.c
init_task.c
io_delay.c
ioport.c
irq.c Merge branch 'linus' into perfcounters/core 2009-04-29 14:47:05 +02:00
irq_32.c
irq_64.c
irqinit_32.c perf_counter: x86: self-IPI for pending work 2009-04-07 10:48:56 +02:00
irqinit_64.c perf_counter: x86: self-IPI for pending work 2009-04-07 10:48:56 +02:00
k8.c
kdebugfs.c
kgdb.c
kprobes.c
kvm.c
kvmclock.c clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
ldt.c
machine_kexec_32.c
machine_kexec_64.c
Makefile
mca_32.c
mfgpt_32.c
microcode_amd.c
microcode_core.c Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-04-17 09:56:11 -07:00
microcode_intel.c
mmconf-fam10h_64.c
module_32.c
module_64.c
mpparse.c x86: Fix section mismatches in mpparse 2009-04-12 12:32:18 +02:00
msr.c
olpc.c
paravirt-spinlocks.c
paravirt.c
paravirt_patch_32.c
paravirt_patch_64.c
pci-calgary_64.c
pci-dma.c dma-mapping: replace all DMA_24BIT_MASK macro with DMA_BIT_MASK(24) 2009-04-07 08:31:12 -07:00
pci-gart_64.c
pci-nommu.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
pci-swiotlb.c x86: pci-swiotlb.c swiotlb_dma_ops should be static 2009-04-14 02:51:04 +02:00
pcspeaker.c
pmtimer_64.c
probe_roms_32.c
process.c Merge branch 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-04-05 11:04:19 -07:00
process_32.c
process_64.c
ptrace.c tracing/syscalls: use a dedicated file header 2009-04-09 05:43:32 +02:00
pvclock.c
quirks.c x86, hpet: Stop soliciting hpet=force users on ICH4M 2009-04-24 08:41:39 +02:00
reboot.c x86: DMI match for the Dell DXP061 as it needs BIOS reboot 2009-04-08 17:53:27 +02:00
reboot_fixups_32.c
relocate_kernel_32.S
relocate_kernel_64.S
rtc.c
scx200_32.c
setup.c
setup_percpu.c
signal.c perf_counter: unify and fix delayed counter wakeup 2009-04-06 09:30:36 +02:00
smp.c
smpboot.c
stacktrace.c
step.c
sys_i386_32.c
sys_x86_64.c
syscall_64.c
syscall_table_32.S Merge branch 'linus' into perfcounters/core-v2 2009-04-06 09:02:57 +02:00
tce_64.c
test_nx.c
test_rodata.c
time_32.c
time_64.c
tlb_uv.c Merge branch 'x86/uv' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-04-16 16:43:20 -07:00
tls.c
tls.h
topology.c
trampoline.c
trampoline_32.S
trampoline_64.S
traps.c Merge branch 'linus' into perfcounters/core-v2 2009-04-06 09:02:57 +02:00
tsc.c clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
tsc_sync.c
uv_irq.c
uv_sysfs.c x86: prevent /sys/firmware/sgi_uv from being created on non-uv systems 2009-04-08 14:58:10 +02:00
uv_time.c uv_time: add parameter to uv_read_rtc() 2009-04-22 17:41:25 +02:00
verify_cpu_64.S
visws_quirks.c
vm86_32.c
vmi_32.c
vmiclock_32.c clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
vmlinux.lds.S
vmlinux_32.lds.S
vmlinux_64.lds.S
vsmp_64.c
vsyscall_64.c
x8664_ksyms_64.c
xsave.c x86-64: fix FPU corruption with signals and preemption 2009-04-20 14:33:00 -07:00