[PATCH 1/2] c/r: compute hrtimer remaining time relative to ktime_begin

Oren Laadan orenl at cs.columbia.edu
Mon Aug 2 14:55:08 PDT 2010


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 <orenl at cs.columbia.edu>
---
 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



More information about the Containers mailing list