[lkml]   [2010]   [Mar]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] hangcheck-timer is broken on x86
    On Fri, 26 Mar 2010 14:24:23 -0700
    Andrew Morton <> wrote:

    > On Tue, 23 Mar 2010 23:36:11 -0400
    > Yury Polyanskiy <> wrote:
    > > The drivers/char/hangcheck-timer.c is doubly broken. First, the
    > > following line overflows unsigned long:
    > > # define TIMER_FREQ (HZ*loops_per_jiffy)
    > >
    > > Second, and more importantly, loops_per_jiffy has little to do with the conversion from the
    > > the time scale of get_cycles() (aka rdtsc) to the time scale of jiffies.
    > It's a bit odd to have a driver be this broken on x86_32 for five years
    > without anyone noticing. What are the user-visible effects of these
    > shortcomings?

    When the overflown value of TIMER_FREQ is abnormally low, it spams the
    syslog with KERN_CRIT messages "Hangcheck: hangcheck value past margin!"
    But whether it happens or not depends on HZ and lpj in a complex way.
    People have hit it occasionally as far as google search can tell.

    > Also, please do send us a Signed-off-by: for this patch, as explained
    > in Documentation/SubmittingPatches, thanks.


    Signed-off-by: Yury Polyanskiy <>

    Thank you Andrew!

    [unhandled content-type:application/pgp-signature]
     \ /
      Last update: 2010-03-26 22:55    [W:0.019 / U:2.112 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site