Re: Since no one else has stepped forward: 'ZeroD' patch

Jes Degn Soerensen (jds@kom.auc.dk)
09 Jan 1997 13:30:28 +0100


>>>>> "Andi" == Andi Kleen <andi@mlm.extern.lrz-muenchen.de> writes:

Andi> Ingo Molnar <mingo@pc5829.hil.siemens.at> writes:
>> Here is a patch that implements 'ZeroD', a simple kernel thread
>> that uses up CPU idle time to keep a pool of pre-zeroed pages
>> around. Almost anything that doesnt burn 100% CPU time all the time
>> should benefit from this.

Andi> Hmm, did you check that this hasn't a bad effect on the cache
Andi> memory when a cpu intensive process has to sleep for short
Andi> times? A /proc/sys interface to tune it would be nice too.

I think you are on to something. I'm speaking mainly for the m68k
port, as I don't know that much about x86 caches.

The idea of zerod may not be that good for cpus with relatively small
caches and no cache write-through instructions such as the 68030 (the
68030 only has a 256 byte data cache and a 256 byte ins cache). On
these cpus a clear-page() is enough to wipe out the entire data-cache
;( However for the 68040 and 68060, which got these nice move16
instructions that bypasses the cache, zerod will be fine.

Zerod may also be a bad idea for other small-cache architectures such
as the sun4c - but I'm not sure about this, guess one of the Sparc
hackers will be better to answer this one.

Therefore I think it might be a good idea to make zerod a
config-option or at least an option to disable it?

Jes