diff options
Diffstat (limited to 'vserver-sources/old/2.1.1_rc16/4414_vs2.1.1-rc16-sched-fix01.patch')
-rw-r--r-- | vserver-sources/old/2.1.1_rc16/4414_vs2.1.1-rc16-sched-fix01.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/vserver-sources/old/2.1.1_rc16/4414_vs2.1.1-rc16-sched-fix01.patch b/vserver-sources/old/2.1.1_rc16/4414_vs2.1.1-rc16-sched-fix01.patch new file mode 100644 index 0000000..acc286a --- /dev/null +++ b/vserver-sources/old/2.1.1_rc16/4414_vs2.1.1-rc16-sched-fix01.patch @@ -0,0 +1,26 @@ +Index: vserver-sources-2.1.1_2.6.16/kernel/vserver/sched.c +=================================================================== +--- vserver-sources-2.1.1_2.6.16.orig/kernel/vserver/sched.c ++++ vserver-sources-2.1.1_2.6.16/kernel/vserver/sched.c +@@ -159,7 +159,9 @@ on_hold: + + #ifdef CONFIG_VSERVER_HARDCPU + /* next interval? */ +- if (tokens > sched_pc->fill_rate[0]) ++ if (!sched_pc->fill_rate[0]) ++ delta_min[0] = HZ; ++ else if (tokens > sched_pc->fill_rate[0]) + delta_min[0] += sched_pc->interval[0] * + tokens / sched_pc->fill_rate[0]; + vxd_check_range(delta_min[0], 0, INT_MAX); +@@ -169,7 +171,9 @@ on_hold: + return -1; + + /* next interval? */ +- if (tokens > sched_pc->fill_rate[1]) ++ if (!sched_pc->fill_rate[1]) ++ delta_min[1] = HZ; ++ else if (tokens > sched_pc->fill_rate[1]) + delta_min[1] += sched_pc->interval[1] * + tokens / sched_pc->fill_rate[1]; + vxd_check_range(delta_min[1], 0, INT_MAX); |