lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 20 Mar 2010 00:01:36 -0700 From: Yinghai Lu <yinghai@...nel.org> To: Tomasz Grzegurzko <tomasz89@...il.com> Cc: linux-kernel@...r.kernel.org Subject: Re: Memory Loss On Thu, Mar 18, 2010 at 9:06 AM, Tomasz Grzegurzko <tomasz89@...il.com> wrote: > Hi, > > I have a Dell PowerEdge 2900 reporting the loss of some memory at boot > time. It runs Ubuntu Karmic kernel 2.6.31-19-server (internal name). > The server is loaded with 42 GB of RAM but I get a little over 40GB, > and the following message from dmesg after bootup accounting for the > loss of RAM. > > [ 0.000000] Initializing cgroup subsys cpuset > [ 0.000000] Initializing cgroup subsys cpu > [ 0.000000] Linux version 2.6.31-19-server (buildd@...sted) (gcc > version 4.4.1 (Ubuntu 4.4.1-4ubuntu8) ) #56-Ubuntu SMP Thu Jan 28 > 03:40:48 UTC 2010 (Ubuntu 2.6.31-19.56-server) > [ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-2.6.31-19-server > root=UUID=53c9e374-ff9a-4c43-96ef-d5e3039d0eba ro > [ 0.000000] KERNEL supported cpus: > [ 0.000000] Intel GenuineIntel > [ 0.000000] AMD AuthenticAMD > [ 0.000000] Centaur CentaurHauls > [ 0.000000] BIOS-provided physical RAM map: > [ 0.000000] BIOS-e820: 0000000000000000 - 00000000000a0000 (usable) > [ 0.000000] BIOS-e820: 0000000000100000 - 00000000cfb50000 (usable) > [ 0.000000] BIOS-e820: 00000000cfb50000 - 00000000cfb66000 (reserved) > [ 0.000000] BIOS-e820: 00000000cfb66000 - 00000000cfb85c00 (ACPI data) > [ 0.000000] BIOS-e820: 00000000cfb85c00 - 00000000d0000000 (reserved) > [ 0.000000] BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved) > [ 0.000000] BIOS-e820: 00000000fe000000 - 0000000100000000 (reserved) > [ 0.000000] BIOS-e820: 0000000100000000 - 0000000ab0000000 (usable) > [ 0.000000] DMI 2.5 present. > [ 0.000000] last_pfn = 0xab0000 max_arch_pfn = 0x400000000 > [ 0.000000] MTRR default type: uncachable > [ 0.000000] MTRR fixed ranges enabled: > [ 0.000000] 00000-9FFFF write-back > [ 0.000000] A0000-BFFFF uncachable > [ 0.000000] C0000-D3FFF write-protect > [ 0.000000] D4000-EBFFF uncachable > [ 0.000000] EC000-FFFFF write-protect > [ 0.000000] MTRR variable ranges enabled: > [ 0.000000] 0 base 000000000 mask F80000000 write-back > [ 0.000000] 1 base 100000000 mask F00000000 write-back > [ 0.000000] 2 base 200000000 mask E00000000 write-back > [ 0.000000] 3 base 400000000 mask C00000000 write-back > [ 0.000000] 4 base 800000000 mask C00000000 write-back > [ 0.000000] 5 disabled > [ 0.000000] 6 disabled > [ 0.000000] 7 disabled > [ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106 > [ 0.000000] e820 update range: 0000000080000000 - 0000000100000000 > (usable) ==> (reserved) > [ 0.000000] WARNING: BIOS bug: CPU MTRRs don't cover all of memory, > losing 1275MB of RAM. > [ 0.000000] ------------[ cut here ]------------ > [ 0.000000] WARNING: at > /build/buildd/linux-2.6.31/arch/x86/kernel/cpu/mtrr/cleanup.c:1091 > mtrr_trim_uncached_memory+0x2a6/0x2d1() > [ 0.000000] Hardware name: PowerEdge 2900 > [ 0.000000] Modules linked in: > [ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.31-19-server #56-Ubuntu > [ 0.000000] Call Trace: > [ 0.000000] [<ffffffff8105e508>] warn_slowpath_common+0x78/0xb0 > [ 0.000000] [<ffffffff8105e54f>] warn_slowpath_null+0xf/0x20 > [ 0.000000] [<ffffffff8184150e>] mtrr_trim_uncached_memory+0x2a6/0x2d1 > [ 0.000000] [<ffffffff8183ccfa>] setup_arch+0x3d0/0x647 > [ 0.000000] [<ffffffff81524b0d>] ? printk+0x3c/0x3f > [ 0.000000] [<ffffffff81837db3>] start_kernel+0xbe/0x35b > [ 0.000000] [<ffffffff8183759a>] x86_64_start_reservations+0x125/0x129 > [ 0.000000] [<ffffffff81837698>] x86_64_start_kernel+0xfa/0x109 > [ 0.000000] ---[ end trace a7919e7f17c0a725 ]--- > [ 0.000000] update e820 for mtrr > [ 0.000000] modified physical RAM map: > [ 0.000000] modified: 0000000000000000 - 00000000000a0000 (usable) > [ 0.000000] modified: 0000000000100000 - 0000000080000000 (usable) > [ 0.000000] modified: 0000000080000000 - 00000000cfb66000 (reserved) > [ 0.000000] modified: 00000000cfb66000 - 00000000cfb85c00 (ACPI data) > [ 0.000000] modified: 00000000cfb85c00 - 00000000d0000000 (reserved) > [ 0.000000] modified: 00000000e0000000 - 00000000f0000000 (reserved) > [ 0.000000] modified: 00000000fe000000 - 0000000100000000 (reserved) > [ 0.000000] modified: 0000000100000000 - 0000000ab0000000 (usable) > [ 0.000000] last_pfn = 0xab0000 max_arch_pfn = 0x400000000 > [ 0.000000] last_pfn = 0x80000 max_arch_pfn = 0x400000000 > [ 0.000000] e820 update range: 0000000000001000 - 0000000000006000 > (usable) ==> (reserved) because your BIOS doesn't set var mtrr correctly to cover all memory. so kernel trim those memory. otherwise system could be very slow when use those range. [0x8000000, 0xd0000000) you can specify "disable_mtrr_trim" in your boot command line of /boot/grub/menu.lst. then after boot, you could input that in command line after log on echo "base=0x80000000 size=0x40000000 type=write-back" > /proc/mtrr echo "base=0xc0000000 size=0x10000000 type=write-back" > /proc/mtrr or call them with inittab or rc.d YH -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists