Benjamin Herrenschmidt On PPC/Linux, Apple and OSS
MacBoy writes "The folks over at ResExcellence have a great interview with Benjamin Herrenschmidt, kernel guru for the PPC/Linux camp. He offers up some history of Linux on Apple and PPC hardware, and some discussion on Apple's current and past contributions to the open-source and Linux communities. He makes some interesting comparisons of Linux on PPC vs. Intel hardware, such as the ease of getting important patches into the kernel on PPC compared to Intel. It's an interesting read, especially if you are amoung the many who covet the new Dual-CPU GHz G4 Macs and want to know a little more about the PPC/Linux community."
I was going to ask if anyone has Linux running on the new dual G4's, but then I found this cool link
http://linuxppc.org/hardware/dualg4/
Anyone have benchmarks (under Linux) for the dual G4's and corresponding PCs for:
- compiling the kernal
- GIMP
- Quake1/2 benchmarks
I'd love to get the "other endian machine" and compile some game code on it. Anyone have any recommendations? How did id do the Quake3 port to Macs ?
"PC Expert - Mac newbie"
Unlike MacOS X, Linux does not require a terabyte of RAM and SMP G4s.
Seriously though - Linux is great for older Macs, but there's little reason to go with Linux on a newer Mac.
People forget that the vast majority of the installed base of PowerPC chips is in embedded systems. Apple is a relatively small buyer of PowerPC chips. Linux is a great product for purposes such as those.
The lmbench numbers show that linux is significantly faster for certain operations. I have a copy of the results that I pointed to in an old post over here. Linux spanks OS X. It's a reason.
Other reasons include access to all of the source of your OS and better support for certain things (pcmcia 802.11b card support? Better filesystems. More software already working).
I personally run Debian on my laptop 99% of the time because my environment is the same everywhere, and apt-get kicks ass (fink on OS X is cool, but there isn't as much stuff available).
two reasons: linux has virtual consoles, darwin doesn't (for now), and because you can.
When (and only when) each instruction takes one clock cycle to execute you can divide each instruction inte several sub-tasks, for example Fetch - Decode - Execute - Store. Now a pipeline can be introduced:
instruction 1 F D E S
instruction 2 . F D E S
instruction 3 . . F D E S
instruction 4 . . . F D E S
In this way work is parallellised. Four instructions are executed in parallell, during 4 clock cycles each, giving a throughput of 1 instruction per second.
CISC basically means that instructions take different number of clockcycles to execute. With such an instruction set you can not use Pipelining.
The i386 cpus today transform the CISC instructions into RISC instructions, and apply pipelining. For the price of a translator the major drawbacks with CISC are avoided.
It is probably true that Intel has to put more research and silicon into a CPU than Motorola to achieve the same performance. But this is not because Intel are stuck with building a CISC cpu - it is because Intel must emulate the i386 CISC instruction set on a RISC cpu core.
The one problem i personally can see and have experienced is that you cant find that much information concerning Linux on PPC online. Sure, there are some devoted sites line LinuxPPC.org and others, and groups.google.com is always a nice thing, but if you run into *specific* problems (like me, see further down that post) youre in for some serious pain.
I tried several times to put a usable linux distro on my old powermac 4400 (upgraded w/ a G3 procesor card, a voodoo3 2000 and a realtek-chip-based ethernet card).
Xfree will crash at startup, which can be only solved by going online, grabbing some drivers and compiling them into the kernel, which kind of sucks for a newbie - but thats not the point because I can't get online because the ethernet card is not recocnized even if I choose the realtek drivers.
So I did some google research, came up with the mentioned solution for XFree, but not for the ethernet problem.
Another point is that noone in your neighborhood can help because LinuxPPC is not as common as Linux for i386.
I'll try darwin next, but since my machine isn`t officially supported I`m not exactly optimistic about that.
If you're running Debian, you can post to the debian-powerpc mailing list and people will try to help you out. I don't know about the support for other distros, but I've found debian-powerpc to be more than adequate (especially considering the kernel hacker types also subscribe).
I had a little trouble getting all of the modules to work with one of his 2.4.17rc kernels. I figured what the hey and emailed him. He straightened me right out. I suppose the world of PPC Linux is small enough that a leading light can have a little time for an end user like me.
> we all know monolithic kernels are MUCH faster than microkernels
Not really. A bit of extra message passing doesn't make for a hugely slower system. On the other hand, you get a smaller, neater, and above all, more modular system.
> I don't have to mention the GUI do I. Apple's is terribly slow and most of it is in fact useless.
Right, and Linux is overflowing with kickass GUI's and reliable, well designed system configuration tools that don't mess up your configs.
> How about system requirements. Linux needs very little to run while OS X needs 128 MB RAM min
Don't forget to add the cost of XFree86 and Gnome/KDE to your "very little", and don't go skimping into swap-hell, since this is aimed at desktop/workstation type environments.
> How about price. Linux is free while OS X is not. OS X costs $129.00 at the Apple store.
Add to the cost of Linux books, time you spend working things out, trying out and breaking various dist's. Apple target people who just want to Get Things Done - the real cost of learning and getting used to Linux is very high for such people.
> Apple should have built OS X off of Linux if they were smart.
Why would they want to use a big-ass barely designed kernel they can't even touch without having to hire teams of lawyers and beg their coders to be careful to stop their code being automatically GPL'd? What's so good about Linux that makes it so much better despite it's shortcomings?