* [d-kernel] 2.6 IDE LBA48 problem
@ 2005-01-04 18:33 Mikhail Yakshin
2005-01-04 18:44 ` [d-kernel] " Konstantin A. Lepikhov
2005-01-04 19:19 ` [d-kernel] " Sergey Vlasov
0 siblings, 2 replies; 4+ messages in thread
From: Mikhail Yakshin @ 2005-01-04 18:33 UTC (permalink / raw)
To: ALT Linux kernel packages development
Приветствую!
Такая ситуация. Есть машина с материнкой ECS K7AMA - это на ALi-шном
чипсете AMD. Есть на ней такой вот IDE контроллер:
ALi Corporation M5229 IDE [IDE interface storage controller]
10b9:5229:10b9:5229 drivers: not found class:001:01:fa
hwid: 7CF90742C2091B3D
Проблема в том, что это контроллер в упор физически не поддерживает
адресацию LBA48 при DMA и поэтому любой жесткий диск >134 гиг видится
только на 134 гига. На любом ядре 2.4 это выглядит так в dmesg:
hdb: attached ide-disk driver.
hdb: host protected area => 1
hdb: cannot use LBA48 - capacity reset from 312581808 to 268435456
hdb: 268435456 sectors (137439 MB) w/8192KiB Cache, CHS=19457/255/63,
UDMA(100)
Ну и замечательно, используем 134 гига.
На 2.6 ядре все по другому. Там умный драйвер IDE от ALi считает, что он
умнее всех и что сейчас он все сделает как надо. Делает он просто -
смотрит на версию чипсета, определяет по нему поддержку контроллеров
UDMA при LBA48 - если не поддерживается - то говорит замечательную фразу
о том, что для доступа к высоким секторам будет использоваться PIO.
Проблема в том, что после этого все глохнет на пару минут, пока ядро не
слетает по таймаутам в UDMA и наконец вырубает этот DMA вообще и
целиком. После этого жесткий диск работает полностью, вроде бы даже на
160 гиг, как положено, но только в PIO, UDMA не включается совсем никак.
Скорость работы с диском посему ~1.5-2 мег в секунд (vs 40-50 при UDMA)
при 100% CPU load.
Процесс загрузки при таком пробинге и ожидании таймаутов растягивается
на 6-7 минут, первый раз таймаутов ждем на чтении partition table,
второй - на загрузке модулей файловых систем.
Вопрос - что в этом случае можно сделать? Я посмотрел в драйвер
alim15x3.c - там все грустно, глухо и тупо. Даже нет ни одной опции,
который бы можно было это оверрайдить. Меня бы в принципе устроило, если
бы 2.6 ядра вели себя как 2.4-ые. Приделывать опцию какую-нибудь или
расширять патчи по версиям?.. Или может не стоит так сильно мучаться и
уже придумано "до нас" что-то более умное?..
--
WBR, Mikhail Yakshin AKA GreyCat
ALT Linux [http://www.altlinux.ru] [xmpp:greycat@altlinux.org]
^ permalink raw reply [flat|nested] 4+ messages in thread
* [d-kernel] Re: 2.6 IDE LBA48 problem
2005-01-04 18:33 [d-kernel] 2.6 IDE LBA48 problem Mikhail Yakshin
@ 2005-01-04 18:44 ` Konstantin A. Lepikhov
2005-01-04 19:19 ` [d-kernel] " Sergey Vlasov
1 sibling, 0 replies; 4+ messages in thread
From: Konstantin A. Lepikhov @ 2005-01-04 18:44 UTC (permalink / raw)
To: ALT Linux kernel packages development
Hi Mikhail!
Tuesday 04, at 09:33:23 PM you wrote:
<skip>
> На 2.6 ядре все по другому. Там умный драйвер IDE от ALi считает, что он
> умнее всех и что сейчас он все сделает как надо. Делает он просто -
> смотрит на версию чипсета, определяет по нему поддержку контроллеров
> UDMA при LBA48 - если не поддерживается - то говорит замечательную фразу
> о том, что для доступа к высоким секторам будет использоваться PIO.
насколько я помню, в 2.4 поддержку DMA для этого чипсета чинили (как бы не
сам vsu@ патчик делал). может просто для 2.6 забыли?
--
WBR, Konstantin chat with ==>ICQ: 109916175
Lepikhov, speak to ==>JID: lakostis@jabber.org
aka L.A. Kostis write to ==>mailto:lakostis@pisem.net.nospam
...The information is like the bank... (c) EC8OR
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [d-kernel] 2.6 IDE LBA48 problem
2005-01-04 18:33 [d-kernel] 2.6 IDE LBA48 problem Mikhail Yakshin
2005-01-04 18:44 ` [d-kernel] " Konstantin A. Lepikhov
@ 2005-01-04 19:19 ` Sergey Vlasov
2005-01-05 0:11 ` Mikhail Yakshin
1 sibling, 1 reply; 4+ messages in thread
From: Sergey Vlasov @ 2005-01-04 19:19 UTC (permalink / raw)
To: ALT Linux kernel packages development
[-- Attachment #1: Type: text/plain, Size: 1227 bytes --]
On Tue, Jan 04, 2005 at 09:33:23PM +0300, Mikhail Yakshin wrote:
> ALi Corporation M5229 IDE [IDE interface storage controller]
> 10b9:5229:10b9:5229 drivers: not found class:001:01:fa
> hwid: 7CF90742C2091B3D
[skip]
Я не понимаю, как тот код, который написан в ide-disk.c для поддержки
флага no_lba48_dma, мог у кого-то работать.
Надо бы попробовать этот патчик, но придётся пересобирать ядро.
Впрочем, можно просто положить его в Сизиф и посмотреть, что будет
(кроме этого глючного контроллера, больше нигде флаг no_lba48_dma не
используется).
--- kernel-source-2.6.10/drivers/ide/ide-disk.c.no_lba48_dma 2004-12-25 00:34:32 +0300
+++ kernel-source-2.6.10/drivers/ide/ide-disk.c 2005-01-04 22:13:15 +0300
@@ -134,6 +134,8 @@ ide_startstop_t __ide_do_rw_disk (ide_dr
if (hwif->no_lba48_dma && lba48 && dma) {
if (rq->sector + rq->nr_sectors > 1ULL << 28)
dma = 0;
+ else
+ lba48 = 0;
}
if (!dma) {
@@ -147,7 +149,7 @@ ide_startstop_t __ide_do_rw_disk (ide_dr
/* FIXME: SELECT_MASK(drive, 0) ? */
if (drive->select.b.lba) {
- if (drive->addressing == 1) {
+ if (lba48) {
task_ioreg_t tasklets[10];
pr_debug("%s: LBA=0x%012llx\n", drive->name, block);
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [d-kernel] 2.6 IDE LBA48 problem
2005-01-04 19:19 ` [d-kernel] " Sergey Vlasov
@ 2005-01-05 0:11 ` Mikhail Yakshin
0 siblings, 0 replies; 4+ messages in thread
From: Mikhail Yakshin @ 2005-01-05 0:11 UTC (permalink / raw)
To: ALT Linux kernel packages development
Sergey Vlasov пишет:
> On Tue, Jan 04, 2005 at 09:33:23PM +0300, Mikhail Yakshin wrote:
>
>>ALi Corporation M5229 IDE [IDE interface storage controller]
>>10b9:5229:10b9:5229 drivers: not found class:001:01:fa
>>hwid: 7CF90742C2091B3D
>
> [skip]
>
> Я не понимаю, как тот код, который написан в ide-disk.c для поддержки
> флага no_lba48_dma, мог у кого-то работать.
>
> Надо бы попробовать этот патчик, но придётся пересобирать ядро.
> Впрочем, можно просто положить его в Сизиф и посмотреть, что будет
> (кроме этого глючного контроллера, больше нигде флаг no_lba48_dma не
> используется).
Просто насколько я понимаю, этот глючный контроллер слишком уж мало
распространен, а уж LBA48 на нем в принципе нигде никто не юзает. Старые
машины и материнки уже отмерли, на них никто LBA48-диски не ставит.
Новые - это разве что мобильные чипсеты от ATI, но там - тоже дисков
>134 гиг не бывает толком. Userbase -> 0, потому и глюки :(
Этот патч кто-нибудь в ближайшее время в какие-нибудь ядра 2.6 может
включить, чтобы мне самому не пересобирать, а попробовать готовое?
--
WBR, Mikhail Yakshin AKA GreyCat
ALT Linux [http://www.altlinux.ru] [xmpp:greycat@altlinux.org]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2005-01-05 0:11 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-04 18:33 [d-kernel] 2.6 IDE LBA48 problem Mikhail Yakshin
2005-01-04 18:44 ` [d-kernel] " Konstantin A. Lepikhov
2005-01-04 19:19 ` [d-kernel] " Sergey Vlasov
2005-01-05 0:11 ` Mikhail Yakshin
ALT Linux kernel packages development
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel-kernel/0 devel-kernel/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 devel-kernel devel-kernel/ http://lore.altlinux.org/devel-kernel \
devel-kernel@altlinux.org devel-kernel@altlinux.ru devel-kernel@altlinux.com
public-inbox-index devel-kernel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel-kernel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git