1 --- linux-2.6.22-630/kernel/sched.c.orig 2008-04-23 17:09:21.000000000 -0400
2 +++ linux-2.6.22-630/kernel/sched.c 2008-04-23 17:10:23.000000000 -0400
7 +/* Bypass the vx_unhold infinite loop */
11 asmlinkage void __sched schedule(void)
13 struct task_struct *prev, *next;
14 @@ -3740,14 +3744,22 @@
16 cpu = smp_processor_id();
17 vx_set_rq_time(rq, jiffies);
21 vx_try_unhold(rq, cpu);
24 if (unlikely(!rq->nr_running)) {
25 /* can we skip idle time? */
26 - if (vx_try_skip(rq, cpu))
27 + if (vx_try_skip(rq, cpu) && merry<10) {
31 + else if (merry==10) {
36 idle_balance(cpu, rq);
37 if (!rq->nr_running) {