lkml.org 
[lkml]   [2006]   [Dec]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: v2.6.19-rt6, yum/rpm

    * K.R. Foley <kr@cybsft.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@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-12-07 18:03    [W:4.105 / U:0.064 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site