A reasonable case could be made for saying that all of the work that the EDAC subsystem currently does, would be better carried out by a purely user-space daemon, however there are a few future developments which can only be done from kernel space:

  • Taking failing RAM out of use at the page level (in the hope of catching failing pages before uncorrectable errors occur).

  • Retrying failed PCI transactions.

  • Implementing RAM "scrubbing" and "background scrubbing" in software.

  • Implementing interrupt-driven (probably NMI-driven in most cases) error reporting.

  • More hardware support, including non x86(-64) - where memory controller EDAC interface is not easily accessible from user-space.

Additionally, carrying out the work in kernel space provides a performance advantage for the current polled operation.