linux/drivers/acpi
Peter Zijlstra ea81174789 sched, idle: Fix the idle polling state logic
Mike reported that commit 7d1a9417 ("x86: Use generic idle loop")
regressed several workloads and caused excessive reschedule
interrupts.

The patch in question failed to notice that the x86 code had an
inverted sense of the polling state versus the new generic code (x86:
default polling, generic: default !polling).

Fix the two prominent x86 mwait based idle drivers and introduce a few
new generic polling helpers (fixing the wrong smp_mb__after_clear_bit
usage).

Also switch the idle routines to using tif_need_resched() which is an
immediate TIF_NEED_RESCHED test as opposed to need_resched which will
end up being slightly different.

Reported-by: Mike Galbraith <bitbucket@online.de>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: lenb@kernel.org
Cc: tglx@linutronix.de
Link: http://lkml.kernel.org/n/tip-nc03imb0etuefmzybzj7sprf@git.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2013-09-25 13:53:10 +02:00
..
acpica ACPICA: Fix for a Store->ArgX when ArgX contains a reference to a field. 2013-09-06 15:39:59 +02:00
apei Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2013-09-04 11:07:04 -07:00
ac.c
acpi_cmos_rtc.c
acpi_ipmi.c
acpi_lpss.c ACPI / LPSS: don't crash if a device has no MMIO resources 2013-09-02 12:59:40 +02:00
acpi_memhotplug.c
acpi_pad.c PTR_RET() is a weird name, and led to some confusing usage. We ended 2013-09-04 17:31:11 -07:00
acpi_platform.c ACPI / scan: Drop unnecessary label from acpi_create_platform_device() 2013-08-07 01:11:33 +02:00
acpi_processor.c ACPI / processor: Acquire writer lock to update CPU maps 2013-08-13 12:20:16 +02:00
battery.c Merge branch 'acpi-assorted' 2013-08-27 01:29:04 +02:00
bgrt.c acpi: bgrt: fix build error due to attribute change 2013-08-22 08:34:39 -07:00
blacklist.c ACPI: blacklist win8 OSI for buggy laptops 2013-08-25 21:31:12 +02:00
bus.c Merge branch 'acpi-assorted' 2013-08-27 01:29:04 +02:00
button.c
cm_sbs.c
container.c
custom_method.c
debugfs.c
device_pm.c ACPI / PM: Add state information to error message in acpi_device_set_power() 2013-08-03 21:13:22 +02:00
dock.c Merge branch 'acpi-assorted' 2013-08-27 01:29:04 +02:00
ec_sys.c
ec.c Merge branch 'acpi-assorted' 2013-08-30 14:13:50 +02:00
event.c
fan.c ACPI / PM: Use ACPI_STATE_D3_COLD instead of ACPI_STATE_D3 everywhere 2013-07-30 14:36:20 +02:00
glue.c ACPI / bind: Prefer device objects with _STA to those without it 2013-09-09 23:07:47 +02:00
hed.c
internal.h Merge back earlier 'acpi-assorted' material 2013-08-14 23:22:45 +02:00
Kconfig Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-09-05 09:31:03 -07:00
Makefile i2c: move ACPI helpers into the core 2013-08-23 10:22:29 +02:00
numa.c ACPI / numa: Fix __init attribute location in slit_valid() 2013-08-13 12:35:42 +02:00
nvs.c
osl.c Merge branch 'acpi-assorted' 2013-08-27 01:29:04 +02:00
pci_irq.c
pci_link.c
pci_root.c Merge branch 'pci/misc' into next 2013-08-29 17:23:33 -06:00
pci_slot.c
power.c Merge branch 'acpi-pm' 2013-08-27 01:28:17 +02:00
proc.c ACPI / PM: Walk physical_node_list under physical_node_lock 2013-08-06 02:26:22 +02:00
processor_core.c Merge back earlier 'acpi-assorted' material 2013-08-14 23:22:45 +02:00
processor_driver.c Merge branch 'acpi-processor' 2013-08-27 01:29:24 +02:00
processor_idle.c sched, idle: Fix the idle polling state logic 2013-09-25 13:53:10 +02:00
processor_perflib.c
processor_thermal.c ACPI / processor: Remove acpi_processor_get_limit_info() 2013-08-13 12:11:22 +02:00
processor_throttling.c
reboot.c
resource.c
sbs.c
sbshc.c
sbshc.h
scan.c Merge branch 'acpi-hotplug' 2013-09-10 23:14:53 +02:00
sleep.c Merge branch 'acpi-assorted' 2013-08-27 01:29:04 +02:00
sleep.h
sysfs.c
tables.c
thermal.c Merge branch 'acpi-assorted' 2013-08-30 14:13:50 +02:00
utils.c
video_detect.c Merge branch 'acpi-cleanup' 2013-08-27 01:25:28 +02:00
video.c Merge branch 'acpi-video' 2013-08-27 01:40:40 +02:00
wakeup.c