Disable amd64 boot time memory test by default

The page presence memory test takes a long time on large memory systems
and has little value on contemporary amd64 hardware.

Sponsored by:	The FreeBSD Foundation
This commit is contained in:
emaste 2013-11-21 18:37:11 +00:00
parent 94a01d687e
commit b29e0d359f

View File

@ -1476,13 +1476,15 @@ getmemsize(caddr_t kmdp, u_int64_t first)
Maxmem = atop(physmem_tunable);
/*
* By default enable the memory test on real hardware, and disable
* it if we appear to be running in a VM. This avoids touching all
* pages unnecessarily, which doesn't matter on real hardware but is
* bad for shared VM hosts. Use a general name so that
* one could eventually do more with the code than just disable it.
* The boot memory test is disabled by default, as it takes a
* significant amount of time on large-memory systems, and is
* unfriendly to virtual machines as it unnecessarily touches all
* pages.
*
* A general name is used as the code may be extended to support
* additional tests beyond the current "page present" test.
*/
memtest = (vm_guest > VM_GUEST_NO) ? 0 : 1;
memtest = 0;
TUNABLE_ULONG_FETCH("hw.memtest.tests", &memtest);
/*