Re: [PATCH 04/18] Make cpu_tsc_khz updates use local CPU

Avi Kivity
2010-07-20T08:53:56Z

On 07/19/2010 11:06 PM, Zachary Amsden wrote:
>>> +static void tsc_khz_changed(void *data)
>>> {
>>> - /* nothing */
>>> + struct cpufreq_freqs *freq = data;
>>> + unsigned long khz = 0;
>>> +
>>> + if (data)
>>> + khz = freq->new;
>>> + else if (!boot_cpu_has(X86_FEATURE_CONSTANT_TSC))
>>> + khz = cpufreq_quick_get(raw_smp_processor_id());
>>> + if (!khz)
>>> + khz = tsc_khz;
>>> + __get_cpu_var(cpu_tsc_khz) = khz;
>>> }
>>
>> Do we really need to cache cpufreq_quick_get()? If it's really
>> quick, why not just use it everywhere instead of cacheing it? Not a
>> comment on this patch.
>>
>
>
> If cpufreq is compiled in, but disabled, it returns zero, so we need
> some sort of logic.

Maybe it's better to put it into cpufreq_quick_get(). Inconsistent APIs
that appear to work are bad.

--
error compiling committee.c: too many arguments to function