Re: Memory upgrade causes slowdown; why?

Koen Gadeyne (koen.gadeyne@barco.com)
Wed, 23 Oct 1996 09:03:58 GMT


At 04:49 PM 10/22/96 -0700, you wrote:
>OK I know this is just about a faq now, but can somebody please refresh
>my memory?
>
>I just upgraded my system from 16 megs to 32 megs, and now Linux crawls
>(so bad that I took the new SIMM back out, temporarily I hope!) X takes
>2 or 3 times as long to start up, kernel builds take longer, that sort of
>thing. I remember somebody else asking that question and getting an
>answer sometime in the last few months...
>

We've had this problem when upgrading a Pentium system from 32 MB to 48 MB
as well. It dropped to about 1/5th of its original speed!

The solution is of course to add more cache memory. But that's not possible
on many motherboards.

The second-best solution is a weird one: change the external (L2) cache
policy from "write back" to "write through" (in the BIOS setup).

This helped on that system, and it's running for months now without problems
(and at full speed of course).

Explanation? Here's what _I_ think:

In "Write back" mode, the cache is needed for TWO purposes:
1. remember data that has been read from main memory before (read caching)
2. remember data that will have to be written to the cache some time later
(write caching).

in "Write through" mode, write caching is not used: data written to memory
from the CPU is written right "through" the cache, and thus NOT using up
space in the cache itself. And the cache controller doesn't have to try to
allocate space in the cache for write-data.

This would imply that more cache memory is "available" when in write-through
mode than in write back mode, and thus the cache can handle a larger amount
of main memory before drowning.

WARNING: this is completely hypothetical! I am not a motherboard designer...

Good luck,

Koen.