]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ACPI: Be in TS_POLLING state during mwait based C-state entry
authorPallipadi, Venkatesh <venkatesh.pallipadi@intel.com>
Wed, 10 Feb 2010 18:35:31 +0000 (10:35 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 15 Mar 2010 15:49:36 +0000 (08:49 -0700)
commitcc03dfc07cc4acf73b721ca9a57c6d4d2101ae49
treeec44d3811ce467b9fa299cc653092bd87a5ee566
parent35f32e94f5c5e392a1dcaf7af8bda33b85acc991
ACPI: Be in TS_POLLING state during mwait based C-state entry

commit d306ebc28649b89877a22158fe0076f06cc46f60 upstream.

ACPI deep C-state entry had a long standing bug/missing feature, wherein we were sending
resched IPIs when an idle CPU is in mwait based deep C-state. Only mwait based C1 was using
the write to the monitored address to wake up mwait'ing CPU.

This patch changes the code to retain TS_POLLING bit if we are entering an mwait based
deep C-state.

The patch has been verified to reduce the number of resched IPIs in general and also
improves the performance/power on workloads with low system utilization (i.e., when mwait based
deep C-states are being used).

Fixes "netperf ~50% regression with 2.6.33-rc1, bisect to 1b9508f"
http://marc.info/?l=linux-kernel&m=126441481427331&w=4

Reported-by: Lin Ming <ming.m.lin@intel.com>
Tested-by: Alex Shi <alex.shi@intel.com>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/acpi/processor_idle.c