LINUX.ORG.RU

Рудиментарная возможность управлять DMA для накопителей, использующих libata в 2.6.22.7


0

0

Данная тема является продолжением общей дискуссии. Многие опытные пользователи Linux сталкиваются с проблемой, что утилита hdparm оказывается не в состоянии установить статус DMA, равно как и включить/выключить его на дисках при работе с ними через libata. Версия ядра 2.6.22.7 добавляет для них рудиментарную поддержку контроля DMA. Управление осуществляется путём передачи нужного параметра при загрузке:

  • libata.pata_dma=0 Disable all PATA DMA like old IDE
  • libata.pata_dma=1 Disk DMA only
  • libata.pata_dma=2 ATAPI DMA only
  • libata.pata_dma=4 CF DMA only
К сожалению пока не ясно, можно ли изменять эти параметры "на лету" через /proc или sysctl.

>>> Подробности

★★★★★

Проверено: Shaman007 ()

Уточнение: по-видимому, этот патч не является частью vanilla 2.6.22.7, а добавлен разработчиками Fedora.

annoynimous ★★★★★
() автор топика
Ответ на: комментарий от GladAlex

> Дык как на лету это сделать, если DMA отрубился?

Если следовать документации, то никак. Но не исключено, что эти параметры экспортируются в userspace посредством /proc или это будет добавлено в следующих версиях.

Users are strongly encouraged to submit the feature request into LKML

annoynimous ★★★★★
() автор топика
Ответ на: комментарий от annoynimous

/dev/sdb:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Inappropriate ioctl for device

видел на форуме говорили дескать все норм в libata dma по дефолту всегда включен

Dieter ★★★
()
Ответ на: комментарий от Dieter

>видел на форуме говорили дескать все норм в libata dma по дефолту всегда включен

Ага, точно, если только привод с кривой прошивкой при ошибке чтения/записи его не вырубает. А сам он потом "по дефолту" автоматом почему-то не включается :-/ (-;

GladAlex ★★★★★
()

Рудиментарный - типа аппендикс в ядре? :)

KUser
()

2.6.22.8!!!

anonymous
()

нда... с этим libata одни косяки: с последними ядрами четыре веника отвалились:
2x20gb ibm
1x30gb quantum
1x160gb western digital .
первые по причине косяков с дма, второй фдиском выдает правильную таблицу разделов, как и есть но при попытке монтирования чего либо с него выдает в сислог кучу дерьма (в основном шестнадцатиричного) и иногда валит систему в панику. От контроллера не зависит - проверял. А вот под фряхой все это добро пашет как надо, причем с дма даже в случае первых дисков, на которых дма не врубалось никогда со времен 2.4

AiFiLTr0 ★★★★★
()
Ответ на: комментарий от AiFiLTr0

> нда... с этим libata одни косяки: с последними ядрами четыре веника отвалились:

Странно, качество libata должно быть, по меньшей мере, не хуже, чем старого ide.

А шлейфы|контроллеры в порядке?

annoynimous ★★★★★
() автор топика
Ответ на: комментарий от annoynimous

>Странно, качество libata должно быть, по меньшей мере, не хуже, чем старого ide.

Странное у некоторых понятие о теге [Experimental]...

frame ★★★
()
Ответ на: комментарий от frame

> Странное у некоторых понятие о теге [Experimental]...

Старый ide был одним из самых проблемных мест в ядре

annoynimous ★★★★★
() автор топика
Ответ на: комментарий от AiFiLTr0

> нда... с этим libata одни косяки: с последними ядрами четыре веника отвалились: > 2x20gb ibm > 1x30gb quantum > 1x160gb western digital .

1. Неужели первые два еще живы?! Может быть, сразу в помойку?...

2. С третьим: помойка тоже редкостная, хотя и шустренький; а материнка какая с какой версией прошивки?

orlusha
()
Ответ на: комментарий от annoynimous

>Старый ide был одним из самых проблемных мест в ядре

теперь (с новым libata) в ядре проблем нет - они появились у владельцев винчестеров =)

frame ★★★
()
Ответ на: комментарий от frame

4.2

Ппробуйте попользуйтесь новыми чипсетами (да хотя бы ICH6-ICH7) со старым ide-драйвером. Тогда и сравним, у кого проблем меньше.

annoynimous ★★★★★
() автор топика
Ответ на: комментарий от Dieter

> чегото я в ченжлоге не нашел об этом упоминания, без патчика редхатовского никак не обойтись?

Ну вот в общем-то в этом и загвоздка... Я сегодня проапдейтил ядро - а там такой ченджлог, что дескать, вот, добавили фичу. А когда сам смотрел в vanill'у - вроде и нет ничего...

Думаю, что нужно тянуть патч от редхата.

annoynimous ★★★★★
() автор топика
Ответ на: комментарий от AiFiLTr0

>> четыре веника отвалились:
ничего личного, но может те это - в дворники уже пора переквалифицироваться, как уже советовали в теме про bsd ?

proforg
()
Ответ на: комментарий от proforg

у меня старый интеловский чипсет. на нём надо запустить ata_piix и всё будет замечательно. 66MB/s. только вместо hda будет sda.
Это где-то с 2.6.22 началось.

scyld
()
Ответ на: комментарий от AiFiLTr0

> нда... с этим libata одни косяки...

+1

Поставил себе на ноут OpenSUSE 10.3 с libata - система грузится ~5 минут (многократно пытается поднять сидиром), после загрузки сидрома нет. =( Драйвер pata_ali(libata). Нагуглил только обсуждение проблем с этим драйвером на разных дистрах.

YesSSS ★★★
()
Ответ на: комментарий от AiFiLTr0

А у меня с libata в Linux все зашибись!

2x20GB IDE Quantum (один сдох пару недель назад - в чипе дырка)
40GB Seagate IDE
20GB Seagate IDE
20ПИ Maxtor IDE
10GB IDE Fujitsu
3x80GB Seagate SATA & IDE
и еще куче винтов!

anonymous
()
Ответ на: комментарий от annoynimous

> нда... с этим libata одни косяки...

C libata приходится ядро с irqpoll грузить, со старыми дровами такого небыло.

Grindz
()
Ответ на: комментарий от annoynimous

>Ппробуйте попользуйтесь новыми чипсетами (да хотя бы ICH6-ICH7) со старым ide-драйвером. Тогда и сравним, у кого проблем меньше.

Интел счас на волне новаторства в плане дружественного похеривания старых интерфесов и пропихивания новых, поэтому юзеры ICH* - ССЗБ

frame ★★★
()
Ответ на: комментарий от frame

> Интел счас на волне новаторства в плане дружественного похеривания старых интерфесов и пропихивания новых, поэтому юзеры ICH* - ССЗБ

Как там было? "Материя - объективная реальность, данная нам в ощущуениях" Надо как-то с этим работать. И посему разбираться с libata приходится, хорош он или плох.

annoynimous ★★★★★
() автор топика
Ответ на: комментарий от annoynimous

Пока не помогло (дописывал к строке в grub), буду гуглить с новыми силами. =)

Насчет отсутствия сидирома я погарячился, его hal не монтирует, а руками можно, хотя и очень тормозно (несколько минут, видать в прошлый раз я не дождался =) ).

Во время тупняка с диском в kernel log валятся(~10 раз) сообщения вида:

ata2.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen

ata2.00: cmd a0/01:00:00:00:00/00:00:00:00:00/a0 tag 0 cdb 0x46 data 32 in
res 40/00:02:00:0c:00/00:00:00:00:00/a0 EMask 0x4 (timeout)

ata2.00: soft resetting link

ata2.00: configured for UDMA/25

ata2: EH complite

YesSSS ★★★
()
Ответ на: комментарий от annoynimous

Да, такой тупняк только при загрузке/монтировании (потом работает нормально) и только с новыми ядрами (2.6.22.1 и более из OpenSUSE 10.3, до этого стояла FC6 с 2.6.18, там все ок).

YesSSS ★★★
()
Ответ на: комментарий от YesSSS

> Да, такой тупняк только при загрузке/монтировании (потом работает нормально) и только с новыми ядрами (2.6.22.1 и более из OpenSUSE 10.3, до этого стояла FC6 с 2.6.18, там все ок).

Походу, раньше оно у тебя вообще в PIO работало.

annoynimous ★★★★★
() автор топика

Народ, а как эту libata врубить то ? Чипсет i865 ICH6. Веник - PATA
Ща врублено:

 ATA/ATAPI/MFM/RLL support -> Intel PIIXn chipsets support
 
Может чего надо в 
Serial ATA (prod) and Parallel ATA (experimental) drivers  --->
врубить ?
Ядро 2.6.20.8.

anonymous
()
Ответ на: комментарий от annoynimous

Согласен, нужно будет поднапрячься и написать багрепорт.

YesSSS ★★★
()
Ответ на: комментарий от anonymous

> ATA/ATAPI/MFM/RLL support -> Intel PIIXn chipsets support

Это не то, это надо вырубить, чтобы не мешалось.

> Может чего надо в

Да, именно там.

http://kernelnewbies.org/Linux_2_6_19#head-cdcbaa9c1b476decdc064e0a75d23d1328...

PS ядра из дистрибутива уже не рулят? Вон в федорке с седьмой версии все очень классно на libata перевели..

anonymous
()
Ответ на: комментарий от annoynimous

проверял на десятке шлейфов и нескольких компов.

AiFiLTr0 ★★★★★
()
Ответ на: комментарий от YesSSS

ata2.00: soft resetting link

ata2.00: configured for UDMA/25

ata2: EH complite

вот они знакомые строчки. Если не дай бог будешь тестить на jmicron'e то будет port is slow to respond и ожидание стремящееся к бесконечности.

AiFiLTr0 ★★★★★
()
Ответ на: комментарий от proforg

только после того как ты переквалифицируешься в топливо для биореактора, друх мой.

AiFiLTr0 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.