ALT Linux hardware support
 help / color / mirror / Atom feed
From: Sergey Vlasov <vsu@altlinux.ru>
To: hardware@lists.altlinux.org
Subject: Re: [Hardware] kernel-image-std-pae & i965 & 4Gb
Date: Mon, 18 Feb 2008 16:01:08 +0300
Message-ID: <20080218130108.GJ17268@newmaster.mivlgu.local> (raw)
In-Reply-To: <f041fbd00802180410u757022a6g1ed5274f5eee5bd0@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2828 bytes --]

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 при загрузке, но это сложнее, и на первых
стадиях загрузки всё равно будет наблюдаться замедление.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

  reply	other threads:[~2008-02-18 13:01 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-18 11:07 Maks Re
2008-02-18 11:30 ` Sergey Vlasov
2008-02-18 11:33   ` Maks Re
2008-02-18 12:10     ` Maks Re
2008-02-18 13:01       ` Sergey Vlasov [this message]
2008-02-18 13:46         ` Maks Re
2008-02-18 14:15           ` Sergey Vlasov
2008-02-20 14:38             ` Maks Re

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080218130108.GJ17268@newmaster.mivlgu.local \
    --to=vsu@altlinux.ru \
    --cc=hardware@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux hardware support

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/hardware/0 hardware/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 hardware hardware/ http://lore.altlinux.org/hardware \
		hardware@altlinux.ru hardware@lists.altlinux.org hardware@lists.altlinux.ru hardware@lists.altlinux.com hardware@altlinux.org
	public-inbox-index hardware

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.hardware


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git