[Hardware] kernel-image-std-pae & i965 & 4Gb

Maks Re admaks на gmail.com
Пн Фев 18 16:46:39 MSK 2008


т.е.
если мы добавим мозга - то придется также изменять вычестенный
параметр mem=4736M
?

и как такой баг вообще может изличится: когда-нибудь выйдет новый биос
и будет всем щастье?

2008/2/18 Sergey Vlasov <vsu на altlinux.ru>:
> On Mon, Feb 18, 2008 at 03:10:46PM +0300, Maks Re wrote:
> > а вот и логи
>
> Доступные для ядра области памяти (по данным BIOS):
>
>  BIOS-e820: 0000000000000000 - 000000000008f000 (usable)
>  BIOS-e820: 0000000000100000 - 00000000cf584000 (usable)
>  BIOS-e820: 00000000cf591000 - 00000000cf625000 (usable)
>  BIOS-e820: 00000000cf6df000 - 00000000cf6f0000 (usable)
>  BIOS-e820: 00000000cf6ff000 - 00000000cf700000 (usable)
>  BIOS-e820: 0000000100000000 - 000000012c000000 (usable)
>
> Теперь разберём настройки MTRR:
>
>  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= 256MB: write-back, count=1
>
> Эти регистры покрывают область адресов от 0x00000000 до 0xd0000000;
> все обычные области памяти ниже 4G, заявленные в BIOS-e820, входят в
> этот диапазон, так что тут всё нормально.
>
>  reg03: base=0xcf800000 (3320MB), size=   8MB: uncachable, count=1
>  reg04: base=0xcf700000 (3319MB), size=   1MB: uncachable, count=1
>
> Этими регистрами помечается как некешируемая область адресов от
> 0xcf700000 до 0xd0000000 - эта область не перекрывается ни с одной из
> областей BIOS-e820, помеченных как usable, что тоже правильно.
>
>  reg05: base=0x100000000 (4096MB), size= 512MB: write-back, count=1
>  reg06: base=0x120000000 (4608MB), size= 128MB: write-back, count=1
>
> Эти регистры устанавливают тип write-back для области адресов от
> 0x100000000 до 0x128000000.  Однако в BIOS-e820 сообщается, что
> доступная память находится по адресам от 0x100000000 до 0x12c000000,
> следовательно, имеется область памяти (0x128000000 - 0x12c000000,
> 64MB), которая не покрывается ни одним из регистров MTRR.  В
> результате эта память не кешируется, что приводит к громадному
> замедлению работы при её использовании.
>
> Подобная ошибка в BIOS многих материнских плат от Intel давно
> известна; например, вот одно из обсуждений:
>
>  http://www.fedoraforum.org/forum/showthread.php?t=157232&page=4
>
> Ошибка проявляется при установке >= 4GB RAM, причём только при условии
> использования ядра, которое может адресовать память за пределами
> первых 4 GB адресного пространства (именно поэтому 32-разрядное
> std-smp работает с нормальной скоростью - это ядро просто не может
> использовать память за пределами первых 4 GB, поэтому не использует
> проблемную область; а вот на x86_64 эта проблема бы проявилась и в
> std-smp).
>
> Простейший способ обойти данную проблему - ограничить используемую
> ядром память, отключив проблемные 64 MB; для этого можно использовать
> параметр ядра mem=4736M (0x128000000/1024/1024, или 4608+128 по данным
> последнего используемого регистра MTRR).  Возможен также вариант с
> добавлением настроек MTRR при загрузке, но это сложнее, и на первых
> стадиях загрузки всё равно будет наблюдаться замедление.
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.7 (GNU/Linux)
>
> iD8DBQFHuYGUW82GfkQfsqIRApqbAJ9jG8UuG2gcIWvQj07W+is4GA0YkACglcMP
> KuLWefI2GMGhmoA4cDUx6g0=
> =ODfK
> -----END PGP SIGNATURE-----
>
> _______________________________________________
> Hardware mailing list
> Hardware на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/hardware
>



-- 
С уважением,
  Макс.


Подробная информация о списке рассылки Hardware