kernel memory checks on boot vs. boot time

John Baldwin jhb at freebsd.org
Wed Mar 23 11:54:52 UTC 2011


On Tuesday, March 22, 2011 6:45:54 pm Ed Maste wrote:
> On Tue, Mar 22, 2011 at 03:51:13PM -0400, John Baldwin wrote:
> 
> > Do other platforms bother with these sorts of memory tests?  If not I'd vote 
> > to just drop it.  I think this mattered more when you didn't have things like 
> > SMAP (so you had to guess at where memory ended sometimes).  Also, modern 
> > server class x86 machines generally support ECC RAM which will trigger a 
> > machine check if there is a problem.  I doubt that the early checks are 
> > catching anything even for the non-ECC case.
> 
> In the common case at work we want this off to reduce boot time.  The
> desire for a tunable though that can add extended memory tests is to be
> able to use the FreeBSD startup code as a replacement for memtest86+,
> for a couple of reasons:
> 
> - FreeBSD's serial console output is more easily parsed by automated
>   tools
> - Memtest86+ appears to be limited to 64GB of RAM at the moment
> - Memtest86+ lacks support for the Tylersburg architecture last I looked

The existing memory check is nowhere near the level of what memtest86+
does and relying on that to give you the same testing strength as memtest86+
seems very dubious to me.  If you want a real memory tester, I'd be tempted
to just write a custom kernel for that, probably still using BIOS routines
for I/O similar to the boot loader, etc.  You'd also want to install a MC
handler before kicking off the test, but you would want to minimize the
amount of RAM you used so you could test as much of the RAM as possible.

-- 
John Baldwin


More information about the freebsd-arch mailing list