X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=linux_module%2Fpalacios-stubs.c;h=05789fb2e4eb02366651c46b7e02d1a7302b1f4e;hb=619116061f398a148dc3be1efdb26a779b91f486;hp=be06001f2a56e73643740d4f94ab74e518fc60d1;hpb=747f685ed77e4df26eb9b7b6b32412448852ffec;p=palacios.releases.git diff --git a/linux_module/palacios-stubs.c b/linux_module/palacios-stubs.c index be06001..05789fb 100644 --- a/linux_module/palacios-stubs.c +++ b/linux_module/palacios-stubs.c @@ -85,8 +85,13 @@ static void * palacios_alloc(unsigned int size) { void * addr = NULL; - addr = kmalloc(size, GFP_KERNEL); + if (irqs_disabled()) { + addr = kmalloc(size, GFP_ATOMIC); + } else { + addr = kmalloc(size, GFP_KERNEL); + } mallocs++; + return addr; } @@ -468,7 +473,7 @@ int palacios_vmm_init( void ) printk("palacios_init starting - calling init_v3\n"); - Init_V3(&palacios_os_hooks, nr_cpu_ids); + Init_V3(&palacios_os_hooks, num_online_cpus()); return 0;