Index: vserver-sources-2.1.1_2.6.16/include/linux/vserver/sched_cmd.h =================================================================== --- vserver-sources-2.1.1_2.6.16.orig/include/linux/vserver/sched_cmd.h +++ vserver-sources-2.1.1_2.6.16/include/linux/vserver/sched_cmd.h @@ -48,7 +48,9 @@ struct vcmd_set_sched_v4 { #define VXSM_TOKENS_MIN 0x0020 #define VXSM_TOKENS_MAX 0x0040 #define VXSM_PRIO_BIAS 0x0100 + #define VXSM_IDLE_TIME 0x0200 +#define VXSM_FORCE 0x0400 #define VXSM_V3_MASK 0x0173 #define VXSM_SET_MASK 0x01FF 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 @@ -234,6 +234,14 @@ int do_set_sched(struct vx_info *vxi, st vxi->sched.update = cpumask_of_cpu(data->cpu_id); else vxi->sched.update = CPU_MASK_ALL; + /* forced reload? */ + if (set_mask & VXSM_FORCE) { + int cpu; + + for_each_cpu(cpu) + vx_update_sched_param(&vxi->sched, + &vx_per_cpu(vxi, sched_pc, cpu)); + } #else /* on UP we update immediately */ vx_update_sched_param(&vxi->sched,