android_kernel_xiaomi_sm8350/arch/x86_64/kernel
Thomas Gleixner e66485d747 x86-64: Disable local APIC timer use on AMD systems with C1E
commit 3556ddfa92 titled

 [PATCH] x86-64: Disable local APIC timer use on AMD systems with C1E

solves a problem with AMD dual core laptops e.g. HP nx6325 (Turion 64
X2) with C1E enabled:

When both cores go into idle at the same time, then the system switches
into C1E state, which is basically the same as C3. This stops the local
apic timer.

This was debugged right after the dyntick merge on i386 and despite the
patch title it fixes only the 32 bit path.

x86_64 is still missing this fix. It seems that mainline is not really
affected by this issue, as the PIT is running and keeps jiffies
incrementing, but that's just waiting for trouble.

-mm suffers from this problem due to the x86_64 high resolution timer
patches.

This is a quick and dirty port of the i386 code to x86_64.

I spent quite a time with Rafael to debug the -mm / hrt wreckage until
someone pointed us to this. I really had forgotten that we debugged this
half a year ago already.

Sigh, is it just me or is there something yelling arch/x86 into my ear?

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-09-26 09:22:04 -07:00
..
acpi [acpi] Correct the decoding of video mode numbers in wakeup.S 2007-09-20 11:06:58 -07:00
cpufreq [CPUFREQ] the overdue removal of X86_SPEEDSTEP_CENTRINO_ACPI 2007-07-13 01:29:51 -04:00
aperture.c x86_64: arch/x86_64/kernel/aperture.c lower printk severity 2007-07-21 18:37:14 -07:00
apic.c x86_64: fix HPET init race 2007-08-11 15:47:39 -07:00
asm-offsets.c
audit.c
bugs.c x86_64: include asm/bugs.h in bugs.c for check_bugs prototype 2007-07-31 15:39:42 -07:00
crash_dump.c
crash.c
e820.c x86_64: arch/x86_64/kernel/e820.c lower printk severity 2007-07-21 18:37:14 -07:00
early_printk.c xen: use the hvc console infrastructure for Xen console 2007-07-18 08:47:44 -07:00
early-quirks.c x86_64: move iommu declaration from proto to iommu.h 2007-07-21 18:37:14 -07:00
entry.S remove unused TIF_NOTIFY_RESUME flag 2007-07-31 15:39:38 -07:00
genapic_flat.c
genapic.c
head64.c
head.S x86_64: Change PMDS invocation to single macro 2007-08-18 10:25:25 -07:00
hpet.c x86_64: fix section mismatch warning in hpet.c 2007-07-22 11:03:38 -07:00
i387.c
i8259.c x86_64: Move functions declarations to header file 2007-07-21 18:37:12 -07:00
init_task.c use the new percpu interface for shared data 2007-07-19 10:04:45 -07:00
io_apic.c ACPI: boot correctly with "nosmp" or "maxcpus=0" 2007-08-21 00:33:35 -04:00
ioport.c
irq.c x86_64 irq: use mask/unmask and proper locking in fixup_irqs() 2007-06-26 16:54:29 -07:00
k8.c
kprobes.c x86: Fix alternatives and kprobes to remap write-protected kernel text 2007-07-22 11:03:37 -07:00
ldt.c
machine_kexec.c
Makefile revert "x86, serial: convert legacy COM ports to platform devices" 2007-07-31 15:39:38 -07:00
mce_amd.c x86_64: Fix APIC typo 2007-07-21 18:37:09 -07:00
mce_intel.c
mce.c x86: Stop MCEs and NMIs during code patching 2007-07-22 11:03:37 -07:00
module.c
mpparse.c x86_64: remove unused variable maxcpus 2007-07-21 18:37:09 -07:00
nmi.c x86_64: Fix to keep watchdog disabled by default for i386/x86_64 2007-08-18 10:25:25 -07:00
pci-calgary.c x86_64: Calgary - Fix mis-handled PCI topology 2007-08-11 15:58:12 -07:00
pci-dma.c x86_64: Fail dma_alloc_coherent on dma less devices 2007-08-18 10:25:25 -07:00
pci-gart.c x86_64: move iommu declaration from proto to iommu.h 2007-07-21 18:37:14 -07:00
pci-nommu.c x86_64: move iommu declaration from proto to iommu.h 2007-07-21 18:37:14 -07:00
pci-swiotlb.c x86_64: move iommu declaration from proto to iommu.h 2007-07-21 18:37:14 -07:00
pmtimer.c
process.c Revert "x86_64: Quicklist support for x86_64" 2007-09-21 12:09:41 -07:00
ptrace.c x86_64: Zero extend all registers after ptrace in 32bit entry path. 2007-09-21 09:52:07 -07:00
reboot.c x86_64: move iommu declaration from proto to iommu.h 2007-07-21 18:37:14 -07:00
relocate_kernel.S
setup64.c x86_64: Ignore compat mode SYSCALL when IA32_EMULATION is not defined 2007-06-22 18:41:19 -07:00
setup.c x86-64: Disable local APIC timer use on AMD systems with C1E 2007-09-26 09:22:04 -07:00
signal.c x86: i386-show-unhandled-signals-v3 2007-07-22 11:03:37 -07:00
smp.c Revert "x86_64: Quicklist support for x86_64" 2007-09-21 12:09:41 -07:00
smpboot.c
stacktrace.c
suspend_asm.S
suspend.c Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION 2007-07-29 16:45:38 -07:00
sys_x86_64.c Remove fs.h from mm.h 2007-07-29 17:09:29 -07:00
syscall.c
tce.c x86-64: Calgary: fix section mismatch warnings in tce 2007-07-31 15:39:37 -07:00
time.c x86_64: use the global PIT lock 2007-07-21 18:37:12 -07:00
trampoline.S
traps.c x86: i386-show-unhandled-signals-v3 2007-07-22 11:03:37 -07:00
tsc_sync.c
tsc.c x86_64: cleanup tsc.c merge artifact 2007-07-26 11:35:20 -07:00
verify_cpu.S Unify the CPU features vectors between i386 and x86-64 2007-07-12 10:55:54 -07:00
vmlinux.lds.S x86_64: Squash initial_code modpost warnings 2007-07-22 11:03:38 -07:00
vsmp.c
vsyscall.c x86_64: Add vDSO for x86-64 with gettimeofday/clock_gettime/getcpu 2007-07-21 18:37:08 -07:00
x8664_ksyms.c