OpenVZ Forum


Home » Mailing lists » Devel » [PATCH COMMIT] diff-smp-nmi-show-regs-fixes
[PATCH COMMIT] diff-smp-nmi-show-regs-fixes [message #2445] Wed, 05 April 2006 10:32
xemul is currently offline  xemul
Messages: 248
Registered: November 2005
Senior Member
Added to 026test008

Patch from OpenVZ team <devel@openvz.org>
Fix of previous patch for voyager.

Cc: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Kirill Korotaev <dev@sw.ru>
Signed-off-by: Pavel Emelianov <xemul@sw.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>


diff -puN arch/i386/kernel/nmi.c~nmi-lockup-and-altsysrq-p-dumping-cal ltraces-on-_all_-cpus-fixes arch/i386/kernel/nmi.c
--- devel/arch/i386/kernel/nmi.c~nmi-lockup-and-altsysrq-p-dumpi ng-calltraces-on-_all_-cpus-fixes 2006-03-18 01:12:53.000000000 -0800
+++ devel-akpm/arch/i386/kernel/nmi.c 2006-03-18 01:12:53.000000000 -0800
@@ -523,10 +523,10 @@ void touch_nmi_watchdog (void)

extern void die_nmi(struct pt_regs *, const char *msg);

-static spinlock_t show_regs_lock = SPIN_LOCK_UNLOCKED;
-
void smp_show_regs(struct pt_regs *regs, void *info)
{
+ static DEFINE_SPINLOCK(show_regs_lock);
+
if (regs == NULL)
return;

@@ -538,7 +538,7 @@ void smp_show_regs(struct pt_regs *regs,
bust_spinlocks(0);
}

-void nmi_watchdog_tick (struct pt_regs * regs)
+void nmi_watchdog_tick(struct pt_regs *regs)
{

/*
diff -puN arch/i386/kernel/traps.c~nmi-lockup-and-altsysrq-p-dumping-c alltraces-on-_all_-cpus-fixes arch/i386/kernel/traps.c
--- devel/arch/i386/kernel/traps.c~nmi-lockup-and-altsysrq-p-dum ping-calltraces-on-_all_-cpus-fixes 2006-03-18 01:12:53.000000000 -0800
+++ devel-akpm/arch/i386/kernel/traps.c 2006-03-18 01:13:36.000000000 -0800
@@ -671,12 +671,27 @@ static void unknown_nmi_error(unsigned c
printk("Do you have a strange power saving mode enabled?\n");
}

-static DEFINE_SPINLOCK(nmi_print_lock);
+/*
+ * Voyager doesn't implement these
+ */
+void __attribute__((weak)) smp_show_regs(struct pt_regs *regs, void *info)
+{
+}
+
+#ifdef CONFIG_SMP
+int __attribute__((weak))
+smp_nmi_call_function(smp_nmi_function func, void *info, int wait)
+{
+ return 0;
+}
+#endif

void die_nmi (struct pt_regs *regs, const char *msg)
{
+ static DEFINE_SPINLOCK(nmi_print_lock);
+
if (notify_die(DIE_NMIWATCHDOG, msg, regs, 0, 0, SIGINT) ==
- NOTIFY_STOP)
+ NOTIFY_STOP)
return;

spin_lock(&nmi_print_lock);
Previous Topic: [PATCH COMMIT] diff-smp-nmi-show-regs
Next Topic: [PATCH COMMIT] diff-ve-inkernel-compilation
Goto Forum:
  


Current Time: Sun May 12 02:31:14 GMT 2024

Total time taken to generate the page: 0.01620 seconds