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