Messages in this thread | | | Date | Wed, 20 Apr 2011 16:46:22 +0100 | Subject | Re: Background memory scrubbing | From | Robert Whitton <> |
| |
> On Wed, Apr 20, 2011 at 05:19:41PM +0200, Clemens Ladisch wrote: > > > Unfortunately in common with a large number of hardware platforms > > > background scrubbing isn't supported in the hardware (even though ECC > > > error correction is supported) and thus there is no BIOS option to > > > enable it. > > > > Which hardware platform is this? AFAICT all architectures with ECC > > (old AMD64, Family 0Fh, Family 10h) also have scrubbing support. > > If your BIOS is too dumb, just try enabling it directly (bits 0-4 of > > PCI configuration register 0x58 in function 3 of the CPU's northbridge > > device, see the BIOS and Kernel's Developer's Guide for details). > > Or even better, if on AMD, you can build the amd64_edac module > (CONFIG_EDAC_AMD64) and do > > echo > /sys/devices/system/edac/mc/mc/sdram_scrub_rate > > where x is the scrubbing bandwidth in bytes/sec and y is the memory > controller on the machine, i.e. node. > > -- > Regards/Gruss, > Boris. >
Unfortunately that also isn't an option on my platform(s). There surely must be a way for a module to be able to get a mapping for each physical page of memory in the system and to be able to use that mapping to do atomic read/writes to scrub the memory.
| |