• Andi Kleen's avatar
    [PATCH] x86_64: Collected NMI watchdog fixes. · 75152114
    Andi Kleen authored
    Collected NMI watchdog fixes.
    
    - Fix call of check_nmi_watchdog
    
    - Remove earlier move of check_nmi_watchdog to later.  It does not fix the
      race it was supposed to fix fully.
    
    - Remove unused P6 definitions
    
    - Add support for performance counter based watchdog on P4 systems.
    
      This allows to run it only once per second, which saves some CPU time.
      Previously it would run at 1000Hz, which was too much.
    
      Code ported from i386
    
      Make this the default on Intel systems.
    
    - Use check_nmi_watchdog with local APIC based nmi
    
    - Fix race in touch_nmi_watchdog
    
    - Fix bug that caused incorrect performance counters to be programmed in a
      few cases on K8.
    
    - Remove useless check for local APIC
    
    - Use local_t and per_cpu variables for per CPU data.
    
    - Keep other CPUs busy during check_nmi_watchdog to make sure they really
      tick when in lapic mode.
    
    - Only check CPUs that are actually online.
    
    - Various other fixes.
    
    - Fix fallback path when MSRs are unimplemented
    Signed-off-by: default avatarAndi Kleen <ak@suse.de>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    75152114
nmi.c 14 KB