From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH: kvm 3/6] Fix hotadd of CPUs for KVM. Date: Sun, 27 Sep 2009 10:44:40 +0200 Message-ID: <4ABF25F8.3050209@redhat.com> References: <1253762945-5750-1-git-send-email-zamsden@redhat.com> <1253762945-5750-2-git-send-email-zamsden@redhat.com> <1253762945-5750-3-git-send-email-zamsden@redhat.com> <20090924155224.GC14102@amt.cnet> <4ABBD76D.6050308@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Marcelo Tosatti , kvm@vger.kernel.org, linux-kernel@vger.kernel.org To: Zachary Amsden Return-path: Received: from mx1.redhat.com ([209.132.183.28]:1025 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753563AbZI0Iom (ORCPT ); Sun, 27 Sep 2009 04:44:42 -0400 In-Reply-To: <4ABBD76D.6050308@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: 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.