/[linux-patches]/genpatches-2.6/tags/2.6.14-5/2705_ht-slowdown.patch
Gentoo

Contents of /genpatches-2.6/tags/2.6.14-5/2705_ht-slowdown.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 226 - (show annotations) (download)
Fri Dec 2 12:14:55 2005 UTC (12 years, 5 months ago) by dsd
File size: 1842 byte(s)
2.6.14-5 release
1 From: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
2 Date: Thu, 15 Sep 2005 16:20:00 +0000 (-0400)
3 Subject: [ACPI] Add support for FADT P_LVL2_UP flag
4 X-Git-Tag: v2.6.15-rc4
5 X-Git-Url: http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=4c0335526c95d90a1d958e0059f40a5745fc7c5d
6
7 [ACPI] Add support for FADT P_LVL2_UP flag
8 which tells us if C2 is valid for UP-only, or SMP.
9
10 As there is no separate bit for C3, use P_LVL2_UP
11 bit to cover both C2 and C3.
12
13 http://bugzilla.kernel.org/show_bug.cgi?id=5165
14
15 Signed-off-by: Venkatesh Pallipadi<venkatesh.pallipadi@intel.com>
16 Signed-off-by: Len Brown <len.brown@intel.com>
17 (cherry picked from 28b86b368af3944eb383078fc5797caf2dc8ce44 commit)
18 ---
19
20 --- a/drivers/acpi/processor_idle.c
21 +++ b/drivers/acpi/processor_idle.c
22 @@ -280,6 +280,16 @@ static void acpi_processor_idle(void)
23
24 cx->usage++;
25
26 +#ifdef CONFIG_HOTPLUG_CPU
27 + /*
28 + * Check for P_LVL2_UP flag before entering C2 and above on
29 + * an SMP system. We do it here instead of doing it at _CST/P_LVL
30 + * detection phase, to work cleanly with logical CPU hotplug.
31 + */
32 + if ((cx->type != ACPI_STATE_C1) && (num_online_cpus() > 1) &&
33 + !pr->flags.has_cst && acpi_fadt.plvl2_up)
34 + cx->type = ACPI_STATE_C1;
35 +#endif
36 /*
37 * Sleep:
38 * ------
39 @@ -534,6 +544,15 @@ static int acpi_processor_get_power_info
40 pr->power.states[ACPI_STATE_C0].valid = 1;
41 pr->power.states[ACPI_STATE_C1].valid = 1;
42
43 +#ifndef CONFIG_HOTPLUG_CPU
44 + /*
45 + * Check for P_LVL2_UP flag before entering C2 and above on
46 + * an SMP system.
47 + */
48 + if ((num_online_cpus() > 1) && acpi_fadt.plvl2_up)
49 + return_VALUE(-ENODEV);
50 +#endif
51 +
52 /* determine C2 and C3 address from pblk */
53 pr->power.states[ACPI_STATE_C2].address = pr->pblk + 4;
54 pr->power.states[ACPI_STATE_C3].address = pr->pblk + 5;

  ViewVC Help
Powered by ViewVC 1.1.20