X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=linux_module%2Fpalacios-stubs.c;h=8eeeb7dcafa9e8637663e0975b32e24d85b7674d;hb=b1128b2a9d269fefc786c60c26878b372d5e39c1;hp=31fcdbf2432f66ae89fed096fce8489f38fcf34e;hpb=8e9c13c41b0244a8d0029e837a623591a22c5879;p=palacios.git diff --git a/linux_module/palacios-stubs.c b/linux_module/palacios-stubs.c index 31fcdbf..8eeeb7d 100644 --- a/linux_module/palacios-stubs.c +++ b/linux_module/palacios-stubs.c @@ -91,6 +91,7 @@ palacios_alloc(unsigned int size) { addr = kmalloc(size, GFP_KERNEL); } mallocs++; + return addr; } @@ -179,7 +180,7 @@ static int lnx_thread_target(void * arg) { /** * Creates a kernel thread. */ -static void +static void * palacios_start_kernel_thread( int (*fn) (void * arg), void * arg, @@ -191,8 +192,7 @@ palacios_start_kernel_thread( thread_info->arg = arg; thread_info->name = thread_name; - kthread_run( lnx_thread_target, thread_info, thread_name ); - return; + return kthread_run( lnx_thread_target, thread_info, thread_name ); } @@ -219,7 +219,7 @@ palacios_start_thread_on_cpu(int cpu_id, return NULL; } - kthread_bind(thread, cpu_id); + set_cpus_allowed_ptr(thread, cpumask_of(cpu_id)); wake_up_process(thread); return thread; @@ -233,10 +233,12 @@ palacios_start_thread_on_cpu(int cpu_id, */ static int palacios_move_thread_to_cpu(int new_cpu_id, - void * thread_ptr) { + void * thread_ptr) { struct task_struct * thread = (struct task_struct *)thread_ptr; - if(thread == NULL){ + printk("Moving thread (%p) to cpu %d\n", thread, new_cpu_id); + + if (thread == NULL) { thread = current; } @@ -244,7 +246,7 @@ palacios_move_thread_to_cpu(int new_cpu_id, * Bind to the specified CPU. When this call returns, * the thread should be running on the target CPU. */ - return set_cpus_allowed(thread, cpumask_of_cpu(new_cpu_id)); + return set_cpus_allowed_ptr(thread, cpumask_of(new_cpu_id)); } @@ -496,7 +498,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;