problem with 1GB pages?
avg at FreeBSD.org
Mon Nov 14 09:19:33 UTC 2011
Please disregard my report.
I've tracked the problem to one of the new modules being faulty. But memtest86*
tools still don't detect any issues with it. Apparently FreeBSD is a much more
thorough memory tester than the specialized tools :-)
Apologies for the noise.
on 12/11/2011 12:47 Andriy Gapon said the following:
> I have an AMD-based system with a Fam10h CPU (with 1GB pages support), the
> system chipset contains an integrated graphics device (that uses a region of the
> main memory as a graphics memory). The chipset supports memory hoisting to
> compensate for the PCI memory window and the graphics aperture both of which are
> located below 4GB.
> The latest OS version installed on this system is 9-CURRENT from the middle of
> September (r225560), architecture is amd64.
> Until recently the system had 4GB of RAM installed and I had no problems with it
> Recently though I have added another 4GB of RAM to the system. Before booting
> to FreeBSD I tested the memory with multiple passes of memtest86 and
> memetest86+, no errors were detected by those.
> However with FreeBSD I immediately started getting "flaky memory" symptoms like
> multiple internal compiler errors during compilation of non-trivially sized
> projects (world, libreoffice).
> I re-run memory tests which again revealed nothing and then started playing with
> various VM subsystem and memory related knobs in FreeBSD. I recalled that a
> long while ago there were some problems with 1GB pages and so their use used to
> be disabled. On a hunch I disabled 1GB pages again:
> @@ -471,7 +471,7 @@ create_pagetables(vm_paddr_t *firstaddr)
> ndmpdp = 4;
> DMPDPphys = allocpages(firstaddr, NDMPML4E);
> ndm1g = 0;
> - if ((amd_feature & AMDID_PAGE1GB) != 0)
> + if (0 && (amd_feature & AMDID_PAGE1GB) != 0)
> ndm1g = ptoa(Maxmem) >> PDPSHIFT;
> if (ndm1g < ndmpdp)
> DMPDphys = allocpages(firstaddr, ndmpdp - ndm1g);
> And the flakiness went away.
> Not sure what kind of useful information I should provide with this report.
> Here's couple of things that I think could be of use.
> - memcontrol list output
> - BIOS memory map
> SMAP type=01 base=0000000000000000 end=000000000009f800 len=000000000009f800
> SMAP type=02 base=00000000000f0000 end=0000000000100000 len=0000000000010000
> SMAP type=02 base=00000000fec00000 end=0000000100000000 len=0000000001400000
> SMAP type=02 base=00000000e0000000 end=00000000f0000000 len=0000000010000000
> SMAP type=02 base=000000000009f800 end=00000000000a0000 len=0000000000000800
> SMAP type=02 base=00000000afdf0000 end=00000000afe00000 len=0000000000010000
> SMAP type=01 base=0000000000100000 end=00000000afde0000 len=00000000afce0000
> SMAP type=03 base=00000000afde3000 end=00000000afdf0000 len=000000000000d000
> SMAP type=04 base=00000000afde0000 end=00000000afde3000 len=0000000000003000
> SMAP type=01 base=0000000100000000 end=0000000230000000 len=0000000130000000
> - dmesg snippet
> CPU: AMD Athlon(tm) II X2 250 Processor (3013.78-MHz K8-class CPU)
> Origin = "AuthenticAMD" Id = 0x100f62 Family = 10 Model = 6 Stepping = 2
> AMD Features=0xee500800<SYSCALL,NX,MMX+,FFXSR,Page1GB,RDTSCP,LM,3DNow!+,3DNow!>
> TSC: P-state invariant
> real memory = 8589934592 (8192 MB)
> avail memory = 7617662976 (7264 MB)
> - Top Of Memory MSR
> MSR 0xc001001a: 0x00000000 0xd0000000
> - Top Of Memory 2 MSR
> MSR 0xc001001d: 0x00000002 0x30000000
> - System configuration MSR
> MSR 0xc0010010: 0x00000000 0x00760600
> Please let me know if you have any ideas or requests for additional information
> or testing.
> Thank you.
More information about the freebsd-current