RE: [PATCH] cpufreq: honor cpu_sibling_map in speedstep-centrino.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>-----Original Message-----
>From: [email protected] 
>[mailto:[email protected]] On Behalf Of 
>Alexey Dobriyan
>Sent: Friday, September 30, 2005 7:16 AM
>To: [email protected]
>Cc: Aaron M. Ucko
>Subject: Fwd: [PATCH] cpufreq: honor cpu_sibling_map in 
>speedstep-centrino.c
>
>To: [email protected]
>
>speedstep-centrino.c should honor cpu_sibling_map for the sake of
>recent Intel processors, which support both Centrino-style Enhanced
>SpeedStep and hyperthreading; even newer dual-core chips may need the
>same fix.
>

Just this patch is not enough for Enhanced speedstep processors to use 
Centrino style driver.

- ACPI 3.0 has interfaces that says which all CPUs share a common 
frequency. Using that will help us avoid assumptions in OS about HT 
siblings share a freq or cores share a freq or anything like that.
- OS also should tell BIOS that it understands about multiple CPUs 
Sharing freq. Otherwise BIOS may try to do the coordination across 
the CPUs sharing freq and OS also will try to do something similar 
inside OS. Actually, speedstep-centrino driver will not work on such 
CPUs until BIOS is made aware of this fact.
- All this based on ACPI helps in general to make less assumptions 
about the actual processor itself inside the kernel. It will also 
help the current kernel to work on newer processors without specific 
changes like this.

The patch to support this whole software coordination is here 
http://sourceforge.net/mailarchive/forum.php?forum_id=6102&max_rows=100&;
style=threaded&viewmonth=200509&viewday=13

Thanks,
Venki




>--- 
>linux-source-2.6.13.2/arch/i386/kernel/cpu/cpufreq/speedstep-ce
>ntrino.c~	2005-08-28 19:41:01.000000000 -0400
>+++ 
>linux-source-2.6.13.2/arch/i386/kernel/cpu/cpufreq/speedstep-ce
>ntrino.c	2005-09-28 17:23:37.000000000 -0400
>@@ -498,6 +498,10 @@
> 	if (cpu->x86_vendor != X86_VENDOR_INTEL || 
>!cpu_has(cpu, X86_FEATURE_EST))
> 		return -ENODEV;
> 
>+#ifdef CONFIG_SMP
>+	policy->cpus = cpu_sibling_map[policy->cpu];
>+#endif
>+
> 	for (i = 0; i < N_IDS; i++)
> 		if (centrino_verify_cpu_id(cpu, &cpu_ids[i]))
> 			break;
>
>
>-
>To unsubscribe from this list: send the line "unsubscribe 
>linux-kernel" in
>the body of a message to [email protected]
>More majordomo info at  http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at  http://www.tux.org/lkml/
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux