On Sat, 23 Aug 2008, Rafael J. Wysocki wrote:Peter? Ingo? Alok? This _looks_ like it might be due to "x86: merge the TSC cpu-freq code" thing by Alok, where we do this: +static struct notifier_block time_cpufreq_notifier_block = { + .notifier_call = time_cpufreq_notifier +}; + +static int __init cpufreq_tsc(void) +{ + cpufreq_register_notifier(&time_cpufreq_notifier_block, + CPUFREQ_TRANSITION_NOTIFIER); + return 0; +} but that's just _insane_ if the CPU doesn't even support TSC to begin with. Also, in the actual time_cpufreq_notifier(), we do: if (cpu_has(&cpu_data(freq->cpu), X86_FEATURE_CONSTANT_TSC)) return 0; and this is stupid because: (a) if the CPU has no TSC at all, then it sure as hell won't have a _constant_ one, so we'll actually continue into the function. (b) and why the hell is this done at run-time in the notifier, and not in the "cpufreq_tsc" init function? If anybody mixes totally different kinds of CPU's in SMP, they deserve whatever they want. so why is the patch not something like the appended? Sean, does this make any difference for you? Linus --- arch/x86/kernel/tsc.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c index 46af716..9bed5ca 100644 --- a/arch/x86/kernel/tsc.c +++ b/arch/x86/kernel/tsc.c @@ -325,6 +325,10 @@ static struct notifier_block time_cpufreq_notifier_block = { static int __init cpufreq_tsc(void) { + if (!cpu_has_tsc) + return 0; + if (boot_cpu_has(X86_FEATURE_CONSTANT_TSC)) + return 0; cpufreq_register_notifier(&time_cpufreq_notifier_block, CPUFREQ_TRANSITION_NOTIFIER); return 0; --
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Linus Torvalds | Linux 2.6.27-rc8 |
| Bryan Woods | Stardom SATA HSM violation |
| Yinghai Lu | Re: Linux 2.6.27-rc5: System boot regression caused by commit a2bd7274b47124d2fc4d... |
git: | |
| Abdelrazak Younes | Git-windows and git-svn? |
| Elijah Newren | Trying to use git-filter-branch to compress history by removing large, obsolete bi... |
| walt | [VOTE] git versus mercurial |
| Bill Lear | Error "fatal: cannot pread pack file: Success" |
| Richard Stallman | Real men don't attack straw men |
| GVG GVG | ssh_exchange_identification: Connection closed by remote host |
| Henning Brauer | Re: About Xen: maybe a reiterative question but .. |
| Patrick Hemmen | ipsec with carp |
| Alexey Dobriyan | 2.6.25-rc8-mm2: FIX kmalloc-2048 (was Re: 2.6.25-rc8-mm2: IP: [<ffffffff802868f... |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 0/37] dccp: Feature negotiation - last call for comments |
| Johann Baudy | Packet mmap: TX RING and zero copy |
