The patch titled init/calibrate.c: fix jiffy calculations in calibrate_delay_direct to handle overflow has been added to the -mm tree. Its filename is init-calibratec-fix-jiffy-calculations-in-calibrate_delay_direct-to-handle-overflow.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: init/calibrate.c: fix jiffy calculations in calibrate_delay_direct to handle overflow From: Tim Deegan <Tim.Deegan@xxxxxxxxxx> Fixes a hang when booting as dom0 under Xen, when jiffies can be quite large by the time the kernel init gets this far. [jbeulich@xxxxxxxxxx: !time_after() -> time_before_eq() as suggested by Jiri Slaby] Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- init/calibrate.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff -puN init/calibrate.c~init-calibratec-fix-jiffy-calculations-in-calibrate_delay_direct-to-handle-overflow init/calibrate.c --- a/init/calibrate.c~init-calibratec-fix-jiffy-calculations-in-calibrate_delay_direct-to-handle-overflow +++ a/init/calibrate.c @@ -66,7 +66,7 @@ static unsigned long __cpuinit calibrate pre_start = 0; read_current_timer(&start); start_jiffies = jiffies; - while (jiffies <= (start_jiffies + 1)) { + while (time_before_eq(jiffies, start_jiffies + 1)) { pre_start = start; read_current_timer(&start); } @@ -74,8 +74,8 @@ static unsigned long __cpuinit calibrate pre_end = 0; end = post_start; - while (jiffies <= - (start_jiffies + 1 + DELAY_CALIBRATION_TICKS)) { + while (time_before_eq(jiffies, start_jiffies + 1 + + DELAY_CALIBRATION_TICKS)) { pre_end = end; read_current_timer(&end); } _ Patches currently in -mm which might be from Tim.Deegan@xxxxxxxxxx are init-calibratec-fix-jiffy-calculations-in-calibrate_delay_direct-to-handle-overflow.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html