[PATCH] softlockup: stop softlockup messages due to touch_ts math overflow

Andy Whitcroft apw at canonical.com
Thu Mar 18 05:46:50 UTC 2010

On Tue, Mar 09, 2010 at 04:37:19PM +0000, Colin Ian King wrote:
> Hi,
> This patch will fix a math overflow error that causes spurious soft
> lockup error messages. It catches a corner case, for example, just when
> the TSC heads towards a 64 bit wrap-around when the upper 32 bits are
> set to 0xffffffff.  While this normally does not happen (since it
> requires an uptime of possibly thousands of years, it may happen if the
> TSC warps during S3).

Can't you rewrite this:

	if ((unsigned long long)now <= 
	    ((unsigned long long)touch_ts + softlockup_thresh))

as below and avoid the cast?

     if ((now - touch_ts) <= softlockup_threash)


More information about the kernel-team mailing list