PROBLEM: Only 2 of 4 cores used on IBM Cell blades and no threads shown in spufs

Submitted by Dennis Schridde on April 23, 2013, 12:01 p.m.

Details

Message ID 20130423140116.0a40c2c6@samson
State Not Applicable
Headers show

Commit Message

Dennis Schridde April 23, 2013, 12:01 p.m.
Am Mon, 22 Apr 2013 18:44:13 +0200
schrieb Dennis Schridde <devurandom@gmx.net>:
> [4.] Kernel information
> 
> [4.1.] Kernel version (from /proc/version):
> I am using the Linux 3.8.8 kernel (vanilla-sources-3.8.8 on
> Gentoo/Linux): # cat /proc/version 
> Linux version 3.8.8 (root@blade00) (gcc version 4.7.2 (Gentoo
> 4.7.2-r1 p1.5, pie-0.5.5) ) #2 SMP Mon Apr 22 18:21:20 CEST 2013

Actually this is only partially correct.

I applied following patch by Grant Likely
<grant.likely@secretlab.ca> to fix some IRQ mapping problems:



And now I also applied the patch by Michael Ellerman
<michael@ellerman.id.au> that supposedly fixes the
all-processes-running-on-CPU0 issue - I will report back with results
later.

--Dennis

Comments

Michael Ellerman April 23, 2013, 12:16 p.m.
On Tue, Apr 23, 2013 at 02:01:16PM +0200, Dennis Schridde wrote:
> Am Mon, 22 Apr 2013 18:44:13 +0200
> schrieb Dennis Schridde <devurandom@gmx.net>:
> > [4.] Kernel information
> > 
> > [4.1.] Kernel version (from /proc/version):
> > I am using the Linux 3.8.8 kernel (vanilla-sources-3.8.8 on
> > Gentoo/Linux): # cat /proc/version 
> > Linux version 3.8.8 (root@blade00) (gcc version 4.7.2 (Gentoo
> > 4.7.2-r1 p1.5, pie-0.5.5) ) #2 SMP Mon Apr 22 18:21:20 CEST 2013
> 
> Actually this is only partially correct.
> 
> I applied following patch by Grant Likely
> <grant.likely@secretlab.ca> to fix some IRQ mapping problems:

Ah yes, I forgot I also have basically the same patch. I've just sent it
to the list.

We appear to have a number of problems with the irq mapping on cell,
that patch fixes the worst of them but there are more.

cheers
Dennis Schridde April 23, 2013, 12:41 p.m.
Am Dienstag, 23. April 2013, 22:16:21 schrieb Michael Ellerman:
> On Tue, Apr 23, 2013 at 02:01:16PM +0200, Dennis Schridde wrote:
> > I applied following patch by Grant Likely
> > <grant.likely@secretlab.ca> to fix some IRQ mapping problems:
> Ah yes, I forgot I also have basically the same patch. I've just sent it
> to the list.
> 
> We appear to have a number of problems with the irq mapping on cell,
> that patch fixes the worst of them but there are more.

Yes, and it would be great if that patch could actually be merged (I have been 
using it since November, but Grant apparently never merged it) and maybe the 
other problems could be solved, too. I am willing to assist in debugging and 
testing.

--Dennis
Michael Ellerman April 23, 2013, 12:53 p.m.
On Tue, Apr 23, 2013 at 02:41:18PM +0200, Dennis Schridde wrote:
> Am Dienstag, 23. April 2013, 22:16:21 schrieb Michael Ellerman:
> > On Tue, Apr 23, 2013 at 02:01:16PM +0200, Dennis Schridde wrote:
> > > I applied following patch by Grant Likely
> > > <grant.likely@secretlab.ca> to fix some IRQ mapping problems:
> > Ah yes, I forgot I also have basically the same patch. I've just sent it
> > to the list.
> > 
> > We appear to have a number of problems with the irq mapping on cell,
> > that patch fixes the worst of them but there are more.
> 
> Yes, and it would be great if that patch could actually be merged (I have been 
> using it since November, but Grant apparently never merged it) and maybe the 
> other problems could be solved, too. I am willing to assist in debugging and 
> testing.

Yeah, it's not really Grant's patch to merge, so that's our fault. Ben
will merge it this cycle via the powerpc tree.

I'll reply to your other mail on the other issues.

cheers

Patch hide | download patch | download mbox

diff --git a/arch/powerpc/platforms/cell/pmu.c
b/arch/powerpc/platforms/cell/pmu.c index 59c1a16..348a27b 100644
--- a/arch/powerpc/platforms/cell/pmu.c
+++ b/arch/powerpc/platforms/cell/pmu.c
@@ -382,7 +382,7 @@  static int __init cbe_init_pm_irq(void)
        unsigned int irq;
        int rc, node;

-       for_each_node(node) {
+       for_each_online_node(node) {
                irq = irq_create_mapping(NULL, IIC_IRQ_IOEX_PMI |
                                               (node <<
  IIC_IRQ_NODE_SHIFT)); if (irq == NO_IRQ) {