Keith Owens wrote:
> On Tue, 25 Jun 2002 17:24:00 -0700, 
> Matthew Dobson <[EMAIL PROTECTED]> wrote:
> 
>>This patch gets stack backtracing to work
> That patch is fine.
Great!

>>diff -Nur linux-2.5.9-van+kdb/arch/i386/kernel/smp.c 
>linux-2.5.9-kdb/arch/i386/kernel/smp.c
>>--- linux-2.5.9-van+kdb/arch/i386/kernel/smp.c        Mon Jun 24 11:33:51 2002
>>+++ linux-2.5.9-kdb/arch/i386/kernel/smp.c    Tue Jun 11 13:59:47 2002
>>@@ -236,7 +237,15 @@
>>                       * program the ICR 
>>                       */
>>                      cfg = __prepare_ICR(0, vector);
>>-                     
>>+
>>+#ifdef       CONFIG_KDB
>>+     if (vector == KDB_VECTOR) {
>>+             /*
>>+              * Setup KDB IPI to be delivered as an NMI
>>+              */
>>+             cfg = (cfg&~APIC_VECTOR_MASK)|APIC_DM_NMI;
>>+     }
>>+#endif       /* CONFIG_KDB */
>>                      /*
>>                       * Send the IPI. The write to APIC_ICR fires this off.
>>                       */
> 
> 
> There are three calls to __prepare_ICR() in smp.c.  kdb already patches
> __send_IPI_shortcut(), your patch updates send_IPI_mask_sequence.  What
> about send_IPI_mask_bitmask, does that need to be tweaked as well?
I'm not sure.  My guess would be yes, since all the rest needed a tweak.  The 
only thing is, send_IPI_mask_bitmask is only called via send_IPI_mask, when 
we're not in clustered_apic_mode.  This case only occurs in flush_tlb_others 
and smp_send_reschedule...  I'm not 100% sure, but I don't think KDB is sending 
any vectors though those call paths?  If that's the case then it can be left 
alone.  I know for our hardware, we're operating in clustered_apic_mode, so 
send_IPI_mask_bitmask should never be called.

Cheers!

-Matt

Reply via email to