Bug 498889 - MTRR registers trimmed on AMD processors but no reason gets logged
Summary: MTRR registers trimmed on AMD processors but no reason gets logged
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 11
Hardware: x86_64
OS: Linux
low
low
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-05-04 09:39 UTC by Hans Kristian
Modified: 2010-06-28 12:21 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2010-06-28 12:21:47 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Hans Kristian 2009-05-04 09:39:55 UTC
Description of problem:
After upgrade from FC10 to rawhide, several entries in /proc/mtrr have gone missing.

This might be a new feature, but since I have not been able to find anything pointing to the removal of mtrr memory regions being a good thing I report this as a bug.

As far as I have managed to understand, a new feature in the linux kernel attempts to clean up the mtrr map provided by the bios and convert it from contiguous to discrete. However it seems like it should not remove memory from the map as a whole.

My mtrr is now:
reg00: base=0x000000000 (    0MB), size= 2048MB, count=1: write-back
reg01: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back
reg02: base=0x0c0000000 ( 3072MB), size=  256MB, count=1: write-back
reg03: base=0x0cfe00000 ( 3326MB), size=    2MB, count=1: uncachable

This only covers approx 3.3GB of 8GB ram.

As can be seen in dmesg (below) it seems that the cleanup feature only thinks there are 3.3GB ram present. Whether this is a bug or feature I dont know.
I have not noticed any slowdowns, but I do not normally use that much ram and evolution + firefox + gterm are not so performance critical anyways.


Version-Release number of selected component (if applicable):
kernel-2.6.29.1-111.fc11.x86_64

How reproducible:
Always happens

Steps to Reproduce:
1. Boot rawhide kernel
2. cat /proc/mtrr
  
Hardware:
Gigabyte MA790GP-DS4H motherboard
AMD 9850 AM2 cpu
4x2GB kingston ram
One 256MB ATI 3600 vga card

Relevant info from dmesg:
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
 BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 00000000cfde0000 (usable)
 BIOS-e820: 00000000cfde0000 - 00000000cfde3000 (ACPI NVS)
 BIOS-e820: 00000000cfde3000 - 00000000cfdf0000 (ACPI data)
 BIOS-e820: 00000000cfdf0000 - 00000000cfe00000 (reserved)
 BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
 BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
 BIOS-e820: 0000000100000000 - 0000000230000000 (usable)
DMI 2.4 present.
last_pfn = 0x230000 max_arch_pfn = 0x100000000
x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
original variable MTRRs
reg 0, base: 0GB, range: 2GB, type WB
reg 1, base: 2GB, range: 1GB, type WB
reg 2, base: 3GB, range: 256MB, type WB
reg 3, base: 3326MB, range: 2MB, type UC
reg 4, base: 4GB, range: 4GB, type WB
reg 5, base: 8GB, range: 512MB, type WB
reg 6, base: 8704MB, range: 256MB, type WB
total RAM coverred: 3326M
Found optimal setting for mtrr clean up
 gran_size: 64K         chunk_size: 4M  num_reg: 4      lose cover RAM: 0G
New variable MTRRs
reg 0, base: 0GB, range: 2GB, type WB
reg 1, base: 2GB, range: 1GB, type WB
reg 2, base: 3GB, range: 256MB, type WB
reg 3, base: 3326MB, range: 2MB, type UC
x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
last_pfn = 0xcfde0 max_arch_pfn = 0x100000000
init_memory_mapping: 0000000000000000-00000000cfde0000
Using GB pages for direct mapping
 0000000000 - 00c0000000 page 1G
 00c0000000 - 00cfc00000 page 2M
 00cfc00000 - 00cfde0000 page 4k
kernel direct mapping tables up to cfde0000 @ 8000-b000
last_map_addr: cfde0000 end: cfde0000
init_memory_mapping: 0000000100000000-0000000230000000
Using GB pages for direct mapping
 0100000000 - 0200000000 page 1G
 0200000000 - 0230000000 page 2M
kernel direct mapping tables up to 230000000 @ a000-c000
last_map_addr: 230000000 end: 230000000

Comment 1 Chuck Ebbert 2009-05-05 22:20:11 UTC
AMD CPUs have a special register that forces all memory above 4GB to be writeback. (The optimization code should probably note that when it prints the optimized settings though.) If you add "mtrr.show" to the boot options you should see a line that starts with "TOM2:" showing the top of memory above 4GB that is set writeback.

Comment 2 Bug Zapper 2009-06-09 15:06:44 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 11 development cycle.
Changing version to '11'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 3 Bug Zapper 2010-04-27 14:06:40 UTC
This message is a reminder that Fedora 11 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 11.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '11'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 11's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 11 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 4 Bug Zapper 2010-06-28 12:21:47 UTC
Fedora 11 changed to end-of-life (EOL) status on 2010-06-25. Fedora 11 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.