android_kernel_xiaomi_sm8350/arch/i386/kernel
Andi Kleen 72690a2118 [PATCH] x86: Don't use nested idle loops
Currently the idle loop has two nested loops -- one high level
in cpu_idle and in some low level idle functions another one.

Looping in the low level idle functions breaks the idle notifiers
because interrupts waking up sleep states need to execute
exit_idle() which is only in cpu_idle().

So don't do that, only loop in cpu_idle(). This only removes
code.

In some cases e.g. poll_idle the idle loop is a little longer
now because cpu_idle checks more things. I hope that isn't a problem
ACPI idle doesn't change behaviour because it never looped anyways.

Cc: len.brown@intel.com
Cc: eranian@hpl.hp.com
Signed-off-by: Andi Kleen <ak@suse.de>
2006-12-07 02:14:03 +01:00
..
acpi [PATCH] severing fs.h, radix-tree.h -> sched.h 2006-12-04 02:00:24 -05:00
cpu [PATCH] i386: Implement "current" with the PDA 2006-12-07 02:14:03 +01:00
.gitignore
alternative.c [PATCH] severing module.h->sched.h 2006-12-04 02:00:22 -05:00
apic.c [PATCH] i386: irqs build fix 2006-10-06 08:53:39 -07:00
apm.c [PATCH] APM: URL of APM 1.2 specs has changed 2006-10-30 12:08:42 -08:00
asm-offsets.c [PATCH] i386: Implement "current" with the PDA 2006-12-07 02:14:03 +01:00
bootflag.c
cpuid.c Driver core: convert cpuid code to use struct device 2006-12-01 14:52:00 -08:00
crash_dump.c
crash.c
doublefault.c
early_printk.c
efi_stub.S
efi.c
entry.S [PATCH] i386: Implement smp_processor_id() with the PDA 2006-12-07 02:14:03 +01:00
head.S [PATCH] i386: Use %gs as the PDA base-segment in the kernel 2006-12-07 02:14:02 +01:00
hpet.c [PATCH] i386: add missing iounmap in i386 hpet clocksource code 2006-12-07 02:14:02 +01:00
i386_ksyms.c
i387.c
i8237.c
i8253.c [PATCH] i386 Time: Avoid PIT SMP lockups 2006-10-17 08:18:42 -07:00
i8259.c [PATCH] genirq: clean up irq-flow-type naming 2006-10-17 08:18:45 -07:00
init_task.c
io_apic.c [PATCH] Use delayed disable mode of ioapic edge triggered interrupts 2006-11-15 09:04:32 -08:00
ioport.c
irq.c [PATCH] genirq: clean up irq-flow-type naming 2006-10-17 08:18:45 -07:00
kprobes.c [PATCH] kretprobe: fix kretprobe-booster to save regs and set status 2006-11-08 18:29:24 -08:00
ldt.c [PATCH] i386: remove default_ldt, and simplify ldt-setting. 2006-12-07 02:14:01 +01:00
machine_kexec.c
Makefile
mca.c
microcode.c [PATCH] Regression in 2.6.19-rc microcode driver 2006-11-08 18:29:22 -08:00
module.c
mpparse.c
msr.c Driver core: convert msr code to use struct device 2006-12-01 14:52:00 -08:00
nmi.c [PATCH] x86: all cpu backtrace 2006-12-07 02:14:01 +01:00
numaq.c
pci-dma.c PCI: arch/i386/kernel/pci-dma.c: ioremap balanced with iounmap 2006-12-01 14:36:59 -08:00
process.c [PATCH] x86: Don't use nested idle loops 2006-12-07 02:14:03 +01:00
ptrace.c [PATCH] i386: Fix places where using %gs changes the usermode ABI 2006-12-07 02:14:02 +01:00
quirks.c
reboot_fixups.c
reboot.c
relocate_kernel.S
scx200.c
setup.c [PATCH] fix efi_memory_present_wrapper() 2006-10-28 11:30:51 -07:00
sigframe.h
signal.c [PATCH] i386: Use %gs as the PDA base-segment in the kernel 2006-12-07 02:14:02 +01:00
smp.c
smpboot.c [PATCH] i386: Initialize the per-CPU data area 2006-12-07 02:14:02 +01:00
srat.c
summit.c
sys_i386.c
syscall_table.S [PATCH] epoll_pwait() 2006-10-11 11:14:21 -07:00
sysenter.c
time_hpet.c [PATCH] i386: Add iounmap in error paths in hpet code 2006-12-07 02:14:02 +01:00
time.c arch/i386/kernel/time: don't shadow 'irq' function arg 2006-10-06 13:32:44 -04:00
topology.c
trampoline.S
traps.c [PATCH] i386: add sleazy FPU optimization 2006-12-07 02:14:01 +01:00
tsc.c [PATCH] i386 Time: Avoid PIT SMP lockups 2006-10-17 08:18:42 -07:00
vm86.c [PATCH] i386: Update sys_vm86 to cope with changed pt_regs and %gs usage 2006-12-07 02:14:03 +01:00
vmlinux.lds.S [PATCH] i386: Force data segment to be 4K aligned 2006-11-08 18:29:23 -08:00
vsyscall-int80.S
vsyscall-note.S
vsyscall-sigreturn.S
vsyscall-sysenter.S
vsyscall.lds.S
vsyscall.S