public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Power/PowerPC RIOS/RIOS2 obsolescence
@ 2010-06-29  6:30 Kevin Bowling
  2010-06-29  8:23 ` Andrew Haley
  2010-06-29 14:39 ` David Edelsohn
  0 siblings, 2 replies; 13+ messages in thread
From: Kevin Bowling @ 2010-06-29  6:30 UTC (permalink / raw)
  To: gcc

In the GCC 4.5 announcement:

"Support for the classic POWER architecture implemented in the
original RIOS and RIOS2 processors of the old IBM RS/6000 product line
has been obsoleted in the rs6000 port. This does not affect the new
generation Power and PowerPC architectures."

What needs to be done to keep this code alive?  It seems fairly light
weight.  I can provide remote access to AIX POWER2 hardware if needed.

Regards,
Kevin Bowling

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Power/PowerPC RIOS/RIOS2 obsolescence
  2010-06-29  6:30 Power/PowerPC RIOS/RIOS2 obsolescence Kevin Bowling
@ 2010-06-29  8:23 ` Andrew Haley
  2010-06-29  8:27   ` Kevin Bowling
  2010-06-29 14:39 ` David Edelsohn
  1 sibling, 1 reply; 13+ messages in thread
From: Andrew Haley @ 2010-06-29  8:23 UTC (permalink / raw)
  To: gcc

On 06/29/2010 06:53 AM, Kevin Bowling wrote:
> In the GCC 4.5 announcement:
> 
> "Support for the classic POWER architecture implemented in the
> original RIOS and RIOS2 processors of the old IBM RS/6000 product line
> has been obsoleted in the rs6000 port. This does not affect the new
> generation Power and PowerPC architectures."
> 
> What needs to be done to keep this code alive?  It seems fairly light
> weight.  I can provide remote access to AIX POWER2 hardware if needed.

We need a volunteer to maintain the code.

Andrew.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Power/PowerPC RIOS/RIOS2 obsolescence
  2010-06-29  8:23 ` Andrew Haley
@ 2010-06-29  8:27   ` Kevin Bowling
  0 siblings, 0 replies; 13+ messages in thread
From: Kevin Bowling @ 2010-06-29  8:27 UTC (permalink / raw)
  To: gcc

On Tue, Jun 29, 2010 at 12:45 AM, Andrew Haley <aph@redhat.com> wrote:
> On 06/29/2010 06:53 AM, Kevin Bowling wrote:
>> In the GCC 4.5 announcement:
>>
>> "Support for the classic POWER architecture implemented in the
>> original RIOS and RIOS2 processors of the old IBM RS/6000 product line
>> has been obsoleted in the rs6000 port. This does not affect the new
>> generation Power and PowerPC architectures."
>>
>> What needs to be done to keep this code alive?  It seems fairly light
>> weight.  I can provide remote access to AIX POWER2 hardware if needed.
>
> We need a volunteer to maintain the code.

I am willing.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Power/PowerPC RIOS/RIOS2 obsolescence
  2010-06-29  6:30 Power/PowerPC RIOS/RIOS2 obsolescence Kevin Bowling
  2010-06-29  8:23 ` Andrew Haley
@ 2010-06-29 14:39 ` David Edelsohn
  2010-06-29 22:45   ` Kevin Bowling
  1 sibling, 1 reply; 13+ messages in thread
From: David Edelsohn @ 2010-06-29 14:39 UTC (permalink / raw)
  To: Kevin Bowling; +Cc: gcc

On Tue, Jun 29, 2010 at 1:53 AM, Kevin Bowling <kevin.bowling@kev009.com> wrote:
> In the GCC 4.5 announcement:
>
> "Support for the classic POWER architecture implemented in the
> original RIOS and RIOS2 processors of the old IBM RS/6000 product line
> has been obsoleted in the rs6000 port. This does not affect the new
> generation Power and PowerPC architectures."
>
> What needs to be done to keep this code alive?  It seems fairly light
> weight.  I can provide remote access to AIX POWER2 hardware if needed.

Why should this code be maintained?

Andrew Haley's well-intentioned comments are completely off the mark.

Linux does not run on POWER1 or POWER2 hardware.  Recent versions of
AIX do not run on it.  The hardware no longer is supported by IBM.

Even if GCC can build and run on such a system, support for the
original POWER ISA complicates the rs6000 port.  While the support is
fairly mechanical, it is large and bulky.  Because of some other
improvements the maintainers of the rs6000 port wish to make, we plan
to remove classic POWER support to simplify the implementation of the
new features.

If there is a user community relying on modern versions of GCC for use
on those systems, I would reconsider.  One person saying he has access
to an AIX POWER2 system and retaining the support seems like a cool
idea is not a reason to devote the resources.  GCC's mission is not to
support every system in a computer history museum.  Older versions of
GCC created at the time of those systems still will work on those
systems.

Thanks, David

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Power/PowerPC RIOS/RIOS2 obsolescence
  2010-06-29 14:39 ` David Edelsohn
@ 2010-06-29 22:45   ` Kevin Bowling
  2010-06-29 23:07     ` Steven Bosscher
  2010-06-30  8:02     ` David Edelsohn
  0 siblings, 2 replies; 13+ messages in thread
From: Kevin Bowling @ 2010-06-29 22:45 UTC (permalink / raw)
  To: David Edelsohn; +Cc: gcc

On Tue, Jun 29, 2010 at 7:09 AM, David Edelsohn <dje.gcc@gmail.com> wrote:
> On Tue, Jun 29, 2010 at 1:53 AM, Kevin Bowling <kevin.bowling@kev009.com> wrote:
>> In the GCC 4.5 announcement:
>>
>> "Support for the classic POWER architecture implemented in the
>> original RIOS and RIOS2 processors of the old IBM RS/6000 product line
>> has been obsoleted in the rs6000 port. This does not affect the new
>> generation Power and PowerPC architectures."
>>
>> What needs to be done to keep this code alive?  It seems fairly light
>> weight.  I can provide remote access to AIX POWER2 hardware if needed.
>
> Why should this code be maintained?
>
> Andrew Haley's well-intentioned comments are completely off the mark.
>
> Linux does not run on POWER1 or POWER2 hardware.  Recent versions of
> AIX do not run on it.  The hardware no longer is supported by IBM.
>
> Even if GCC can build and run on such a system, support for the
> original POWER ISA complicates the rs6000 port.  While the support is
> fairly mechanical, it is large and bulky.  Because of some other
> improvements the maintainers of the rs6000 port wish to make, we plan
> to remove classic POWER support to simplify the implementation of the
> new features.
>
> If there is a user community relying on modern versions of GCC for use
> on those systems, I would reconsider.  One person saying he has access
> to an AIX POWER2 system and retaining the support seems like a cool
> idea is not a reason to devote the resources.  GCC's mission is not to
> support every system in a computer history museum.  Older versions of
> GCC created at the time of those systems still will work on those
> systems.
>
> Thanks, David


This is an unfortunate attitude many people have in free software
these days, especially big business contributors with profit-aligned
motives.  Linus weighs in on a similar dissent here:
http://lwn.net/Articles/339455/.

I'm currently working on the NetBSD port:
http://www.netbsd.org/ports/rs6000/.  I also have patches that boot
the Linux kernel.  Quite simply, this stuff is interesting to me.  I
am not a professional systems programmer.  This project has a low bar
of entry and serves a pedagogic purpose to me.  I can't compete with
professional arch maintainers that handle the lower level on modern
hardware, nor do I have a POWER7 to call my own.

Finally, the CPU is used in a variety of embedded applications.  There
are over 200 RSC(POWER1) RAD6000 in space [1], including a launch in
Feb 2010.  While compiler choice in this application is almost
certainly static, GCC support provides interesting options for these
folks since you can't beam up a Core i7 just because it's fashionable.

Regards,
Kevin Bowling

[1] http://en.wikipedia.org/wiki/IBM_RAD6000

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Power/PowerPC RIOS/RIOS2 obsolescence
  2010-06-29 22:45   ` Kevin Bowling
@ 2010-06-29 23:07     ` Steven Bosscher
  2010-06-30  1:51       ` Kevin Bowling
  2010-06-30  8:02     ` David Edelsohn
  1 sibling, 1 reply; 13+ messages in thread
From: Steven Bosscher @ 2010-06-29 23:07 UTC (permalink / raw)
  To: Kevin Bowling; +Cc: David Edelsohn, gcc

On 6/30/10, Kevin Bowling <kevin.bowling@kev009.com> wrote:
>> GCC's mission is not to
>> support every system in a computer history museum.  Older versions of
>> GCC created at the time of those systems still will work on those
>> systems.
>>
>
>
> This is an unfortunate attitude many people have in free software
> these days, especially big business contributors with profit-aligned
> motives.

As a not-for-profit gcc hacker: istm that it's the other way around.
Small groups of non-contributors with insignificant hobby projects,
trying to impose their ideals on foss projects. We see it all the time
on this list.

But perhaps you could share your technical arguments instead?
Especially counter-arguments against David's, which you conveniently
ignore?

Ciao!
Steven

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Power/PowerPC RIOS/RIOS2 obsolescence
  2010-06-29 23:07     ` Steven Bosscher
@ 2010-06-30  1:51       ` Kevin Bowling
  2010-06-30  2:00         ` Andrew Pinski
                           ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Kevin Bowling @ 2010-06-30  1:51 UTC (permalink / raw)
  To: Steven Bosscher; +Cc: David Edelsohn, gcc

On Tue, Jun 29, 2010 at 3:35 PM, Steven Bosscher <stevenb.gcc@gmail.com> wrote:
> On 6/30/10, Kevin Bowling <kevin.bowling@kev009.com> wrote:
>>> GCC's mission is not to
>>> support every system in a computer history museum.  Older versions of
>>> GCC created at the time of those systems still will work on those
>>> systems.
>>>
>>
>>
>> This is an unfortunate attitude many people have in free software
>> these days, especially big business contributors with profit-aligned
>> motives.
>
> As a not-for-profit gcc hacker: istm that it's the other way around.
> Small groups of non-contributors with insignificant hobby projects,
> trying to impose their ideals on foss projects. We see it all the time
> on this list.
>
> But perhaps you could share your technical arguments instead?
> Especially counter-arguments against David's, which you conveniently
> ignore?
>
> Ciao!
> Steven
>

Steven,

My argument is simply this, sorry if it wasn't clear in the last
email, bottom line up front:
- It can just as easily be removed in the future if it is broken for
more than one release rather than evicting support.
- It shouldn't add unwieldy maintenance overhead.  The old stuff can
be walled off, conditionally built, and otherwise removed from the
main focus.
- The code is already written and just needs a maintainer.
- I have the hardware and desire to maintain it.

Please reread the last paragraph in my previous email.  The CPU
architecture is still manufactured and in use.  This is a strawman
argument as I cannot say that these organizations are using GCC but it
wouldn't be unimaginable.

Regards,
Kevin Bowling

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Power/PowerPC RIOS/RIOS2 obsolescence
  2010-06-30  1:51       ` Kevin Bowling
@ 2010-06-30  2:00         ` Andrew Pinski
  2010-06-30  9:51         ` David Edelsohn
  2010-07-02 16:55         ` Segher Boessenkool
  2 siblings, 0 replies; 13+ messages in thread
From: Andrew Pinski @ 2010-06-30  2:00 UTC (permalink / raw)
  To: Kevin Bowling; +Cc: Steven Bosscher, David Edelsohn, gcc

On Tue, Jun 29, 2010 at 4:07 PM, Kevin Bowling <kevin.bowling@kev009.com> wrote:
> My argument is simply this, sorry if it wasn't clear in the last
> email, bottom line up front:
> - It can just as easily be removed in the future if it is broken for
> more than one release rather than evicting support.
> - It shouldn't add unwieldy maintenance overhead.  The old stuff can
> be walled off, conditionally built, and otherwise removed from the
> main focus.
> - The code is already written and just needs a maintainer.
> - I have the hardware and desire to maintain it.

Actually the above does not describe what is going on with this code.
This code is already "walled off" in how the back-end is allowed to do
conditional support for it.  It cannot be further walled off without
creating a whole new target. So maybe creating a new target with the
just RIOS support is needed.  This will allow everyone to be happy and
you can maintain the "new" target without burdening the progress of
the rest of the rs6000 back-end.

Thanks,
Andrew Pinski

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Power/PowerPC RIOS/RIOS2 obsolescence
  2010-06-29 22:45   ` Kevin Bowling
  2010-06-29 23:07     ` Steven Bosscher
@ 2010-06-30  8:02     ` David Edelsohn
  2010-06-30 11:00       ` Kevin Bowling
  1 sibling, 1 reply; 13+ messages in thread
From: David Edelsohn @ 2010-06-30  8:02 UTC (permalink / raw)
  To: Kevin Bowling; +Cc: gcc

On Tue, Jun 29, 2010 at 6:18 PM, Kevin Bowling <kevin.bowling@kev009.com> wrote:

> This is an unfortunate attitude many people have in free software
> these days, especially big business contributors with profit-aligned
> motives.  Linus weighs in on a similar dissent here:
> http://lwn.net/Articles/339455/.

This is just rude and self-serving and an inappropriate personal
attack.  If I don't do what you want, I must be some evil slave of
corporate capitalism?  And argument by authority referencing Linus's
opinion is fallacious reasoning.

> I'm currently working on the NetBSD port:
> http://www.netbsd.org/ports/rs6000/.  I also have patches that boot
> the Linux kernel.  Quite simply, this stuff is interesting to me.  I
> am not a professional systems programmer.  This project has a low bar
> of entry and serves a pedagogic purpose to me.  I can't compete with
> professional arch maintainers that handle the lower level on modern
> hardware, nor do I have a POWER7 to call my own.

Again, this is a totally specious argument.  You don't have access to
POWER7, so you must use a RIOS2 system?  You cannot use any of the
other, low-cost PowerPC development systems that were produced in the
interim?

I also ported and booted Open Source OSes on RIOS RS/6000 systems.  It
was not pretty.  The I/O space is a mess.

> Finally, the CPU is used in a variety of embedded applications.  There
> are over 200 RSC(POWER1) RAD6000 in space [1], including a launch in
> Feb 2010.  While compiler choice in this application is almost
> certainly static, GCC support provides interesting options for these
> folks since you can't beam up a Core i7 just because it's fashionable.

I am well aware of the RAD6000.  As the Wikipedia article mentions, it
was superceded by the RAD750 based on the PowerPC 750 processor.  As
any professional software used in spaceflight and satellites is locked
down years in advance, I doubt that modern GCC support for RAD6000
would be useful.  And by the time they upgrade to GCC 4.6, they will
be using RAD750 or its successor.

>
> Regards,
> Kevin Bowling
>
> [1] http://en.wikipedia.org/wiki/IBM_RAD6000
>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Power/PowerPC RIOS/RIOS2 obsolescence
  2010-06-30  1:51       ` Kevin Bowling
  2010-06-30  2:00         ` Andrew Pinski
@ 2010-06-30  9:51         ` David Edelsohn
  2010-07-02 16:55         ` Segher Boessenkool
  2 siblings, 0 replies; 13+ messages in thread
From: David Edelsohn @ 2010-06-30  9:51 UTC (permalink / raw)
  To: Kevin Bowling; +Cc: gcc

On Tue, Jun 29, 2010 at 7:07 PM, Kevin Bowling <kevin.bowling@kev009.com> wrote:

> My argument is simply this, sorry if it wasn't clear in the last
> email, bottom line up front:
> - It can just as easily be removed in the future if it is broken for
> more than one release rather than evicting support.
> - It shouldn't add unwieldy maintenance overhead.  The old stuff can
> be walled off, conditionally built, and otherwise removed from the
> main focus.
> - The code is already written and just needs a maintainer.
> - I have the hardware and desire to maintain it.
>
> Please reread the last paragraph in my previous email.  The CPU
> architecture is still manufactured and in use.  This is a strawman
> argument as I cannot say that these organizations are using GCC but it
> wouldn't be unimaginable.

RAD6000 has been superceded by RAD750.  No RIOS hardware is
manufactured nor used.  RAD6000 *was* manufactured.  RAD750 is
manufactured.  And any developers still using RAD6000  would not
program the hardware with GCC 4.6.

Despite your assertions, it is a significant maintenance overhead for
some of the improvements that we want to add to the rs6000 port.  It
literally doubles the amount of changes to modify all of the POWER
architecture machine description patterns.

The problem is not a lack of maintainer.  I have been maintaining the
code for almost 20 years.

If you need RIOS support in GCC 4.6, you can re-introduce the removed
code in your private tree.

David

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Power/PowerPC RIOS/RIOS2 obsolescence
  2010-06-30  8:02     ` David Edelsohn
@ 2010-06-30 11:00       ` Kevin Bowling
  0 siblings, 0 replies; 13+ messages in thread
From: Kevin Bowling @ 2010-06-30 11:00 UTC (permalink / raw)
  To: David Edelsohn; +Cc: gcc, pinskia

On Tue, Jun 29, 2010 at 6:51 PM, David Edelsohn <dje.gcc@gmail.com> wrote:
> On Tue, Jun 29, 2010 at 6:18 PM, Kevin Bowling <kevin.bowling@kev009.com> wrote:
>
>> This is an unfortunate attitude many people have in free software
>> these days, especially big business contributors with profit-aligned
>> motives.  Linus weighs in on a similar dissent here:
>> http://lwn.net/Articles/339455/.
>
> This is just rude and self-serving and an inappropriate personal
> attack.  If I don't do what you want, I must be some evil slave of
> corporate capitalism?  And argument by authority referencing Linus's
> opinion is fallacious reasoning.

Linus's opinion is very relevant, he maintains a huge chunk of code
and has showed unparalleled judgement on fostering community,
balancing industrial needs. and keeping things technically sane.  If
supporting old archs is so difficult, maybe there are design
improvements that are worth looking into since others face this as
well (i386).

My first message simply stated I could provide remote access since I
thought the removal was likely due to inability to test.  I then
offered to dig in since it seemed the real reason was lack of
interest.  You responded with what looked like a nastygram and
condescension, which I also took as a personal attack.  If that wasn't
the intent, sorry, and let us move on.

But my visit here wasn't to troll the GCC ML, though so far I've done
a fantastic job.

> Despite your assertions, it is a significant maintenance overhead for
> some of the improvements that we want to add to the rs6000 port.  It
> literally doubles the amount of changes to modify all of the POWER
> architecture machine description patterns.

Ok, I can buy that.  What do you think of Andrew Pinski's suggestion?
Is there similarity to  PPC603 and PPC604 code as well?

Also, rather than calling it RIOS1, mentioning PowerPC 601 would be
better suited for gauging users and relevance.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Power/PowerPC RIOS/RIOS2 obsolescence
  2010-06-30  1:51       ` Kevin Bowling
  2010-06-30  2:00         ` Andrew Pinski
  2010-06-30  9:51         ` David Edelsohn
@ 2010-07-02 16:55         ` Segher Boessenkool
  2010-07-04  8:44           ` Kevin Bowling
  2 siblings, 1 reply; 13+ messages in thread
From: Segher Boessenkool @ 2010-07-02 16:55 UTC (permalink / raw)
  To: Kevin Bowling; +Cc: Steven Bosscher, David Edelsohn, gcc

[I proposed removing RIOS support, since it heavily gets in the way
for my project exposing the XER[CA] flag].

> My argument is simply this, sorry if it wasn't clear in the last
> email, bottom line up front:
> - It can just as easily be removed in the future if it is broken for
> more than one release rather than evicting support.

I can guarantee you that the changes I am trying to make _will_ break
RIOS support.  RIOS handles the carry flag quite differently from
PowerPC and Power Architecture, and I have no way to test RIOS either.
Since there is no significant community using these chips anymore,
removing RIOS support seemed like the best course of action.

> - It shouldn't add unwieldy maintenance overhead.

It already HAS been unwieldy maintenance overhead for years.

>   The old stuff can
> be walled off, conditionally built, and otherwise removed from the
> main focus.

You obviously haven't looked at the code in detail, if you think this.

> - The code is already written and just needs a maintainer.
> - I have the hardware and desire to maintain it.

Feel free to split off a new backend then.  The current intertwined
mess cannot be maintained properly.


Segher

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Power/PowerPC RIOS/RIOS2 obsolescence
  2010-07-02 16:55         ` Segher Boessenkool
@ 2010-07-04  8:44           ` Kevin Bowling
  0 siblings, 0 replies; 13+ messages in thread
From: Kevin Bowling @ 2010-07-04  8:44 UTC (permalink / raw)
  To: Segher Boessenkool; +Cc: Steven Bosscher, David Edelsohn, gcc

On Fri, Jul 2, 2010 at 9:55 AM, Segher Boessenkool
<segher@kernel.crashing.org> wrote:
> [I proposed removing RIOS support, since it heavily gets in the way
> for my project exposing the XER[CA] flag].
>
>> My argument is simply this, sorry if it wasn't clear in the last
>> email, bottom line up front:
>> - It can just as easily be removed in the future if it is broken for
>> more than one release rather than evicting support.
>
> I can guarantee you that the changes I am trying to make _will_ break
> RIOS support.  RIOS handles the carry flag quite differently from
> PowerPC and Power Architecture, and I have no way to test RIOS either.
> Since there is no significant community using these chips anymore,
> removing RIOS support seemed like the best course of action.
>
>> - It shouldn't add unwieldy maintenance overhead.
>
> It already HAS been unwieldy maintenance overhead for years.
>
>>  The old stuff can
>> be walled off, conditionally built, and otherwise removed from the
>> main focus.
>
> You obviously haven't looked at the code in detail, if you think this.
>
>> - The code is already written and just needs a maintainer.
>> - I have the hardware and desire to maintain it.
>
> Feel free to split off a new backend then.  The current intertwined
> mess cannot be maintained properly.
>
>
> Segher
>

Hi Segher,

David explained some of his points in an off-list email.  For whatever
it's worth I withdraw my objections.  Per David and your suggestion, I
will attempt to import the older back end code in my own private tree
as newer front ends become desirable for building common applications.
 I don't think this is ideal but it is clear there is mutual exclusion
between the work you need to do (which has greater impact) and my
limited hobby interests.

Although my usage is impractical and merely for fun, the
current back ends seem intuitively fragile.  By being vertically
intertwined in a giant c file to the OS and species of arch, I can't
help but feel this may cause continued headaches in the future.  There
may be more legitimate reasons for supporting older platforms,
especially with heavy embedded use of archs with vastly different
species like mips, ppc, and i386.  Of course, this may be well known
(I'm sure there is historical background) and I have no solution to
offer.

Regards,
Kevin Bowling

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2010-07-04  8:44 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-06-29  6:30 Power/PowerPC RIOS/RIOS2 obsolescence Kevin Bowling
2010-06-29  8:23 ` Andrew Haley
2010-06-29  8:27   ` Kevin Bowling
2010-06-29 14:39 ` David Edelsohn
2010-06-29 22:45   ` Kevin Bowling
2010-06-29 23:07     ` Steven Bosscher
2010-06-30  1:51       ` Kevin Bowling
2010-06-30  2:00         ` Andrew Pinski
2010-06-30  9:51         ` David Edelsohn
2010-07-02 16:55         ` Segher Boessenkool
2010-07-04  8:44           ` Kevin Bowling
2010-06-30  8:02     ` David Edelsohn
2010-06-30 11:00       ` Kevin Bowling

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).