Re: [PATCH: kvm 3/6] Fix hotadd of CPUs for KVM.

Avi Kivity
2009-09-27T08:44:43Z

On 09/24/2009 11:32 PM, Zachary Amsden wrote:
> On 09/24/2009 05:52 AM, Marcelo Tosatti wrote:
>>
>>> +static __cpuinit int vmx_cpu_hotadd(int cpu)
>>> +{
>>> + struct vmcs *vmcs;
>>> +
>>> + if (per_cpu(vmxarea, cpu))
>>> + return 0;
>>> +
>>> + vmcs = alloc_vmcs_cpu(cpu);
>>> + if (!vmcs)
>>> + return -ENOMEM;
>>> +
>>> + per_cpu(vmxarea, cpu) = vmcs;
>>> +
>>> + return 0;
>>> +}
>> Have to free in __cpuexit?
>>
>> Is it too wasteful to allocate statically with
>> DEFINE_PER_CPU_PAGE_ALIGNED?
>
> Unfortunately, I think it is. The VMX / SVM structures are quite
> large, and we can have a lot of potential CPUs.

I think percpu is only allocated when the cpu is online (it would still
be wasteful if the modules were loaded but unused).

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.