[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20061207165751.GA2720@elte.hu>
Date: Thu, 7 Dec 2006 17:57:51 +0100
From: Ingo Molnar <mingo@...e.hu>
To: "K.R. Foley" <kr@...sft.com>
Cc: linux-kernel@...r.kernel.org, linux-rt-users@...r.kernel.org,
Mike Galbraith <efault@....de>,
Clark Williams <williams@...hat.com>,
Sergei Shtylyov <sshtylyov@...mvista.com>,
Thomas Gleixner <tglx@...utronix.de>,
Fernando Lopez-Lezcano <nando@...ma.Stanford.EDU>,
Giandomenico De Tullio <ghisha@...il.it>
Subject: Re: v2.6.19-rt6, yum/rpm
* K.R. Foley <kr@...sft.com> wrote:
> Ingo Molnar wrote:
>
> The attached patch is necessary to build 2.6.19-rt8 without KEXEC
> enabled. Without KEXEC enabled crash.c doesn't get included. I believe
> this is correct.
ah, indeed. I went for a slightly different approach - see the patch
below. Sending an NMI to all CPUs is not something that is tied to
KEXEC, it belongs into nmi.c.
Ingo
Index: linux/arch/i386/kernel/crash.c
===================================================================
--- linux.orig/arch/i386/kernel/crash.c
+++ linux/arch/i386/kernel/crash.c
@@ -132,14 +132,6 @@ static int crash_nmi_callback(struct not
return 1;
}
-void smp_send_nmi_allbutself(void)
-{
- cpumask_t mask = cpu_online_map;
- cpu_clear(safe_smp_processor_id(), mask);
- if (!cpus_empty(mask))
- send_IPI_mask(mask, NMI_VECTOR);
-}
-
static struct notifier_block crash_nmi_nb = {
.notifier_call = crash_nmi_callback,
};
Index: linux/arch/i386/kernel/nmi.c
===================================================================
--- linux.orig/arch/i386/kernel/nmi.c
+++ linux/arch/i386/kernel/nmi.c
@@ -1133,6 +1133,14 @@ int proc_nmi_enabled(struct ctl_table *t
#endif
+void smp_send_nmi_allbutself(void)
+{
+ cpumask_t mask = cpu_online_map;
+ cpu_clear(safe_smp_processor_id(), mask);
+ if (!cpus_empty(mask))
+ send_IPI_mask(mask, NMI_VECTOR);
+}
+
EXPORT_SYMBOL(nmi_active);
EXPORT_SYMBOL(nmi_watchdog);
EXPORT_SYMBOL(avail_to_resrv_perfctr_nmi);
Index: linux/arch/x86_64/kernel/crash.c
===================================================================
--- linux.orig/arch/x86_64/kernel/crash.c
+++ linux/arch/x86_64/kernel/crash.c
@@ -127,11 +127,6 @@ static int crash_nmi_callback(struct not
return 1;
}
-void smp_send_nmi_allbutself(void)
-{
- send_IPI_allbutself(NMI_VECTOR);
-}
-
/*
* This code is a best effort heuristic to get the
* other cpus to stop executing. So races with
Index: linux/arch/x86_64/kernel/nmi.c
===================================================================
--- linux.orig/arch/x86_64/kernel/nmi.c
+++ linux/arch/x86_64/kernel/nmi.c
@@ -1015,6 +1015,11 @@ int proc_nmi_enabled(struct ctl_table *t
#endif
+void smp_send_nmi_allbutself(void)
+{
+ send_IPI_allbutself(NMI_VECTOR);
+}
+
EXPORT_SYMBOL(nmi_active);
EXPORT_SYMBOL(nmi_watchdog);
EXPORT_SYMBOL(avail_to_resrv_perfctr_nmi);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists