LINUX.ORG.RU — Русская информация об ОС Linux

[#]  

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

Данная тема является продолжением общей дискуссии. Многие опытные пользователи 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.

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

annoynimous ***** (25.09.2007 13:05:42)
Проверено: Shaman007 (25.09.2007 16:30:31)
Juick

[#]  

Re: Добавление (рудиментарной) возможности управлять DMA накопителей, использующих libata

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

annoynimous ***** (25.09.2007 13:11:18)
UserUnknown

Re: Добавление (рудиментарной) возможности управлять DMA накопителей, использующих libata

Заголовок какой-то корявенький...

UserUnknown ***** (25.09.2007 13:22:52)
[#]  
GladAlex

Re: Добавление (рудиментарной) возможности управлять DMA накопителей, использующих libata

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

GladAlex ***** (25.09.2007 13:26:21)

Re: Добавление (рудиментарной) возможности управлять DMA накопителей, использующих libata

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

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

Users are strongly encouraged to submit the feature request into LKML

annoynimous ***** (25.09.2007 14:33:31)
Dieter

Re: Добавление (рудиментарной) возможности управлять DMA накопителей, использующих libata

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

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

Dieter *** (25.09.2007 17:06:19)
GladAlex

Re: Добавление (рудиментарной) возможности управлять DMA накопителей, использующих libata

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

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

GladAlex ***** (25.09.2007 17:43:00)
[#]  

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

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

KUser * (25.09.2007 17:46:33)
[#]  

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

2.6.22.8!!!

anonymous (25.09.2007 17:53:02)
[#]  
AiFiLTr0

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

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

AiFiLTr0 ** (25.09.2007 18:01:00)

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

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

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

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

annoynimous ***** (25.09.2007 18:10:18)

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

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

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

frame *** (25.09.2007 18:44:56)

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

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

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

annoynimous ***** (25.09.2007 18:50:51)

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

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

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

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

orlusha (25.09.2007 18:57:01)

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

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

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

frame *** (25.09.2007 19:02:29)

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

4.2

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

annoynimous ***** (25.09.2007 19:48:16)
Dieter

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

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

Dieter *** (25.09.2007 19:54:19)

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

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

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

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

annoynimous ***** (25.09.2007 19:57:35)

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

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

proforg * (25.09.2007 20:01:04)

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

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

scyld # (25.09.2007 20:40:04)
YesSSS

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

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

+1

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

YesSSS *** (25.09.2007 20:47:06)

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

combined_mode=libata

annoynimous ***** (25.09.2007 20:53:08)

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

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

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

anonymous (25.09.2007 20:56:14)

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

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

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

Grindz (25.09.2007 21:09:46)

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

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

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

frame *** (25.09.2007 21:11:42)

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

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

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

annoynimous ***** (25.09.2007 21:17:19)
YesSSS

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

Пока не помогло (дописывал к строке в 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 *** (25.09.2007 21:32:28)

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

А с железом всё в порядке?

annoynimous ***** (25.09.2007 21:33:14)
YesSSS

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

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

YesSSS *** (25.09.2007 21:36:53)

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

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

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

annoynimous ***** (25.09.2007 21:37:47)
YesSSS

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

Загрузился с федориной компашки, hdparm -i... :

hda(винт) udma5
hdc(сидюк) udma2

YesSSS *** (25.09.2007 21:43:08)
[#]  

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

Народ, а как эту 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 (25.09.2007 22:36:43)

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

Странно.

annoynimous ***** (25.09.2007 22:45:19)
YesSSS

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

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

YesSSS *** (25.09.2007 23:14:09)

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

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

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

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

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

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

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

anonymous (26.09.2007 13:30:45)
AiFiLTr0

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

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

AiFiLTr0 ** (26.09.2007 16:38:20)
AiFiLTr0

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

ata2.00: soft resetting link

ata2.00: configured for UDMA/25

ata2: EH complite

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

AiFiLTr0 ** (26.09.2007 16:41:49)
AiFiLTr0

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

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

AiFiLTr0 ** (26.09.2007 16:51:31)

О Сервере - Правила форума
http://www.linux.org.ru/

Rambler's Top100 Рейтинг@Mail.ru