提交 aaec7c03 编写于 作者: P Paolo Bonzini

KVM: x86: avoid useless copy of cpufreq policy

struct cpufreq_policy is quite big and it is not a good idea
to allocate one on the stack.  Just use cpufreq_cpu_get and
cpufreq_cpu_put which is even simpler.
Reported-by: NChristoph Hellwig <hch@lst.de>
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
上级 4f337faf
...@@ -7190,15 +7190,15 @@ static void kvm_timer_init(void) ...@@ -7190,15 +7190,15 @@ static void kvm_timer_init(void)
if (!boot_cpu_has(X86_FEATURE_CONSTANT_TSC)) { if (!boot_cpu_has(X86_FEATURE_CONSTANT_TSC)) {
#ifdef CONFIG_CPU_FREQ #ifdef CONFIG_CPU_FREQ
struct cpufreq_policy policy; struct cpufreq_policy *policy;
int cpu; int cpu;
memset(&policy, 0, sizeof(policy));
cpu = get_cpu(); cpu = get_cpu();
cpufreq_get_policy(&policy, cpu); policy = cpufreq_cpu_get(cpu);
if (policy.cpuinfo.max_freq) if (policy && policy->cpuinfo.max_freq)
max_tsc_khz = policy.cpuinfo.max_freq; max_tsc_khz = policy->cpuinfo.max_freq;
put_cpu(); put_cpu();
cpufreq_cpu_put(policy);
#endif #endif
cpufreq_register_notifier(&kvmclock_cpufreq_notifier_block, cpufreq_register_notifier(&kvmclock_cpufreq_notifier_block,
CPUFREQ_TRANSITION_NOTIFIER); CPUFREQ_TRANSITION_NOTIFIER);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册