Page 16 of 18

Re: SATA в режиме IDE - полная поддержка

Posted: Thu Apr 10, 2014 2:46 am
by Mario_r4
yogev_ezra wrote: Пишет только номер канала и номер диска, но не номер контроллера.
...
Как видим, 2 раза встречается IDE CH1 и IDE CH2, но они относятся к разным контроллерам.
Я подумаю над реализацией. Просто не хотелось захламлять лог лишними строками, которые особо ничего мне как разработчику не сообщают.
yogev_ezra wrote: Пробовал замерять разницу между PIO и UDMA режимами (диск hd0 работал с PIO, а диск hd2 - с UDMA):
Копирование файла 177MB с /hd2/2 (UDMA) на /usbhd0/1 заняло ровно 1 минуту
Копирование файла 173MB с /hd0/2 (PIO) на /usbhd0/1 заняло 2 минуты 15 секунд
(т.е. скорость PIO вышла примерно в 2 раза медленнее).
Результаты тестов не показательны, поскольку ограничены скоростью записи на USB (особенное если это SD карта, а не USB флеш), а PIO сам по себе, если CPU не занят другими задачами может достигать заметных значений для линейного чтения/записи.
Spoiler:http://ru.wikipedia.org/wiki/PIO
PIO Mode 0 = 3,3 MB/s
PIO Mode 1 = 5,2 MB/s
PIO Mode 2 = 8,3 MB/s
PIO Mode 3 = 11,1 MB/s
PIO Mode 4 = 16,7 MB/s
В твоем же случае это явно ограничение скорости работы с USB флеш: 2,95 МB/s для DMA и 1,28 МB/s для PIO. Для уменьшения эффекта нужно копировать на дополнительный рамдиск. Еще можно физически отключить ATAPI привод и копировать с жесткого на жесткий, если там есть FAT32 раздел. Еще есть подозрение, что скорость NTFS драйвера не самая оптимальная.

Re: SATA в режиме IDE - полная поддержка

Posted: Thu Apr 10, 2014 9:14 am
by Serge
Протестировал на своём железе, IDE в режиме SATA native. Всё читается, fat32 пишется. Отличная работа !
Spoiler:K : kernel SVN r4797
K : 4 CPU detected
K : IDE controller programming interface 0001018F
K : BAR0 IDE base addr FF00
K : BAR1 IDE base addr FE00
K : BAR2 IDE base addr FD00
K : BAR3 IDE base addr FC00
K : BAR4 IDE controller register base addr FB00
K : IDE Interrupt 0B
K : IDE controller programming interface 00010185
K : BAR0 IDE base addr F800
K : BAR1 IDE base addr F700
K : BAR2 IDE base addr F600
K : BAR3 IDE base addr F500
K : BAR4 IDE controller register base addr F400
K : IDE Interrupt 0B
K : Channel 1 Disk 0
K : Dev: ST2000DM001-1CH164
K : PIO possible modes 03
K : PIO set mode 01
K : Multiword DMA possible modes 07
K : Multiword DMA set mode 00
K : Ultra DMA possible modes 7F
K : Ultra DMA set mode 05
K : Channel 1 Disk 1
K : Dev: ST3320620AS
K : PIO possible modes 03
K : PIO set mode 01
K : Multiword DMA possible modes 07
K : Multiword DMA set mode 00
K : Ultra DMA possible modes 7F
K : Ultra DMA set mode 05
K : Channel 2 Disk 0
K : Device not found
K : Channel 2 Disk 1
K : Dev: Optiarc DVD RW AD-7203S
K : PIO possible modes 03
K : PIO set mode 01
K : Multiword DMA possible modes 07
K : Multiword DMA set mode 00
K : Ultra DMA possible modes 3F
K : Ultra DMA set mode 05
K : Channel 1 Disk 0
K : Device not found
K : Channel 1 Disk 1
K : Device not found
K : Channel 2 Disk 0
K : Device not found
K : Channel 2 Disk 1
K : Device not found
K : Attach Interrupt 11 Handler 80031744
K : Set IDE IRQ11 return code 8005BC10
K : IDE CH1 DMA enabled
K : IDE CH2 PIO, because ATAPI drive present
K : Attach Interrupt 11 Handler 80031744
K : Set IDE IRQ11 return code 8005BC24
K : IDE CH1 PIO because no devices
K : IDE CH2 PIO because no devices
K : clear_pci_ide_interrupts: port[FB02] = 60 -> 60; port[FB0A] = 40 -> 40
K : clear_pci_ide_interrupts: port[F402] = 00 -> 00; port[F40A] = 00 -> 00

Re: SATA в режиме IDE - полная поддержка

Posted: Fri Apr 11, 2014 1:34 am
by yogev_ezra
Mario_r4 wrote:Результаты тестов не показательны, поскольку ограничены скоростью записи на USB (особенное если это SD карта, а не USB флеш), а PIO сам по себе, если CPU не занят другими задачами может достигать заметных значений для линейного чтения/записи.
В твоем же случае это явно ограничение скорости работы с USB флеш: 2,95 МB/s для DMA и 1,28 МB/s для PIO. Для уменьшения эффекта нужно копировать на дополнительный рамдиск.
Перепроверил те же файлы, но теперь копировал с /hdX на /tmp0/1.
Результат намного лучше, с огромной разницей в пользу UDMA (диск hd0 работал с PIO, а диск hd2 - с UDMA):
Копирование файла 177MB с /hd2/2 (UDMA) на /tmp0/1 заняло 10 секунд.
Копирование файла 173MB с /hd0/2 (PIO) на /tmp0/1 заняло 1 минуту 12 секунд.
Итого, скорость чтения: PIO - 2.4MB/s, UDMA - 17.7MB/s. Проверял специально несколько раз, и после каждого раза перезагружался, чтобы память обнулилась.
Mario_r4 wrote:Еще можно физически отключить ATAPI привод и копировать с жесткого на жесткий, если там есть FAT32 раздел. Еще есть подозрение, что скорость NTFS драйвера не самая оптимальная.
FAT32, к сожалению, нет и не будет - это мой рабочий компьютер, и нужно пользоваться тем, что дают на работе (во всяком случае, не будет в рабочее время - разве что принести из дому свой собственный диск с FAT32 и вставить в корпус, пока никто не видит). :-)

Re: SATA в режиме IDE - полная поддержка

Posted: Fri Apr 11, 2014 8:24 am
by Mario_r4
yogev_ezra wrote:Результат намного лучше, с огромной разницей в пользу UDMA (диск hd0 работал с PIO, а диск hd2 - с UDMA):
Копирование файла 177MB с /hd2/2 (UDMA) на /tmp0/1 заняло 10 секунд.
Копирование файла 173MB с /hd0/2 (PIO) на /tmp0/1 заняло 1 минуту 12 секунд.
Итого, скорость чтения: PIO - 2.4MB/s, UDMA - 17.7MB/s. Проверял специально несколько раз, и после каждого раза перезагружался, чтобы память обнулилась.
1) Это не скорость чтения - это скорость копирования. Скорость чтения несколько выше. Запись даже на рамдиск в FAT32 все же занимает некоторое время.
2) Перезагружаться было не обязательно - можно считать или скопировать другой файл, размером более 1 Мб, поскольку в Колибри пока больше 1 Мб на устройство не выделяется в связи с особенностями реализации кэша.
3) Если копировал с помощью KFAR, то у него есть ограничение на размер копируемого блока - ЕМНИП он копирует по 32 Кб за одно обращение. Так что рекомендую проверить копирование с помощью KFM - он использует намного большие размеры блоков для копирования, тем самым достигается заметно более высокая скорость. Хотя это в теории считается менее безопасным, если у компьютера нет резервного источника питания (UPS).

Re: SATA в режиме IDE - полная поддержка

Posted: Fri Apr 11, 2014 6:41 pm
by yogev_ezra
SVN #4822
Процессор: Intel Atom D510
Материнская плата: Intel D510MO. На плате есть 1 SATA controller, встроенный в южный мост NM10, поддерживающий до 2 SATA устройств в режиме IDE/AHCI.
Был подключен 1 SSD диск 240GB SPK-SF12-M240 (отформатированный в NTFS).

В режиме SATA IDE Колибри видит диск, выставляет UDMA-режим, и на чтение вроде всё работает нормально.
Копирование файла 207MB с /hd2/1 на /tmp0/1 через KFAR заняло 36 секунд; через KFM - 10 секунд.
Копирование файла 471MB с /hd2/1 на /tmp0/1 через KFAR заняло 2 минуты 36 секунд; через KFM - 22 секунды.
Итого, скорость копирования через KFAR: 3 ~ 5.75 MB/s, через KFM: 20.7 ~ 21.4 MB/s.
Логи PCIDEV + BOARD прилагаю.
Mario_r4 wrote:3) Если копировал с помощью KFAR, то у него есть ограничение на размер копируемого блока - ЕМНИП он копирует по 32 Кб за одно обращение. Так что рекомендую проверить копирование с помощью KFM - он использует намного большие размеры блоков для копирования, тем самым достигается заметно более высокая скорость. Хотя это в теории считается менее безопасным, если у компьютера нет резервного источника питания (UPS).
Ты прав, в предыдущем тесте копирование было произведено через KFAR. В этом тесте я исправил недочёт, и сравнил KFAR / KFM.

Posted: Mon Apr 14, 2014 5:47 pm
by gtament
SVN #4797
Dell Vostro 1540
Процессор: Intel Core i3 M380
На мат. плате контроллер дисков Intel P55/PM55 (так пишет программа бенчамарков, внутрь не глядел, скорее всего часть южного моста)
НЖМД WD5000BPVT-75HXZT3 в режиме ATA не видит.
Всего в БИОСе два SATA Mode: ATA/AHCI. Чесслово!

Re:

Posted: Mon Apr 14, 2014 9:27 pm
by Mario_r4
gtament wrote:SVN #4797
Dell Vostro 1540
Процессор: Intel Core i3 M380
На мат. плате контроллер дисков Intel P55/PM55 (так пишет программа бенчамарков, внутрь не глядел, скорее всего часть южного моста)
НЖМД WD5000BPVT-75HXZT3 в режиме ATA не видит. 9
Всего в БИОСе два SATA Mode: ATA/AHCI. Чесслово!
Просьба проверить ftp://ftp.kolibrios.org/users/Mario/tem ... evicesi.7z в режиме ATA. (Вообще можно проверить только в ATA режим любое железо, так как AHCI мне в этой теме не нужен). Лог от BOARD нужно выложить сюда, лог от PCIDEV не нужен, т.к. там ничего не меняется.

Re: SATA в режиме IDE - полная поддержка

Posted: Mon Apr 14, 2014 9:35 pm
by gtament
Done!

Re: SATA в режиме IDE - полная поддержка

Posted: Mon Apr 14, 2014 9:51 pm
by Mario_r4
gtament wrote:Done!
Я увеличил время задержки при посылке команды, так что есть вероятность, что на черный экран будет висеть несколько дольше чем обычно.
ftp://ftp.kolibrios.org/users/Mario/tem ... evices1.7z

Re: SATA в режиме IDE - полная поддержка

Posted: Mon Apr 14, 2014 10:07 pm
by gtament
Tested. Not helped

Re: SATA в режиме IDE - полная поддержка

Posted: Tue Apr 15, 2014 1:05 pm
by Mario_r4
SVN r.4838 - Fix for IDE controller. Some weird controllers generate an interrupt even if IDE interrupts are disabled and no IDE devices. For example, notebook ASUS K72F - IDE controller 010185 generates false interrupt when we work with the IDE controller 01018f. For this reason, the interrupt handler does not need to be installed if both channel IDE controller running in PIO mode.

Некоторые странные контролеры генерируют прерывания даже если прерывания IDE отключены и нет устройств. Например в ноутбуке ASUS K72F контроллер IDE 010185 генерирует ложные прерывания, когда мы работаем с IDE контролером 01018f. По этой причине обработчик прерывания не нужно устанавливать, если оба канала IDE контроллера работают в PIO режиме.

gtament
Ревизия 4838 твоей проблемы не затрагивает, так что можно не проверять. Я жду от тебя полный lspci

Re: SATA в режиме IDE - полная поддержка

Posted: Tue Apr 15, 2014 4:00 pm
by Mario_r4
SVN r.4839 дополнение к ревизии 4838.

Re: SATA в режиме IDE - полная поддержка

Posted: Tue Apr 15, 2014 8:43 pm
by gtament
Dell Vostro 1540
*Лог уже поправил на ATA

Re: SATA в режиме IDE - полная поддержка

Posted: Tue Apr 15, 2014 8:46 pm
by CleverMouse
Dell Vostro 3300. В IDE-режиме не видно ни жёсткого диска, ни CD. В Linux в том же режиме и то, и другое видно. Лог от lspci -vvv:

Re: SATA в режиме IDE - полная поддержка

Posted: Tue Apr 15, 2014 9:42 pm
by CleverMouse
С r4841 у меня работает.