Ядро себя ведёт так, что при ошибках чтения (допустим, диск неисправен) отключается UDMA. Глубокого смысла в таком поведении уже нет, а проблемы создаёт: некоторые устройства плохо работают совместно без UDMA.
Виталик, это фича. Для дисков, которые не умеют работать в PIO (там не UDMA->DMA сбрасывается, а вообще всякое DMA сбрасывается в PIO) -- предлагаемое тобой изменение ничего не улучшит, а так для менее кривых железок появляется шанс хоть медленно, да выколупать данные. Заодно и заметить проблему по дикому load average. Сталкивался с различнейшими дисками в таком виде не раз и не десять...
Ничего не понимаю. 1. Забудем о дисках, которые не умеют DMA. 2. Зачем мне отключать DMA, если я пытаюсь считать данные с умирающего HDD? 3. Суть проблемы в том, что при попытке чтения на нормальном железе битого компакта вся система начинает тормозить, пока не перезагрузишься (нормальный человек hdparm не будет запускать). 4. Я хочу уметь отключать эту "фичу" 5. Мне не интересно кривое железо.
(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.
Судя по описанию, да, оно: hdparm -k -K Быть может нужно включить эти параметры по умолчанию?
Нет, конечно: -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. Предлагаю закрыть этот баг как глючный.