The rule for time values in c/r is: all time measurements in the checkpoint image are saved as relative values, using the start-of-checkpoint as the reference point in time.
This patch fixes how hrtimer delta is calculated to make it really follow this rule. Signed-off-by: Oren Laadan <[email protected]> --- kernel/signal.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/kernel/signal.c b/kernel/signal.c index de76729..0ec4a46 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -3151,7 +3151,8 @@ static int checkpoint_signal(struct ckpt_ctx *ctx, struct task_struct *t) /* real/virt/prof itimers */ if (hrtimer_active(&signal->real_timer)) { /* For an active timer compute the time delta */ - ktime_t delta = hrtimer_get_remaining(&signal->real_timer); + ktime_t delta = ktime_sub(ctx->ktime_begin, + signal->real_timer._expires); /* * If the timer expired after the the test above, then * set the expire to the minimum possible (because by -- 1.7.0.4 _______________________________________________ Containers mailing list [email protected] https://lists.linux-foundation.org/mailman/listinfo/containers _______________________________________________ Devel mailing list [email protected] https://openvz.org/mailman/listinfo/devel
