Slow memory support

Pavel Machek (pavel@Elf.mj.gts.cz)
Sun, 14 Dec 1997 12:03:49 +0100


Hi!

> > 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).

Pavel

-- 
I'm really pavel@atrey.karlin.mff.cuni.cz. 	   Pavel
Look at http://atrey.karlin.mff.cuni.cz/~pavel/ ;-).