Slow memory support

Pavel Machek (
Sun, 14 Dec 1997 12:03:49 +0100


> > I would really like to make linux work nicely on machines with
> > dual-speed ram. I have 20Meg and only 16Meg are cacheable. When top
> > 4Meg are used, machine goes to speed about speed of 386... I made some
> > patch but it is not too good. (Mail me for it).
> thinking about it (without knowing what your patch does), a reasonably
> fast and scalable solution is to 'split' page-freelists, and put a wrapper
> on top of them to shield this dualness from the rest of gfp() [the
> bitmap/buddy part]. The policy then is to allocate from the 'preferred'
> freelist always, if possible, and free a page into the correct list
> always.

> this issue is much different from the low-16M ISA DMA allocation feature,
> as we are not forced to pick a 'good' page.

Hmm. No. I had solution like this. Turned to be unusable on *my*
computer, because my top 4Megs are not even L1-cachable. (That board
should go into trash for this, really. Or does someone have 128KB of
caches he could give me? ;-). Performance hit of running code from
slow RAM is about 6 times, for me.

> with some clever code we could even auto-detect (and report) caching
> anomalies (and work around them), cache behavior is quite predictable if
> we are cli()-ed...

Hmm, nice, but that measurements take pretty long. Better let user do
it manually. (Maybe port cachetst.exe under Linux? Such things really
should not be done in each boot, IMO).


I'm really 	   Pavel
Look at ;-).