Bug 8901 - Отключается UDMA при ошибках чтения
: Отключается UDMA при ошибках чтения
Status: CLOSED NOTABUG
: Sisyphus
(All bugs in Sisyphus/kernel-image-std26-up)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2006-01-22 02:29 by
Modified: 2008-03-30 18:44 (History)


Attachments


Note

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


Description From 2006-01-22 02:29:47
Ядро себя ведёт так, что при ошибках чтения (допустим, 
диск неисправен) отключается UDMA.  
Глубокого смысла в таком поведении уже нет, а проблемы создаёт: 
некоторые устройства плохо работают совместно без UDMA.
------- Comment #1 From 2007-04-08 19:24:40 -------
Виталик, это фича.  Для дисков, которые не умеют работать в PIO (там не
UDMA->DMA сбрасывается, а вообще всякое DMA сбрасывается в PIO) -- предлагаемое
тобой изменение ничего не улучшит, а так для менее кривых железок появляется
шанс хоть медленно, да выколупать данные.  Заодно и заметить проблему по дикому
load average.

Сталкивался с различнейшими дисками в таком виде не раз и не десять...
------- Comment #2 From 2007-04-09 00:04:37 -------
Ничего не понимаю.
1. Забудем о дисках, которые не умеют DMA.
2. Зачем мне отключать DMA, если я пытаюсь считать данные с умирающего HDD?
3. Суть проблемы в том, что при попытке чтения на нормальном железе битого 
компакта вся система начинает тормозить, пока не перезагрузишься (нормальный 
человек hdparm не будет запускать).
4. Я хочу уметь отключать эту "фичу"
5. Мне не интересно кривое железо.
------- Comment #3 From 2007-04-09 00:20:28 -------
(In reply to comment #2)
> Ничего не понимаю.
Послушай тех, кто понимает... или объясни точнее, чего надобно.

> 1. Забудем о дисках, которые не умеют DMA.
Именно.  О таких жёстких дисках проще забыть, каши с ними всё равно не сваришь
(старые фуджики ~8.4, умеренно старые самсунги -- что-то около 20Gb и подобное
непотребство само по себе).

Из безупречно умеющих UDMDA _и_ подлежащие DMA -- IBM/Hitachi, от Seagate и WD
ощущений как-то не зафиксировалось.

> 2. Зачем мне отключать DMA, если я пытаюсь считать данные с умирающего HDD?
Зачем тебе его включать?  Я помню Linux 2.0/2.2, который IIRC не отключал --
субъективно с тех пор, как _стал_ отключать, поведение стало лучше.

> 3. Суть проблемы в том, что при попытке чтения на нормальном железе битого 
> компакта вся система начинает тормозить, пока не перезагрузишься (нормальный 
> человек hdparm не будет запускать).
Аааа, так ты про CDROM?  Это _совсем_ отдельная тема.

Попробуй eject -x 16 (сам вот думаю -- а не порекомендовать ли в инсталер -x 24
какое, всё равно эффективно читать на >32X никто толком не умеет).

> 4. Я хочу уметь отключать эту "фичу"
Тут ответа не знаю.  Какие-то обсуждения/рекомендации встречал, но за
ненадобностью выкинул из головы.

> 5. Мне не интересно кривое железо.
См. п.1.
------- Comment #4 From 2007-06-13 02:34:51 -------
Судя по описанию, да, оно:
hdparm -k -K
Быть может нужно включить эти параметры по умолчанию?
------- Comment #5 From 2008-03-30 18:44:43 -------
Нет, конечно:

-k
    The -k flag should therefore only be set after one has achieved
    confidence in correct system operation with a chosen set of
    configuration settings.

-K
    Not all drives support this feature.

Предлагаю закрыть этот баг как глючный.