Pallipadi, Venkatesh
a59d1637eb
ACPI: cap off P-state transition latency from buggy BIOSes
...
Some BIOSes report very high frequency transition latency which are plainly
wrong on CPus that can change frequency using native MSR interface.
One such system is IBM T42 (2327-8ZU) as reported by Owen Taylor and
Rik van Riel.
cpufreq_ondemand driver uses this transition latency to come up with a
reasonable sampling interval to sample CPU usage and with such high
latency value, ondemand sampling interval ends up being very high
(0.5 sec, in this particular case), resulting in performance impact due to
slow response to increasing frequency.
Fix it by capping-off the transition latency to 20uS for native MSR based
frequency transitions.
mjg: We've confirmed that this also helps on the X31
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Acked-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2009-03-27 21:21:09 -04:00
..
2009-02-21 21:58:18 -05:00
2009-03-27 21:21:09 -04:00
2008-07-10 10:13:51 -07:00
2008-10-13 10:33:46 +02:00
2009-01-03 12:03:52 -08:00
2009-01-03 16:44:15 +01:00
2008-11-28 15:24:39 +01:00
2009-02-17 15:24:34 -08:00
2009-02-22 10:33:44 -08:00
2008-12-18 11:28:54 +01:00
2008-12-18 15:01:24 -08:00
2008-12-29 22:08:28 -08:00
2008-10-27 18:09:45 +01:00
2009-01-03 12:04:39 -08:00
2008-10-20 08:52:39 -07:00
2008-10-20 08:52:39 -07:00
2008-12-31 16:52:30 +02:00
2008-10-13 10:33:15 +02:00
2009-03-06 16:13:15 +01:00
2008-12-03 08:56:25 +01:00
2008-12-03 08:56:25 +01:00
2008-12-03 08:56:25 +01:00
2008-12-03 08:56:25 +01:00
2009-01-09 03:39:43 -05:00
2009-01-02 10:27:46 +01:00
2009-01-09 12:46:22 -08:00
2008-08-18 08:50:19 +02:00
2009-03-04 19:20:16 +01:00
2009-03-04 19:20:16 +01:00
2009-01-12 19:36:59 +01:00
2009-02-02 21:18:03 -08:00
2008-12-08 15:07:49 +01:00
2009-02-11 10:06:13 +01:00
2008-11-18 00:27:24 +01:00
2008-12-18 11:59:24 +01:00
2008-12-23 22:37:30 +01:00
2009-01-02 22:41:36 +01:00
2009-01-03 18:53:31 +01:00
2008-06-19 14:19:03 +02:00
2008-12-08 13:49:45 +01:00
2009-01-02 17:16:29 +01:00
2008-10-10 19:29:11 +02:00
2009-01-04 10:20:29 +01:00
2008-12-12 11:08:42 +01:00
2009-02-17 14:27:39 -08:00
2008-10-20 18:27:03 +02:00
2009-03-04 20:33:16 +01:00
2009-02-10 13:13:23 +01:00
2008-12-13 21:20:26 +10:30
2009-01-04 18:19:37 +01:00
2008-12-31 18:07:42 -05:00
2009-02-09 12:42:59 +01:00
2008-09-03 16:42:51 -07:00
2009-01-04 13:23:07 +01:00
2008-12-16 17:40:57 -08:00
2009-01-04 18:19:37 +01:00
2009-01-04 13:23:04 +01:00
2009-01-04 13:23:04 +01:00
2009-01-31 18:26:07 +01:00
2009-01-04 18:19:41 +01:00
2008-10-28 17:10:27 +01:00
2008-09-10 14:03:49 +02:00
2008-10-06 13:50:59 -05:00
2009-03-17 09:11:48 -07:00
2008-08-22 05:34:44 +02:00
2008-12-31 16:55:44 +02:00
2009-01-02 17:46:24 +01:00
2008-10-31 10:01:57 +01:00
2008-07-26 12:00:04 -07:00
2008-12-30 16:10:19 -08:00
2009-01-06 11:28:06 +01:00
2008-12-19 01:31:54 +01:00
Merge branches 'x86/apic', 'x86/cleanups', 'x86/cpufeature', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/detect-hyper', 'x86/doc', 'x86/dumpstack', 'x86/early-printk', 'x86/fpu', 'x86/idle', 'x86/io', 'x86/memory-corruption-check', 'x86/microcode', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/pat2', 'x86/pci-ioapic-boot-irq-quirks', 'x86/ptrace', 'x86/quirks', 'x86/reboot', 'x86/setup-memory', 'x86/signal', 'x86/sparse-fixes', 'x86/time', 'x86/uv' and 'x86/xen' into x86/core
2008-12-23 16:27:23 +01:00
Merge branches 'x86/apic', 'x86/cleanups', 'x86/cpufeature', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/detect-hyper', 'x86/doc', 'x86/dumpstack', 'x86/early-printk', 'x86/fpu', 'x86/idle', 'x86/io', 'x86/memory-corruption-check', 'x86/microcode', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/pat2', 'x86/pci-ioapic-boot-irq-quirks', 'x86/ptrace', 'x86/quirks', 'x86/reboot', 'x86/setup-memory', 'x86/signal', 'x86/sparse-fixes', 'x86/time', 'x86/uv' and 'x86/xen' into x86/core
2008-12-23 16:27:23 +01:00
2008-12-29 18:17:36 +01:00
2008-07-24 10:47:21 -07:00
2009-01-12 19:24:22 +01:00
2009-01-03 19:00:55 +01:00
2009-01-06 13:34:03 +01:00
2009-01-05 14:08:34 +01:00
2009-02-14 23:05:25 +01:00
2008-08-15 16:53:25 +02:00
2008-07-08 13:15:52 +02:00
2008-12-08 16:08:29 +01:00
2009-02-12 23:11:58 +01:00
2008-11-25 15:56:03 +01:00
2009-01-07 11:12:23 -08:00
2009-01-29 18:19:29 -08:00
2008-09-25 11:02:25 +02:00
2009-01-05 14:17:24 +01:00
2008-09-22 12:58:36 +02:00
2008-07-08 12:50:05 +02:00
2009-02-17 22:47:45 +01:00
2009-02-04 22:10:12 +01:00
2009-02-09 11:15:15 +01:00
2009-03-02 15:41:30 -08:00
2008-10-15 14:25:14 +02:00
2008-12-16 20:36:44 +01:00
2008-05-25 08:58:30 +02:00
2009-03-04 20:56:15 +01:00
2008-10-31 10:01:57 +01:00
2008-10-20 08:52:41 -07:00
2009-01-18 23:59:22 +01:00
2009-03-04 18:55:56 +01:00
2009-01-21 09:43:18 +01:00
2009-01-10 06:13:09 -08:00
2009-01-10 06:13:09 -08:00
2008-08-15 19:16:05 +02:00
2008-11-23 11:53:48 +01:00
2008-07-16 12:15:17 -07:00
2008-07-26 16:31:35 +02:00
2008-07-22 14:35:57 +02:00
Merge branches 'x86/alternatives', 'x86/cleanups', 'x86/commandline', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/doc', 'x86/exports', 'x86/fpu', 'x86/gart', 'x86/idle', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/oprofile', 'x86/paravirt', 'x86/reboot', 'x86/sparse-fixes', 'x86/tsc', 'x86/urgent' and 'x86/vmalloc' into x86-v28-for-linus-phase1
2008-10-06 18:17:07 +02:00
2008-10-22 22:55:23 -07:00
2009-01-14 14:15:15 +01:00
2009-01-04 13:23:05 +01:00
2009-02-22 10:27:49 -08:00
2009-01-03 18:53:31 +01:00
2009-01-03 18:53:31 +01:00
2009-01-15 23:48:20 +01:00
2008-07-22 14:35:57 +02:00
2008-12-08 13:49:45 +01:00
2009-02-15 10:46:13 +01:00
Merge branches 'x86/apic', 'x86/cleanups', 'x86/cpufeature', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/detect-hyper', 'x86/doc', 'x86/dumpstack', 'x86/early-printk', 'x86/fpu', 'x86/idle', 'x86/io', 'x86/memory-corruption-check', 'x86/microcode', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/pat2', 'x86/pci-ioapic-boot-irq-quirks', 'x86/ptrace', 'x86/quirks', 'x86/reboot', 'x86/setup-memory', 'x86/signal', 'x86/sparse-fixes', 'x86/time', 'x86/uv' and 'x86/xen' into x86/core
2008-12-23 16:27:23 +01:00
2009-03-17 08:13:17 -07:00
2008-10-16 16:53:13 +02:00
2008-10-16 16:53:13 +02:00
2009-01-05 14:08:33 +01:00
2008-07-22 14:35:57 +02:00
2009-02-09 13:10:13 +01:00
2009-02-22 10:27:49 -08:00
2008-12-12 12:14:05 +01:00
2008-12-12 11:14:07 +01:00
2008-10-29 08:02:28 +01:00
2008-12-28 12:21:10 -08:00
2008-10-20 18:27:03 +02:00
2008-12-30 13:31:41 -08:00