From: kelsey@mdd.comm.mot.com (Joe Kelsey)
Subject: Re: idea for non-cached mem above 16M (was Which motherboard?)
Organization: Motorola, Mobile Data Division - Seattle, WA
Distribution: na
Date: Tue, 15 Dec 1992 16:27:46 GMT

In <1992Dec14.231244.22459@klaava.Helsinki.FI> torvalds@klaava.Helsinki.FI (Linus Torvalds) writes:

>In article <17543@umd5.umd.edu> mark@roissy.umd.edu (Mark Sienkiewicz) writes:
>>In article <1992Dec11.150512.21282@texhrc.uucp> someone@Texaco.com (Larry D. Pyeatt) writes:
>>>I recently saw an IBM clone with 32M RAM and 256K cache running OS2.  We
>First off, I can verify that this is true at least with some
>motherboards: I've had reports of similar things happening, and when I
>upgraded to 20MB I saw it myself.  The performance drop was more than an
>order of magintude in the worst case (ie when a process got only pages
>in the 16MB+ area, it slowed down *a lot*: dhrystone went from 12 secs
>to two minutes). 

>The problem seems to be caching: the 16MB+ area doesn't get cached at
>all for some reason.  I've had reports of it being cahce-size dependent,
>and that some motherboards need more than 64kB cache to handle the upper
>memory areas.  I'm waiting for my 256kB cache to find out. 

Yes indeed, you can trace the problem directly to a poor cache
implementation.  Merely upgrading to a 256k cache doesn't always cure
the problem.  I purchased a system containing a 486DX/33 with 256k
cache and 16M memory in August.  Later, someone gave me a *great* deal
on another 16M so I took it.  I installed the memory and system
performance dropped like a stone!

My motherboard manual had some cryptic references to expanding the TAG
RAM in order to support >16M, and it looked like it might work.
Unfortunately, it took me 3 months to find the particular static RAM
chip necessary (16kx4, 20ns, 22-pin DIP) and when I installed it, the
system refused to come out of reset!

Eventually, I swapped motherboards with the system supplier -- it
turns out that I got probably the last shipment of the old revision of
that particular board!  The new boards can handle up to 64M on board
with full cache support, and my system just screams along.  SVR4 (ESIX
4.0.4) has no trouble with the ISA bus and >16M, and I have no more
complaints in *this* area.

The moral: choose your motherboard bery carefully, or be prepared to
upgrade at the slightest sign of hardware problems, especially related
to memory size and cache implementations.  Most DOS users don't see
the need to go over 8M anyway and the vendors usually give you these
blank stares when you talk about 16M-32M or more systems.  Smile
sweetly and tell them that you need to test their hardware on a 30-day
return guarantee since they probably can't boot UNIX to test it
themselves...

Unfortunately Linus can't test his implementation on every clone board
around!  By now, most of the 486 motherboard vendors probably have
worked out the bugs in their earlier implementations.  I suggest that
you look for boards that can accept 64M on board using a combination
of 4M and 16M SIMMs.  If you purchase a used system, be prepared to
throw away the old motherboard and buy a new one if you want >16M on
an ISA bus system.  New motherboards only cost $175 (without the CPU,
of course!)

/Joe