lkml.org 
[lkml]   [2014]   [Dec]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: frequent lockups in 3.18rc4
    From
    On Sun, Dec 21, 2014 at 2:32 PM, Dave Jones <davej@codemonkey.org.uk> wrote:
    > On Sun, Dec 21, 2014 at 02:19:03PM -0800, Linus Torvalds wrote:
    > >
    > > And finally, and stupidly, is there any chance that you have anything
    > > accessing /dev/hpet?
    >
    > Not knowingly at least, but who the hell knows what systemd has its
    > fingers in these days.

    Actually, it looks like /dev/hpet doesn't allow write access.

    I can do the mmap(/dev/mem) thing and access the HPET by hand, and
    when I write zero to it I immediately get something like this:

    Clocksource tsc unstable (delta = -284317725450 ns)
    Switched to clocksource hpet

    just to confirm that yes, a jump in the HPET counter would indeed give
    those kinds of symptoms:blaming the TSC with a negative delta in the
    0-300s range, even though it's the HPET that is broken.

    And if the HPET then occasionally jumps around afterwards, it would
    show up as ktime_get() occasionally going backwards, which in turn
    would - as far as I can tell - result in exactly that pseudo-infirnite
    loop with timers.

    Anyway, any wild kernel pointer access *could* happen to just hit the
    HPET and write to the main counter value, although I'd personally be
    more inclined to blame BIOS/SMM kind of code playing tricks with
    time.. We do have a few places where we explicitly write the value on
    purpose, but they are in the HPET init code, and in the clocksource
    resume code, so they should not be involved.

    Thomas - have you had reports of HPET breakage in RT circles, the same
    way BIOSes have been tinkering with TSC?

    Also, would it perhaps be a good idea to make "ktime_get()" save the
    last time in a percpu variable, and warn if time ever goes backwards
    on a particular CPU? A percpu thing should be pretty cheap, even if
    we write to it every time somebody asks for time..

    Linus


    \
     
     \ /
      Last update: 2014-12-22 01:21    [W:3.282 / U:22.404 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site