/[linux-patches]/genpatches-2.6/trunk/2.6.14/2715_ht-slowdown-3.patch
Gentoo

Contents of /genpatches-2.6/trunk/2.6.14/2715_ht-slowdown-3.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 231 - (show annotations) (download) (as text)
Thu Dec 15 15:50:09 2005 UTC (14 years, 11 months ago) by dsd
File MIME type: text/x-diff
File size: 1972 byte(s)
Really fix the hyperthreading slowdown issue
1 From: David Shaohua Li <shaohua.li@intel.com>
2 Date: Thu, 1 Dec 2005 22:00:00 +0000 (-0500)
3 Subject: [ACPI] correct earlier SMP deep C-states on HT patch
4 X-Git-Url: http://www.kernel.org/git/?p=linux/kernel/git/lenb/linux-acpi-2.6.git;a=commitdiff;h=1e483969930a82e16767884449f3a121a817ef00
5
6 [ACPI] correct earlier SMP deep C-states on HT patch
7
8 http://bugzilla.kernel.org/show_bug.cgi?id=5165
9
10 Change polarity of test for PLVL2_UP flag.
11 Skip promotion/demotion code when not needed.
12
13 Signed-off-by: Shaohua Li <shaohua.li@intel.com>
14 Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
15 Signed-off-by: Len Brown <len.brown@intel.com>
16 ---
17
18 --- a/drivers/acpi/processor_idle.c
19 +++ b/drivers/acpi/processor_idle.c
20 @@ -278,8 +278,6 @@ static void acpi_processor_idle(void)
21 }
22 }
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 @@ -287,9 +285,12 @@ static void acpi_processor_idle(void)
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 + !pr->flags.has_cst && !acpi_fadt.plvl2_up)
36 + cx = &pr->power.states[ACPI_STATE_C1];
37 #endif
38 +
39 + cx->usage++;
40 +
41 /*
42 * Sleep:
43 * ------
44 @@ -378,6 +379,15 @@ static void acpi_processor_idle(void)
45
46 next_state = pr->power.state;
47
48 +#ifdef CONFIG_HOTPLUG_CPU
49 + /* Don't do promotion/demotion */
50 + if ((cx->type == ACPI_STATE_C1) && (num_online_cpus() > 1) &&
51 + !pr->flags.has_cst && !acpi_fadt.plvl2_up) {
52 + next_state = cx;
53 + goto end;
54 + }
55 +#endif
56 +
57 /*
58 * Promotion?
59 * ----------
60 @@ -549,7 +559,7 @@ static int acpi_processor_get_power_info
61 * Check for P_LVL2_UP flag before entering C2 and above on
62 * an SMP system.
63 */
64 - if ((num_online_cpus() > 1) && acpi_fadt.plvl2_up)
65 + if ((num_online_cpus() > 1) && !acpi_fadt.plvl2_up)
66 return_VALUE(-ENODEV);
67 #endif
68

  ViewVC Help
Powered by ViewVC 1.1.20