patch 1:
--- ./kernel/ve/veowner.c.ve2505 2007-06-07 12:43:15.000000000 +0400
+++ ./kernel/ve/veowner.c 2007-06-08 12:21:09.000000000 +0400
@@ -237,20 +237,6 @@ void init_ve_system(void)
ve = get_ve0();
- /* Don't forget about idle tasks */
- write_lock_irqsave(&tasklist_lock, flags);
- for (i = 0; i < NR_CPUS; i++) {
- tsk = idle_task(i);
- if (tsk == NULL)
- continue;
-
- prepare_ve0_process(tsk);
- }
- do_each_thread_all(p, tsk) {
- prepare_ve0_process(tsk);
- } while_each_thread_all(p, tsk);
- write_unlock_irqrestore(&tasklist_lock, flags);
-
init_entry = child_reaper;
ve->init_entry = init_entry;
/* if ve_move_task to VE0 (e.g. in cpt code) *
patch2:
--- a/net/sunrpc/sched.c
+++ b/net/sunrpc/sched.c
@@ -996,12 +996,12 @@ fail:
void rpc_run_child(struct rpc_task *task, struct rpc_task *child, rpc_action func)
{
- rpc_set_active(task);
+ rpc_set_active(child);
spin_lock_bh(&childq.lock);
/* N.B. Is it possible for the child to have already finished? */
__rpc_sleep_on(&childq, task, func, NULL);
- rpc_make_runnable(task);
+ rpc_make_runnable(child);
spin_unlock_bh(&childq.lock);
}