diff options
Diffstat (limited to 'vserver-sources/old/2.1.1_rc16/4412_vs2.1.1-rc16-sched-clean01.patch')
-rw-r--r-- | vserver-sources/old/2.1.1_rc16/4412_vs2.1.1-rc16-sched-clean01.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/vserver-sources/old/2.1.1_rc16/4412_vs2.1.1-rc16-sched-clean01.patch b/vserver-sources/old/2.1.1_rc16/4412_vs2.1.1-rc16-sched-clean01.patch new file mode 100644 index 0000000..00e7972 --- /dev/null +++ b/vserver-sources/old/2.1.1_rc16/4412_vs2.1.1-rc16-sched-clean01.patch @@ -0,0 +1,29 @@ +Index: vserver-sources-2.1.1_2.6.16/kernel/sched_hard.h +=================================================================== +--- vserver-sources-2.1.1_2.6.16.orig/kernel/sched_hard.h ++++ vserver-sources-2.1.1_2.6.16/kernel/sched_hard.h +@@ -7,6 +7,7 @@ + static inline + void vx_idle_resched(runqueue_t *rq) + { ++ /* maybe have a better criterion for paused */ + if (!--rq->idle_tokens && !list_empty(&rq->hold_queue)) + set_need_resched(); + } +@@ -177,7 +178,7 @@ void vx_try_unhold(runqueue_t *rq, int c + int maxidle = HZ; + int minskip = 0; + +- /* nothing to do? */ ++ /* nothing to do? what about pause? */ + if (list_empty(&rq->hold_queue)) + return; + +@@ -187,6 +188,7 @@ void vx_try_unhold(runqueue_t *rq, int c + struct task_struct *p; + + p = list_entry(l, task_t, run_list); ++ /* don't bother with same context */ + if (vxi == p->vx_info) + continue; + |