android_kernel_xiaomi_sm8350/arch/i386/kernel
Loic Prylli d25c1ba2fa MTRR: Fix race causing set_mtrr to go into infinite loop
Processors synchronization in set_mtrr requires the .gate field to be set
after .count field is properly initialized.  Without an explicit barrier,
the compiler was reordering those memory stores.  That was sometimes
causing a processor (in ipi_handler) to see the .gate change and decrement
.count before the latter is set by set_mtrr() (which then hangs in a
infinite loop with irqs disabled).

Signed-off-by: Loic Prylli <loic@myri.com>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-06 10:23:43 -07:00
..
acpi Remove some unused variables 2007-07-03 18:27:53 -07:00
cpu MTRR: Fix race causing set_mtrr to go into infinite loop 2007-07-06 10:23:43 -07:00
.gitignore
alternative.c Revert "[PATCH] x86: __pa and __pa_symbol address space separation" 2007-05-07 08:44:24 -07:00
apic.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
apm.c apm: fix incorrect comment 2007-05-08 11:15:10 -07:00
asm-offsets.c [PATCH] i386: map enough initial memory to create lowmem mappings 2007-05-02 19:27:16 +02:00
bootflag.c
cpuid.c Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
crash_dump.c
crash.c move die notifier handling to common code 2007-05-08 11:15:04 -07:00
doublefault.c [PATCH] i386: i386 separate hardware-defined TSS from Linux additions 2007-05-02 19:27:13 +02:00
e820.c [PATCH] i386: Drop noisy e820 debugging printks 2007-05-02 19:27:21 +02:00
early_printk.c
efi_stub.S
efi.c EFI: warn only for pre-1.00 system tables 2007-05-08 11:15:10 -07:00
entry.S i386: fix regression, endless loop in ptrace singlestep over an int80 2007-07-06 10:23:43 -07:00
head.S Revert "[PATCH] paravirt: Add startup infrastructure for paravirtualization" 2007-05-10 09:26:53 -07:00
hpet.c
i386_ksyms.c [PATCH] i386: Convert PDA into the percpu section 2007-05-02 19:27:16 +02:00
i387.c
i8237.c
i8253.c
i8259.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
init_task.c
io_apic.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
ioport.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
irq.c [PATCH] i386: Convert PDA into the percpu section 2007-05-02 19:27:16 +02:00
kprobes.c Kprobes: The ON/OFF knob thru debugfs 2007-05-08 11:15:19 -07:00
ldt.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
legacy_serial.c x86, serial: convert legacy COM ports to platform devices 2007-05-08 11:15:23 -07:00
machine_kexec.c
Makefile i386: move common parts of smp into their own file 2007-05-15 08:54:00 -07:00
mca.c
microcode.c microcode: fix section mismatch warning 2007-06-01 08:18:30 -07:00
module.c
mpparse.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
msr.c Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
nmi.c move die notifier handling to common code 2007-05-08 11:15:04 -07:00
numaq.c
paravirt.c Revert "[PATCH] paravirt: Add startup infrastructure for paravirtualization" 2007-05-10 09:26:53 -07:00
pci-dma.c x86: Disable DAC on VIA bridges 2007-06-20 14:27:25 -07:00
pcspeaker.c
process.c SLUB: i386 support 2007-05-12 11:26:22 -07:00
ptrace.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
quirks.c
reboot_fixups.c
reboot.c Work around Dell E520 BIOS reboot bug 2007-06-01 08:18:28 -07:00
relocate_kernel.S
scx200.c
setup.c
sigframe.h
signal.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
smp.c i386: don't check_pgt_cache in flush_tlb_mm 2007-05-17 05:23:05 -07:00
smpboot.c smpboot: fix cachesize comparison in smp_tune_scheduling() 2007-05-31 07:55:16 -07:00
smpcommon.c i386: move common parts of smp into their own file 2007-05-15 08:54:00 -07:00
srat.c
summit.c
sys_i386.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
syscall_table.S signal/timer/event: eventfd wire up x86 arches 2007-05-11 08:29:37 -07:00
sysenter.c [PATCH] i386: In compat mode, the return value here was uninitialized. 2007-05-02 19:27:16 +02:00
time.c
topology.c
trampoline.S [PATCH] i386: Rename boot_gdt_table to boot_gdt 2007-05-02 19:27:10 +02:00
traps.c Revert "ipmi: add new IPMI nmi watchdog handling" 2007-05-14 15:24:24 -07:00
tsc_sync.c
tsc.c [PATCH] i386: remove xtime_lock'ing around cpufreq notifier 2007-05-02 19:27:18 +02:00
verify_cpu.S i386: Enable CX8/PGE CPUID bits early on VIA C3 2007-05-21 09:56:57 -07:00
vm86.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
vmi.c Fix vmi.c compilation 2007-06-01 08:18:27 -07:00
vmiclock.c [PATCH] i386: Convert VMI timer to use clock events 2007-05-02 19:27:16 +02:00
vmlinux.lds.S all-archs: consolidate .data section definition in asm-generic 2007-05-19 09:11:57 +02:00
vsyscall-int80.S
vsyscall-note.S
vsyscall-sigreturn.S
vsyscall-sysenter.S
vsyscall.lds.S [PATCH] i386: VDSO_PRELINK warning fix 2007-05-02 19:27:09 +02:00
vsyscall.S