IDE+sd*+DMA

ДМА у меня не пашет. Винтарь IDE. По рецепту, прочитанному на данном форуме, сконфигурил ядро с libata. Вот опции в ядре на счет дма:
cat /usr/src/linux-2.6.27-gentoo-r1/.config | grep DMA
CONFIG_ZONE_DMA=y
CONFIG_GENERIC_ISA_DMA=y
# CONFIG_ZONE_DMA32 is not set
# CONFIG_HAVE_DMA_ATTRS is not set
CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_ISA_DMA_API=y
CONFIG_BLK_DEV_IDEDMA_SFF=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_SCSI_DMA=y
# CONFIG_CARDMAN_4000 is not set
# CONFIG_CARDMAN_4040 is not set
CONFIG_DMADEVICES=y
# DMA Devices
CONFIG_INTEL_IOATDMA=y
CONFIG_DMA_ENGINE=y
# DMA Clients
CONFIG_NET_DMA=y
CONFIG_DMATEST=y
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
CONFIG_HAS_DMA=y

В грубе прописывал combined_mode=libata libata.atapi_enabled=1.
Ничего не помогает, скорось 8 МБ/с. В гугле нашел много чего, но все не помогает.
hdparm -d1 /dev/sda

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

покажи

Покажи вывод dmesg |grep DMA

вывод dmesg

Agressor написал(а):
Покажи вывод dmesg |grep DMA

DMA 0 -> 4096
DMA zone: 32 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 4064 pages, LIFO batch:0
ata1: PATA max UDMA/133 cmd 0x1f0 ctl 0x3f6 bmdma 0xe000 irq 14
ata2: PATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0xe008 irq 15
ata1.00: ATA-7: ST3200827A, 3.AAE, max UDMA/100
ata1.01: ATAPI: PIONEER DVD-RW DVR-111D, 1.23, max UDMA/66
ata1.00: configured for UDMA/100
ata1.01: configured for UDMA/66
ata2.00: ATA-7: Maxtor 6Y080L0, YAR41BW0, max UDMA/133
ata2.01: ATA-6: ST3120026A, 3.01, max UDMA/100
ata2.00: configured for UDMA/133
ata2.01: configured for UDMA/100

С уважением.
Пантер.

Ядро

Ядро не ругается что проблеммы с DMA, если и в выводе hdparm -iI /dev/sd(a,c,d) режимы стоят *udma5 для Сегейтов и *udma6 для Макстора - похоже надо копать в сторону планировщика... А какой он кстати? И какой чип контроллера дисков? Модель платы?

вы бы лучше указали модель

вы бы лучше указали модель своей материнской платы.обычно так бывает (не работает DMA), если драйвер контроллера не тот выбран, либо выбран "стандартный", а сам драйвер модулем. если правильно выбрать драйверы - нормально и на стрых матерях ide работает через libata.
P.S.на некоторых матерях (даже deluxe) ставят jmicron.

P.S.: Linux - это красная таблетка :-) Windows - синяя...

модель своей материнской платы

Aladdin написал(а):
вы бы лучше указали модель своей материнской платы.обычно так бывает (не работает DMA), если драйвер контроллера не тот выбран, либо выбран "стандартный", а сам драйвер модулем. если правильно выбрать драйверы - нормально и на стрых матерях ide работает через libata.
P.S.на некоторых матерях (даже deluxe) ставят jmicron.

Я не знаю где смотреть модель. Есть надпись VIA vt8235 - это оно?

С уважением.
Пантер.

посмотри

в выводе lspci -v конкретно секция которая IDE interface:
Планировщик посмотреть какой - dmesg |grep schedule

sudo dmesg |grep schedule io

sudo dmesg |grep schedule
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)

hdparm -iI /dev/sda

/dev/sda:

Model=ST3200827A , FwRev=3.AAE , SerialNo= 4ND2ETZ0
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=?16?
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=390721968
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=no WriteCache=enabled
Drive conforms to: Unspecified: ATA/ATAPI-1,2,3,4,5,6,7

* signifies the current active mode

HDIO_DRIVE_CMD(identify) failed: Permission denied

hdparm -iI /dev/sdb

/dev/sdb:

Model=Maxtor 6Y080L0 , FwRev=YAR41BW0, SerialNo=Y254HT4E
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=?0?
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=160086528
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: ATA/ATAPI-7 T13 1532D revision 0: ATA/ATAPI-1,2,3,4,5,6,7

* signifies the current active mode

HDIO_DRIVE_CMD(identify) failed: Permission denied

lspci -v
00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP])
Subsystem: VIA Technologies, Inc. VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE
Flags: bus master, medium devsel, latency 32, IRQ 11
[virtual] Memory at 000001f0 (32-bit, non-prefetchable) [=8]
[virtual] Memory at 000003f0 (type 3, non-prefetchable) [=1]
[virtual] Memory at 00000170 (32-bit, non-prefetchable) [=8]
[virtual] Memory at 00000370 (type 3, non-prefetchable) [=1]
I/O ports at e000 [=16]
Capabilities: [c0] Power Management version 2
Kernel driver in use: pata_via

С уважением.
Пантер.

Смущают

вот эти строки
Drive conforms to: Unspecified:
У меня вот так - Drive conforms to: ATA/ATAPI-6 T13 1410D revision 2: ATA/ATAPI-1,2,3,4,5,6
и вообще невозможность выполнить hdparm -I
HDIO_DRIVE_CMD(identify) failed: Permission denied

Конфиг ведра посмотреть бы... положи на http://paste.org

Закинул конфиг ядра.

http://paste.org/index.php?id=4190

С уважением.
Пантер.

Хм...

Ничего неправильного не вижу в конфиге, кроме кучи мусора лишнего (поддержка несуществующий устройств всмысле) - но влиять это так сильно на производительность не может... Правильно говорится что аппендицит по телефону не вырезать :) Как вариан - смотря в вывод lspci -v попробуй ВДУМЧИВО пересобрать ядро, выкинуть от туда все ненужное... Да а кстати, на Максторе вроде ошибок на 1 меньше чем на Сегейте - что у него по hdparm -tT ???

sudo hdparm -tT

sudo hdparm -tT /dev/sda
Пароль:

/dev/sda:
Timing cached reads: 188 MB in 2.01 seconds = 93.56 MB/sec
Timing buffered disk reads: 156 MB in 3.67 seconds = 42.52 MB/sec

sudo hdparm -tT /dev/sdb

/dev/sdb:
Timing cached reads: 348 MB in 2.00 seconds = 173.79 MB/sec
Timing buffered disk reads: 140 MB in 3.00 seconds = 46.66 MB/sec

/dev/sdb - Макстор
/dev/sda - Сегейт

А выкидывать лишенее страшновато. :)

С уважением.
Пантер.

Оп!!

Так по показателям hdparm они то полностью на свое и работают!!! Странно что при копировании с винта на винт такие показатели плохие....
а что говорят вот такие тесты -
на запись
time sh -c "dd if=/dev/zero of=/bigfile bs=8k count=250000 && sync"
и на чтение, только желательно после перезагрузки чтоб дисковый кеш не ввел ошибку
time dd if=/bigfile of=/dev/null bs=8k

real 1m15.991s user

real 1m15.991s
user 0m0.136s
sys 0m10.169s

Но это,ИМХО, не показатель, т.к. reiser4, и нули на самом деле не пишутся на диск.

real 1m3.116s
user 0m0.156s
sys 0m8.945s

Перегрузиться не могу, т.к. библиотека одна компилится, жалко.
Кстати, раньше вод Слакой скорость копирования была 20-30, но там были hd*.

С уважением.
Пантер.

ФС

panter_dsd написал(а):
real 1m15.991s
user 0m0.136s
sys 0m10.169s

Но это,ИМХО, не показатель, т.к. reiser4, и нули на самом деле не пишутся на диск.

real 1m3.116s
user 0m0.156s
sys 0m8.945s

А попробуй создать раздел с ext3 или XFS - как на нем скорость записи-чтения будет? Не тормозит ли это сама фс?
P.S.
То что ниже пишут об настройке ядра - тип процессора и т.д. - ерунда это все, так кардинально на i/o дисковый это не влияет...

real 1m49.452s user

real 1m49.452s
user 0m0.132s
sys 0m13.985s

Тот же винт, раздер под reiserfs, показатели еще хуже.

real 0m46.423s
user 0m0.092s
sys 0m5.936s

А вот чтение быстрее.

С уважением.
Пантер.

нет в этом конфиге поддержки

нет в этом конфиге поддержки via.
вот здесь вот обсуждают http://www.gentoo.ru/node/12071, как праильно делать

P.S.: Linux - это красная таблетка :-) Windows - синяя...

Что-то там не совсем то

Что-то там не совсем то обсуждают. Вот строки в конфиге
CONFIG_SATA_VIA=y
CONFIG_PATA_VIA=y
Разве это не включение VIA?

С уважением.
Пантер.

Дык

Aladdin написал(а):
нет в этом конфиге поддержки via.
вот здесь вот обсуждают http://www.gentoo.ru/node/12071, как праильно делать

Дык, хоть сам то понял что сказал? Или конфиг смотрел по диагонали?

Кстати, очень интересный

Кстати, очень интересный момент - при копирование загрузки проца не наблюдается. Это очень интересно, так как, на сколько я знаю, при отсутствии ДМА должен быть загруз под 100% при копировании. В общем "ничего не понимаю".

С уважением.
Пантер.

а шлейф один?

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

3 харда и 1 дивидюк на 2-х

3 харда и 1 дивидюк на 2-х шлейфах. Ничего никуда не переставить. :(

С уважением.
Пантер.

т.е. на одном. ну тогда,

т.е. на одном.
ну тогда, боюсь, что ничего не сделать.
по одному шлейфу с мастера на слейв быстро никогда не бегало.
поэтому всем раньше рекомендовалось винт и резак вешать на разные шлейфы.

Раньше при такой же

Раньше при такой же конфигурации на Слаке скорость копирования была >=20, а теперь <10. Это-то и напрягает.

С уважением.
Пантер.

вопрос по конфигу ядра чем

вопрос по конфигу ядра
чем вызвано CONFIG_X86_GENERICARCH=y, а не CONFIG_X86_PC=y?
и, что ещё забавнее, CONFIG_M586=y
какой у Вас процессор? поставьте в ядре в соответствие с текущей аппаратной конфигурацией

Я не силен в конфигурировании ядра

Taelas написал(а):
вопрос по конфигу ядра
чем вызвано CONFIG_X86_GENERICARCH=y, а не CONFIG_X86_PC=y?
и, что ещё забавнее, CONFIG_M586=y
какой у Вас процессор? поставьте в ядре в соответствие с текущей аппаратной конфигурацией

Я не силен в конфигурировании ядра. Проц у меня Athlon-XP 2100.

С уважением.
Пантер.

хмм...

в ядре поставьте

Processor type and features  --->
   Subarchitecture Type (PC-compatible)
   Processor family (Athlon/Duron/K7)

пересоберите, после этого ещё раз попробуйте.
обязательно прочтите как правильно конфигурировать ядро, например здесь
наверное главы этак с третьей. (т.к. исходники уже установлены)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".