2002-09-13 03:31:08

by James Cleverdon

[permalink] [raw]
Subject: [PATCH] Summit patch for 2.5.34

Patch that allows IBM x440 boxes to on-line all CPUs and interrupt routing for
x360s. Fixed x360 ID bug.

--
James Cleverdon
IBM xSeries Linux Solutions
{jamesclv(Unix, preferred), cleverdj(Notes)} at us dot ibm dot com


Attachments:
summit_patch.2002-09-12_2.5.34 (37.32 kB)

2002-09-16 15:50:51

by Dave Jones

[permalink] [raw]
Subject: Re: [PATCH] Summit patch for 2.5.34

On Thu, Sep 12, 2002 at 08:35:14PM -0700, James Cleverdon wrote:
> Patch that allows IBM x440 boxes to on-line all CPUs and interrupt routing for
> x360s. Fixed x360 ID bug.

Couple questions/comments.

- Is this the same summit code as is in 2.4-ac ?
(Ie, the one that boots on non summit systems too)
- I believe the way forward here is to work with James Bottomley,
who has a nice abstraction of the areas your patch touches for
his Voyager sub-architecture.
Linus has however been completley silent on the x86-subarch idea
despite heavyweights like Alan and Ingo adding their support...
If you go this route, James' base needs to go in first
(converting just the in-kernel visws support). After which, adding
support for Voyager, Summit and any other wacky x86esque hardware
is a simple non-intrusive patch that touches subarch specific areas.
- Some of the code you've added looks along the lines of..

if (numaq)
foo();
else if (summit)
foo2();
else
foo3();

Would it be over-abstracting to have some form of APIC struct,
defining pointers to various routines instead of lots of ugly
if's/switches/fall-through's.

However, the last point may be completley pointless after adapting to
use what James B has come up with..

Dave

--
| Dave Jones. http://www.codemonkey.org.uk
| SuSE Labs

2002-09-16 16:10:56

by Alan Cox

[permalink] [raw]
Subject: Re: [PATCH] Summit patch for 2.5.34

> - Is this the same summit code as is in 2.4-ac ?
> (Ie, the one that boots on non summit systems too)

Yes

> - I believe the way forward here is to work with James Bottomley,
> who has a nice abstraction of the areas your patch touches for
> his Voyager sub-architecture.

For 2.5 maybe not for 2.4. Until Linus takes the subarch stuff the
if if if bits will just get uglier. As well as voyager there are at least
two more pending NUMA x86 platforms other than IBM summit

2002-09-16 16:22:49

by Dave Jones

[permalink] [raw]
Subject: Re: [PATCH] Summit patch for 2.5.34

On Mon, Sep 16, 2002 at 12:15:52PM -0400, Alan Cox wrote:
> > - I believe the way forward here is to work with James Bottomley,
> For 2.5 maybe not for 2.4.

Oh, absolutely. subarch support is way too intrusive a change for 2.4.

> Until Linus takes the subarch stuff the
> if if if bits will just get uglier. As well as voyager there are at least
> two more pending NUMA x86 platforms other than IBM summit

Indeed. And who knows how many more to come...

Dave

--
| Dave Jones. http://www.codemonkey.org.uk
| SuSE Labs

2002-09-16 18:59:51

by James Cleverdon

[permalink] [raw]
Subject: Re: [PATCH] Summit patch for 2.5.34

On Monday 16 September 2002 09:15 am, Alan Cox wrote:
> > - Is this the same summit code as is in 2.4-ac ?
> > (Ie, the one that boots on non summit systems too)
>
> Yes

It's the same, save for a few lines of code that use the local APIC's task
priority HW to try for some better dynamic interrupt balancing.

> > - I believe the way forward here is to work with James Bottomley,
> > who has a nice abstraction of the areas your patch touches for
> > his Voyager sub-architecture.
>
> For 2.5 maybe not for 2.4. Until Linus takes the subarch stuff the
> if if if bits will just get uglier. As well as voyager there are at least
> two more pending NUMA x86 platforms other than IBM summit
> -

I'll have to read up on James Bottomley's x86 subarch code.

--
James Cleverdon
IBM xSeries Linux Solutions
{jamesclv(Unix, preferred), cleverdj(Notes)} at us dot ibm dot com

2002-09-16 21:19:34

by James Cleverdon

[permalink] [raw]
Subject: Re: [PATCH] Summit patch for 2.5.34

On Monday 16 September 2002 08:55 am, Dave Jones wrote:
> On Thu, Sep 12, 2002 at 08:35:14PM -0700, James Cleverdon wrote:
> > Patch that allows IBM x440 boxes to on-line all CPUs and interrupt
> > routing for x360s. Fixed x360 ID bug.
>
> Couple questions/comments.
>
> - Is this the same summit code as is in 2.4-ac ?
> (Ie, the one that boots on non summit systems too)

Yes, save for the dynamic TPR enhancement. (Already addressed by Alan, etc,
in other postings.)

> - I believe the way forward here is to work with James Bottomley,
> who has a nice abstraction of the areas your patch touches for
> his Voyager sub-architecture.
> Linus has however been completley silent on the x86-subarch idea
> despite heavyweights like Alan and Ingo adding their support...
> If you go this route, James' base needs to go in first
> (converting just the in-kernel visws support). After which, adding
> support for Voyager, Summit and any other wacky x86esque hardware
> is a simple non-intrusive patch that touches subarch specific areas.
> - Some of the code you've added looks along the lines of..
>
> if (numaq)
> foo();
> else if (summit)
> foo2();
> else
> foo3();
>
> Would it be over-abstracting to have some form of APIC struct,
> defining pointers to various routines instead of lots of ugly
> if's/switches/fall-through's.
>
> However, the last point may be completley pointless after adapting to
> use what James B has come up with..
>
> Dave

All the if/else chains are in init code, where a few more microseconds for
some extra branches isn't important. However, a nice sub-arch abstraction
would be welcome.

Thanks!

--
James Cleverdon
IBM xSeries Linux Solutions
{jamesclv(Unix, preferred), cleverdj(Notes)} at us dot ibm dot com