• Jeremy Fitzhardinge's avatar
    Ignore stolen time in the softlockup watchdog · 966812dc
    Jeremy Fitzhardinge authored
    The softlockup watchdog is currently a nuisance in a virtual machine, since
    the whole system could have the CPU stolen from it for a long period of
    time.  While it would be unlikely for a guest domain to be denied timer
    interrupts for over 10s, it could happen and any softlockup message would
    be completely spurious.
    
    Earlier I proposed that sched_clock() return time in unstolen nanoseconds,
    which is how Xen and VMI currently implement it.  If the softlockup
    watchdog uses sched_clock() to measure time, it would automatically ignore
    stolen time, and therefore only report when the guest itself locked up.
    When running native, sched_clock() returns real-time nanoseconds, so the
    behaviour would be unchanged.
    
    Note that sched_clock() used this way is inherently per-cpu, so this patch
    makes sure that the per-processor watchdog thread initialized its own
    timestamp.
    Signed-off-by: default avatarJeremy Fitzhardinge <jeremy@xensource.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: john stultz <johnstul@us.ibm.com>
    Cc: Zachary Amsden <zach@vmware.com>
    Cc: James Morris <jmorris@namei.org>
    Cc: Dan Hecht <dhecht@vmware.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Cc: Prarit Bhargava <prarit@redhat.com>
    Cc: Chris Lalancette <clalance@redhat.com>
    Cc: Rick Lindsley <ricklind@us.ibm.com>
    Cc: Eric Dumazet <dada1@cosmosbay.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    966812dc
softlockup.c 4.45 KB