• Dave Hansen's avatar
    x86: Warn when NMI handlers take large amounts of time · 2ab00456
    Dave Hansen authored
    I have a system which is causing all kinds of problems.  It has
    8 NUMA nodes, and lots of cores that can fight over cachelines.
    If things are not working _perfectly_, then NMIs can take longer
    than expected.
    
    If we get too many of them backed up to each other, we can
    easily end up in a situation where we are doing nothing *but*
    running NMIs.  The biggest problem, though, is that this happens
    _silently_.  You might be lucky to get an hrtimer warning, but
    most of the time system simply hangs.
    
    This patch should at least give us some warning before we fall
    off the cliff.  the warnings look like this:
    
    	nmi_handle: perf_event_nmi_handler() took: 26095071 ns
    
    The message is triggered whenever we notice the longest NMI
    we've seen to date.  You can always view and reset this value
    via the debugfs interface if you like.
    Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
    Acked-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: paulus@samba.org
    Cc: acme@ghostprotocols.net
    Cc: Dave Hansen <dave@sr71.net>
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    2ab00456
nmi.c 15.2 KB