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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <467CC429.3030505@rabbit.us>
Date:	Sat, 23 Jun 2007 08:56:41 +0200
From:	Peter Rabbitson <rabbit@...bit.us>
To:	Robert Hancock <hancockr@...w.ca>
CC:	"H. Peter Anvin" <hpa@...or.com>, linux-kernel@...r.kernel.org,
	surenkarapetyan@...il.com
Subject: Re: Terrible IO performance when using 4GB of RAM on a 32 bit machine
 [solved]

Robert Hancock wrote:
> Peter Rabbitson wrote:
>>
>> reg00: base=0x00000000 (   0MB), size=2048MB: write-back, count=1
>> reg01: base=0x80000000 (2048MB), size=1024MB: write-back, count=1
>> reg02: base=0xc0000000 (3072MB), size= 512MB: write-back, count=1
>> reg03: base=0xe0000000 (3584MB), size= 256MB: write-back, count=1
>> reg04: base=0xf0000000 (3840MB), size= 128MB: write-back, count=1
>> reg05: base=0xf8000000 (3968MB), size=  32MB: write-back, count=1
> 
> Looks like another case of bad MTRRs on an Intel motherboard? The BIOS 
> is marking only memory up to 4000MB as cacheable, but the actual memory 
> extends up to about 4031MB. Therefore anything that accesses the top 
> 31MB of memory will run very slow.

I sincerely apologize for not paying enough attention. Intel has fixed 
this issue 2 BIOS revisions ago[1], kudos to Suren Karapetyan for 
pointing this out. I just upgraded the BIOS and it indeed solves the 
problem. The mtrr still seems not to be going over 4000MB, but 
everything works without any visible slowdowns at all. Here is how the 
mtrr and the relevant dmesg line look like now:

reg00: base=0x00000000 (   0MB), size=2048MB: write-back, count=1
reg01: base=0x80000000 (2048MB), size=1024MB: write-back, count=1
reg02: base=0xc0000000 (3072MB), size= 512MB: write-back, count=1
reg03: base=0xe0000000 (3584MB), size= 256MB: write-back, count=1
reg04: base=0xf0000000 (3840MB), size= 128MB: write-back, count=1
(there is no reg05)
...
Memory: 4024568k/4063168k available (2894k kernel code, 37456k reserved, 
930k data, 252k init, 3145664k highmem)
...

Thank you for the help!

Peter

[1] 
http://downloadcenter.intel.com/Detail_Desc.aspx?agr=N&Inst=Yes&ProductID=1640&DwnldID=11261&strOSs=All&OSFullName=All%20Operating%20Systems&lang=eng
-
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ