Bug 8901 - Отключается UDMA при ошибках чтения
Summary: Отключается UDMA при ошибках чтения
Status: CLOSED NOTABUG
Alias: None
Product: Sisyphus
Classification: Development
Component: kernel-image-std26-up (show other bugs)
Version: unstable
Hardware: all Linux
: P2 normal
Assignee: Sergey Vlasov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-01-22 02:29 MSK by Vitaly Lipatov
Modified: 2008-03-30 18:44 MSD (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vitaly Lipatov 2006-01-22 02:29:47 MSK
Ядро себя ведёт так, что при ошибках чтения (допустим, 
диск неисправен) отключается UDMA.  
Глубокого смысла в таком поведении уже нет, а проблемы создаёт: 
некоторые устройства плохо работают совместно без UDMA.
Comment 1 Michael Shigorin 2007-04-08 19:24:40 MSD
Виталик, это фича.  Для дисков, которые не умеют работать в PIO (там не
UDMA->DMA сбрасывается, а вообще всякое DMA сбрасывается в PIO) -- предлагаемое
тобой изменение ничего не улучшит, а так для менее кривых железок появляется
шанс хоть медленно, да выколупать данные.  Заодно и заметить проблему по дикому
load average.

Сталкивался с различнейшими дисками в таком виде не раз и не десять...
Comment 2 Vitaly Lipatov 2007-04-09 00:04:37 MSD
Ничего не понимаю.
1. Забудем о дисках, которые не умеют DMA.
2. Зачем мне отключать DMA, если я пытаюсь считать данные с умирающего HDD?
3. Суть проблемы в том, что при попытке чтения на нормальном железе битого 
компакта вся система начинает тормозить, пока не перезагрузишься (нормальный 
человек hdparm не будет запускать).
4. Я хочу уметь отключать эту "фичу"
5. Мне не интересно кривое железо.
Comment 3 Michael Shigorin 2007-04-09 00:20:28 MSD
(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 Vitaly Lipatov 2007-06-13 02:34:51 MSD
Судя по описанию, да, оно:
hdparm -k -K
Быть может нужно включить эти параметры по умолчанию?
Comment 5 Michael Shigorin 2008-03-30 18:44:43 MSD
Нет, конечно:

-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.

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