summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'vserver-sources/2.2.0_rc8/4413_delta-getsched-feat02.patch')
-rw-r--r--vserver-sources/2.2.0_rc8/4413_delta-getsched-feat02.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/vserver-sources/2.2.0_rc8/4413_delta-getsched-feat02.patch b/vserver-sources/2.2.0_rc8/4413_delta-getsched-feat02.patch
new file mode 100644
index 0000000..b32f36f
--- /dev/null
+++ b/vserver-sources/2.2.0_rc8/4413_delta-getsched-feat02.patch
@@ -0,0 +1,25 @@
+diff -Nurp linux-2.6.19.2-vs2.2.0-rc7/kernel/vserver/sched.c linux-2.6.19.2-vs2.2.0-rc7.getsched/kernel/vserver/sched.c
+--- linux-2.6.19.2-vs2.2.0-rc7/kernel/vserver/sched.c 2007-01-11 18:10:54.000000000 +0100
++++ linux-2.6.19.2-vs2.2.0-rc7.getsched/kernel/vserver/sched.c 2007-01-17 09:12:40.000000000 +0100
+@@ -391,6 +391,9 @@ int vc_get_sched(struct vx_info *vxi, vo
+ COPY_TOK(COPY_VALUE);
+ COPY_PRI(COPY_VALUE);
+ COPY_FRI(COPY_VALUE);
++
++ if (data->flags & VXSF_IDLE_TIME)
++ vc_data.mask |= VXSM_IDLE_TIME;
+ } else {
+ struct _vx_sched *data = &vxi->sched;
+
+@@ -399,6 +402,11 @@ int vc_get_sched(struct vx_info *vxi, vo
+ COPY_FRI(COPY_VALUE);
+ }
+
++ if (vc_data.mask & VXSM_MSEC) {
++ vc_data.interval[0] = ticks_to_msec(vc_data.interval[0]);
++ vc_data.interval[1] = ticks_to_msec(vc_data.interval[1]);
++ }
++
+ if (copy_to_user (data, &vc_data, sizeof(vc_data)))
+ return -EFAULT;
+ return 0;