cpufreq on SMP with CPUs present but not online
... causes the cpufreq driver init method to be called for each CPU. However, this causes something of a dilema on ARM/SMP - if the CPU is not online (because we failed to bring it up via __cpu_up which correctly returned an error), we can't read the current clock rate settings, so we can't initialise policy->{cur,min,max} fields.
Returning an error from the cpufreq driver init method means that cpufreq completely forgets about this particular CPU, which also isn't desirable.
Ideas?
Signature · 4 lines
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/
2.6 Serial coreQuoted 5 lines · Russell King
... causes the cpufreq driver init method to be called for each CPU. However, this causes something of a dilema on ARM/SMP - if the CPU is not online (because we failed to bring it up via
__cpu_upwhich correctly returned an error), we can't read the current clock rate settings, so we can't initialise policy->{cur,min,max} fields.
Do I understand you correctly that this CPU will be brought up later?
Quoted 5 lines
Returning an error from the cpufreq driver init method means that cpufreq completely forgets about this particular CPU, which also isn't desirable.
Ideas?
Yes. I had tried to integrate cpufreq better with the CPU hotplug core a few months ago, but got delayed because of other hotplug-related issues which hopefully will be sorted out very soon. Stay tuned.
Dominik
PS: should we all use [email protected] or @lists.linux.org.uk?
Quoted 8 lines · Dominik Brodowski
Quoted 5 lines · Russell King
... causes the cpufreq driver init method to be called for each CPU. However, this causes something of a dilema on ARM/SMP - if the CPU is not online (because we failed to bring it up via
__cpu_upwhich correctly returned an error), we can't read the current clock rate settings, so we can't initialise policy->{cur,min,max} fields.Do I understand you correctly that this CPU will be brought up later?
Possibly - though I'm wondering whether it's really correct to register the struct cpu for not-currently-online but possible CPUs. I think this may make sense, but I'd want to get it confirmed by some SMP folk first.
Quoted 6 lines
Quoted 5 lines
Returning an error from the cpufreq driver init method means that cpufreq completely forgets about this particular CPU, which also isn't desirable.
Ideas?
Quoted 7 lines
Yes. I had tried to integrate cpufreq better with the CPU hotplug core a few months ago, but got delayed because of other hotplug-related issues which hopefully will be sorted out very soon. Stay tuned.
Dominik
PS: should we all use [email protected] or @lists.linux.org.uk?
lists.linux.org.uk please. Unfortunately, when mailservers see the CNAME for lists.linux.org.uk, they rewrite all addresses to the result of the CNAME. Alan - can you change CNAME into:
lists IN A 195.92.249.252
IN AAAA 2002:c35c:f9fc::1
please? Thanks.
Signature · 4 lines
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/
2.6 Serial core