Skip to contentSkip to conversation

sparc32: SMP IPI patches

PATCH Superseded Daniel Hellstrom 2 participants 3 messages Apr 27, 2011 – May 16, 2011

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

cover sparc32: SMP IPI patches

Hello Dave,

I have made a new set of IPI patches, this time it includes a patch for SUN4M but still missing SUN4D however.

I have tried to use BTFIXUPs and extract some code from the LEON to the common smp_32.c as you suggested. I have left the non-spinlock LEON code around per-cpu work data as we discussed, I think the same argumentation works for sun4m to avoid races when clearing the pending register in the interrupt trap handler.

This time I added some IPI IRQ statistics to the genirq arch_show_interrupts(),
so the patches must be applied to sparc-next containing genirq patches.

Daniel

 arch/sparc/Kconfig                  |    3 +-
 arch/sparc/include/asm/cpudata_32.h |    5 ++
 arch/sparc/include/asm/leon.h       |    4 +-
 arch/sparc/include/asm/smp_32.h     |   22 +++----
 arch/sparc/kernel/entry.S           |   45 +++++++++++++-
 arch/sparc/kernel/irq_32.c          |   10 +++
 arch/sparc/kernel/leon_smp.c        |  109 
++++++++++++++++++++++++++++++++++-
 arch/sparc/kernel/smp_32.c          |   52 +++++++++++++++--
 arch/sparc/kernel/sun4m_smp.c       |   29 +++++++++
 9 files changed, 251 insertions(+), 28 deletions(-)
#1 lore raw

From: Daniel Hellstrom <[email protected]>
Date: Wed, 27 Apr 2011 15:18:43 +0200

Quoted 9 lines

I have made a new set of IPI patches, this time it includes a patch for SUN4M but still missing SUN4D however.

I have tried to use BTFIXUPs and extract some code from the LEON to the common smp_32.c as you suggested. I have left the non-spinlock LEON code around per-cpu work data as we discussed, I think the same argumentation works for sun4m to avoid races when clearing the pending register in the interrupt trap handler.

Quoted 4 lines

This time I added some IPI IRQ statistics to the genirq arch_show_interrupts(),
so the patches must be applied to sparc-next containing genirq patches.

All 3 patches applied.

#2 lore raw
In reply to Daniel Hellstrom

From: David Miller <[email protected]>
Date: Mon, 16 May 2011 13:04:28 -0700 (PDT)

Quoted 12 lines

From: Daniel Hellstrom <[email protected]>
Date: Wed, 27 Apr 2011 15:18:43 +0200

Quoted 9 lines

I have made a new set of IPI patches, this time it includes a patch for SUN4M but still missing SUN4D however.

I have tried to use BTFIXUPs and extract some code from the LEON to the common smp_32.c as you suggested. I have left the non-spinlock LEON code around per-cpu work data as we discussed, I think the same argumentation works for sun4m to avoid races when clearing the pending register in the interrupt trap handler.

Quoted 6 lines
Quoted 4 lines

This time I added some IPI IRQ statistics to the genirq arch_show_interrupts(),
so the patches must be applied to sparc-next containing genirq patches.

All 3 patches applied.

Oops, I see now there was a 4-patch "v2" series, will look that over instead. :-)