aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/kvm/vmx.c
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2007-07-30 07:12:19 -0400
committerAvi Kivity <avi@qumranet.com>2007-10-13 04:18:21 -0400
commitc16f862d0257349607b7a9be7b4a4b7ed419a3ab (patch)
treef84e9f43f845640a0cc887fe8697ab0b3a4e788b /drivers/kvm/vmx.c
parente7d5d76cae970117affe07f809faf0f18bbac675 (diff)
KVM: Use kmem cache for allocating vcpus
Avi wants the allocations of vcpus centralized again. The easiest way is to add a "size" arg to kvm_init_arch, and expose the thus-prepared cache to the modules. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm/vmx.c')
-rw-r--r--drivers/kvm/vmx.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c
index f770f55d46cd..2b30274656f4 100644
--- a/drivers/kvm/vmx.c
+++ b/drivers/kvm/vmx.c
@@ -2365,7 +2365,7 @@ static void vmx_free_vcpu(struct kvm_vcpu *vcpu)
2365static struct kvm_vcpu *vmx_create_vcpu(struct kvm *kvm, unsigned int id) 2365static struct kvm_vcpu *vmx_create_vcpu(struct kvm *kvm, unsigned int id)
2366{ 2366{
2367 int err; 2367 int err;
2368 struct vcpu_vmx *vmx = kzalloc(sizeof(*vmx), GFP_KERNEL); 2368 struct vcpu_vmx *vmx = kmem_cache_zalloc(kvm_vcpu_cache, GFP_KERNEL);
2369 int cpu; 2369 int cpu;
2370 2370
2371 if (!vmx) 2371 if (!vmx)
@@ -2490,7 +2490,7 @@ static int __init vmx_init(void)
2490 memset(iova, 0xff, PAGE_SIZE); 2490 memset(iova, 0xff, PAGE_SIZE);
2491 kunmap(vmx_io_bitmap_b); 2491 kunmap(vmx_io_bitmap_b);
2492 2492
2493 r = kvm_init_arch(&vmx_arch_ops, THIS_MODULE); 2493 r = kvm_init_arch(&vmx_arch_ops, sizeof(struct vcpu_vmx), THIS_MODULE);
2494 if (r) 2494 if (r)
2495 goto out1; 2495 goto out1;
2496 2496