Subject: Re: Getting X on Linux/SGI

From: [email-masked] (Larry McVoy)
Date: Fri, 20 Jun 1997 00:34:26 -0700

: "Christopher W. Carlson" <[email-masked]> writes:
: >My point was that SGI is into making hardware.  That's how it started
: >and that is still its main focus.  Yes, it is true that our software
: >is very important because it takes advantage of the proprietary stuff
: >in the hardware, but the main income for SGI is hardware.
: 
: How many people buy the hardware and program the bare metal?

We own MIPS.  MIPS sold or licensed 19.2 million chips last year.  About
19 million of those were of the type "program the bare metal".

Much of the Linux/MIPS interest is for embedded systems.  We should have
done this years ago, there is no reason why not to do it other than NIH.

---

From: "David S. Miller" <[email-masked]>
Date: Fri, 20 Jun 1997 05:17:42 -0400

From: [email-masked] (William Fisher)
   Date: Fri, 20 Jun 1997 01:55:31 -0800 (PDT)

I'm glad someone stepped in this.

	   Nearly all of those systems were nearly bare metal software
	   environments since we had numerous talks with Chet at MIPS
	   about software features that would propell the business.
	   NONE of those customers wanted anything to do with any
	   flavor of Unix, Linux, BSD, System V, etc.

	   In fact Hunter-Ready and the other real-time kernels
	   weren't that popular with the hard core real-time/embedded
	   folks.

	   Hence I would like to here more about larry's definition of
	   "embedded systems" because they sure don't sound like any
	   that our semiconductor partners sell to.

Allow me...

Let me relay a story a co-Sparc developer of mine told (and showed!)
me when I saw him in person in Germany the other week.

His name is Eddie C. Dost and he works for a software/hardware house
there where they do nothing but embedded work.  About two weeks ago he
was asked to tackle two projects.  One involved an i386SX based board
which controlled lighting systems for skyscrapers, the other was a
m68k based board which was meant to be deployed by the hundreds to
control campus wide key card entry systems for a bunch of corporations
and universities in the German speaking countries.

He was given QNX to write his drivers and get the box going.  Since it
is a micro-kernel, you have to perform a task switch to handle even an
interrupt, and you have to compile your interrupt handlers with a
special compiler and compiler options using QNX compilers just to cope
with this bullshit.  This was on both systems.

Interrupt response was so slow, that even when he coded the drivers in
raw optimized assembly he could not keep up and would drop characters
easily on his serial ports, the ISDN performance sucked balls as well.

So eddie got so frustrated one night that he took both the m68k and
Intel ports of Linux, in about an hour added kernel build time
configuration options such as "CONFIG_NO_MEMORY_MANAGEMENT",
"CONFIG_NO_FANCY_SYSCALLS", "CONFIG_NO_USELESS_FEATURES" and the like
to the point where he was able to get a 120k sized Linux kernel with
his drivers and the specialized code to run the control systems he
needed to deploy, and he got full over the serial line KGDB source
level debugging of his kernel as well.

The next night he got it completely working and debugged, needless to
say this thing didn't have the interrupt performance problems QNX
did.  The next evening he blew the first revisions of the PROM's the
boxes would eventually use in production when these things got sent
to the customers.

Now here comes the interesting part...

He had to then approach his boss, he explained the issues and how he
had solved the problem.  The boss went "what, use Linux, why the fuck
would we even want to do such a thing?"

His response was: "Firstly, QNX doesn't even fucking work, at best the
product would be delayed if I could get it to work with QNX at all,
and thus you might even lose these sales.  Secondly, I just saved you
a shitload of money and future engineering costs.  Not only did I just
save you the QNX license on all the hundreds of these fuckers you are
going to sell to people (you can sell it at the same prive, the
customer won't know the difference), I have a usable mini-Linux kernel
that we can use (and thus save the licensing fee's + the engineering
all over again) as a base for a lot of our future embedded products."

His boss was blown away, the rest is history...

So you see, the real issue is that people don't know they want it...

Oh btw, Eddie will in fact be working on some MIPS based embedded
boards in the near future, and I can tell you he sure as hell isn't
gonna be putting QNX or any other "embedded OS" in those things.

Later,
David "Sparc" Miller
[email-masked]

---

From: [email-masked] (William Fisher)
Date: Fri, 20 Jun 1997 01:55:31 -0800 (PDT)

> done this years ago, there is no reason why not to do it other than NIH.
	If the demand for Linux on MIPS chips is comming from the "embedded"
	systems then things sure have changed since the early days of
	MIPS Computer Systems. The embedded market in 1992-1996 was
	NOT asking us for Linux, since it was very sensitive to running
	small real-time kernels. In fact nearly all of the original
	chips vendors who licensed the chips used the PROM code, remote
	dbx, compilers, etc. which were sold/licensed to the chip vendors
	for resell to the embedded customers.

	If fact the original VP of embedded system marketing at MIPS was
	Chet Silvestri, now VP of SPARC embedded systems at SUN. Chet
	was very familar with embedded systems having worked at Intel
	on numerous automobile systems, real-time process control, etc.
	
	Nearly all of those systems were nearly bare metal software
	environments since we had numerous talks with Chet at MIPS
	about software features that would propell the business.
	NONE of those customers wanted anything to do with any flavor
	of Unix, Linux, BSD, System V, etc.

	In fact Hunter-Ready and the other real-time kernels weren't that
	popular with the hard core real-time/embedded folks.

	I would like to see Linux on the low end of the SGI workstations
	for two reasons; One as an existance proof that a lightweigth
	Unix can be shown to run very fast on our hardware and secondly
	for sale to either universities or other research labs that want
	source code and want to hack. I don't think it will sell that many
	machines but it can't hurt.

	I personally believe that the popularity of Linux on ALPHA is
	pushed by the Digital Semiconductor Division and they will do
	anything to sell chips and Digital systems. I think it is
	similar behavior that you see in both IBM's Semiconductor Division
	and at the Motorola's Semiconductor Division with the PowerPC.
	That being they have no particular religion on any software or
	OS, anything that moves chips is alright with them.

-- Bill

---

From: Ralf Baechle <[email-masked]>
Date: Fri, 20 Jun 1997 12:12:15 +0200 (MET DST)

> gonna be putting QNX or any other "embedded OS" in those things.

Three people/companies have already started basing embedded systems
based on the MIPS/Linux [1] at times when I personally wouldn't have
trusted the entire MIPS port five minutes without peeking at it.

Toshiba is currently porting Linux to a new R-family type processor
for verification of the processor.  Hey, it does run Linux even before
there is Silicon at all!

> So you see, the real issue is that people don't know they want it...

You see, we have not yet really taken off with the MIPS port and we
already have some impact on the market.

Another interesting embedded project will be done by Alan Cox.  He
intends to port Linux to the R4650, a CPU without a TLB but just a
pair of base/bounds registers.  Not an ELKS port but an almost full
port of Linux just without certain features like mmap-ing.

  Ralf

[1] Not going to be M/Linux ;-)

---

From: Todd Shrider <[email-masked]>
Date: Fri, 20 Jun 1997 08:42:47 -0500 (EST)

My take on things:

> 	for resell to the embedded customers.

OK, point taken, but I think that the definition of an embeded system HAS
changed draticly from five years ago. Then you were thinking chips in
cars, elevators, etc, etc, etc. Probably, at the time, the most kerenl
heavy processes were running on chips in smart houses and there weren't a
whole hell of a lot of those.

Today, at least when I think of embeded systems, I think of small game
machines, set-top-boxes, real smart-house systems, etc. Systems that
aren't performing one or two tasks, but that are doing multiples of things
that can be very different and somewhat unreleated (except maybe in an
abstract sense). If you take an "ideal" set-top-box you think of something
that can hook up to the network, via cable or phone or whatever, browse
the web, ineract with the tv video feeds, receive and send mail (even if
only operating as a pop-client), browse news feeds, maybe even run
someting like Point-Cast as your "TV Screen Saver". 

When I think of systems, runnig chips like the 4300i, that can do things
like this, I think a pared down Linux is a very justified choice to run
them with. I'd rather it than Windows CE! If your still thinking of Linux
as a traditional Unix, you may still ask why, but if you think of it a
simplistic behind the scenes consumer app, than I think that also resolves
alot of problems.

> 	machines but it can't hurt.

I'd disagree and point you to Digital. At ALE Maddog was talking about a
trip through Southern America where half-way digital actually advised him
to stop pitching Digital Unix and start talking about Linux. I admit that
right away it probably won't be precieved as the OS of choice right away,
even Alpha Linux is still not quite the pretty picture the Intel Linux is,
but with time it will gain support from the die hard fans (those people
who run Linux at home and SGI/IRIX at work). Then the OS get stable and
you find a way to run all those wonderful Irix apps on it (see EM86). Then
major companies start looking at it, and you get calls (like digital has
reported) where people make orders ($$$) and ask you to have Linux over
Irix. 

Look at it this way. Linux has a lot of support in the college community.
In five years a majority of these kids will be in industry, do you think
there gonna want Irix on there SGIs? 

> 	OS, anything that moves chips is alright with them.

I bought a system to runn it on, having never talked to anyone at digital.
You gotta love the 500mHz!!! And isn't that the way it should be? If you
let the users define what runs on the chips your going to have much
happier users.

Oh well, just my thoughts... Cheers!

---
Todd M. Shrider         Oops, My brain just hit a bad sector!
[email-masked]         http://www.ontko.com/~todds

---

From: Ralf Baechle <[email-masked]>
Date: Fri, 20 Jun 1997 16:07:36 +0200 (MET DST)

Hi,

> them with. I'd rather it than Windows CE! If your still thinking of Linux

The Algorithmics P4032 which I recently mentioned I'm also running Linux
on has a R4300i.  The patches are too dirty and still based on 2.1.14,
so they're not in the CVS tree ...

I'd love to see one of the MIPS based palmtop class machines to run Linux ...

  Ralf

---

From: Nigel Gamble <[email-masked]>
Date: Fri, 20 Jun 1997 13:16:45 -0700 (PDT)

> boxes would eventually use in production when these things got sent

This tells me more about this guy's determination to use Linux, come
what may, than it does about QNX.  If he'd put half the effort into
learning the QNX device driver model that he did into hacking Linux,
I bet he could have solved his problem with QNX.  I certainly could.

When I first implemented a version of the Linux parallel port
printer driver that used interrupts (because the polling driver was
only printing one line every 30 seconds on my old dot-matrix printer),
I discovered that my driver couldn't send characters fast enough
to keep up with a laser printer.  Does this imply that Linux's
(non-threaded) interrupt performance sucked?  No, it just meant that
my naive first attempt was taking an interrupt for every character.

Nigel Gamble       "Are we going to push the edge of the envelope, Brain?"
Silicon Graphics   "No, Pinky, but we may get to the sticky part."
[email-masked]
(415) 933-3109