Вход:  Пароль:  
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |

Текущее состояние поддержки SATA в Linux


По актуальности:
http://ata.wiki.kernel.org/index.php/Hardware%2C_driver_status
http://linux-ata.org/driver-status.html#matrix
http://linux.yyz.us/sata/sata-status.html
http://linux.yyz.us/sata/software-status.html

NForce и NCQ

> ata1.00: ATA-8: Hitachi HDP725050GLA360, GM4OA52A, max UDMA/133
> ata1.00: 976771055 sectors, multi 16: LBA48 NCQ (depth 0/32)
>                                                  ^^^^^^^^
> Гм.  Везде пишут, что этот диск NCQ может.

depth 0/N означает, что диск умеет NCQ (в противном случае эта часть  
строки вообще бы не появилась), а вот контроллер (или драйвер) не умеет.

С NCQ на nvidia всё как-то очень мутно, не в последнюю очередь из-за
совершенно непонятной системы обозначений чипсетов (в драйверах только
обозначения типа MCP55, MCP65, таблица с соответствием номеров 4xx/5xx
этим MCP мне не попадалась).

По драйверу sata_nv ситуация следующая:

 – В совсем старых чипсетах (NFORCE2, NFORCE3) поддержка
   NCQ не реализована аппаратно.

 – В CK804 и MCP04 реализована поддержка NCQ в режиме ADMA, однако
    с работой этого режима остались проблемы, в результате поддержка
   ADMA, добавленная в 2.6.20, была выключена в 2.6.26 (при желании
   её можно включить параметром adma_enabled=1).

 – В MCP51 и MCP55 для поддержки NCQ используется режим SWNCQ
   (в котором, судя по коду драйвера, действительно выполняется
   программное переключение между передачей данных для разных команд
   в очереди, в отличие от AHCI, где контроллер занимается этим
   самостоятельно и выставляет запрос прерывания только после полного
   завершения обработки команды).  Поддержка этого режима была
   добавлена в 2.6.24 (в выключенном по умолчанию состоянии),
   и включается автоматически в 2.6.26 (в случае проблем можно отключить
   параметром swncq_enabled=0).

 – В MCP61 поддержка NCQ не работает (первый патч для SWNCQ включал
   поддержку и для этого чипа, но потом её отключили, ссылаясь
   на некую аппаратную ошибку).

Более новые версии чипов поддерживаются драйвером ahci – в списке
поддерживаемых контроллеров MCP65, MCP67, MCP73, MCP77, MCP79, MCP7B.
При этом в 2.6.26 добавили обход ошибки в контроллерах MCP65 –
эти контроллеры поддерживают NCQ, но не устанавливают соответствующий
бит в HOST_CAP, в результате с предыдущими версиями драйвера NCQ на таких
контроллерах не работает.  Кроме того, у некоторых аппаратных версий
MCP65 (PCI rev 0xa1 и 0xa2) заявляется, но неработоспособен режим MSI;
обход этой ошибки тоже добавили в 2.6.26, в предыдущих версиях
с такими контроллерами, вероятно, придётся использовать опцию pci=nomsi.

Sergey Vlasov в sisyphus@


Ссылок на эту страницу нет


 
Файлов нет. [Показать файлы/форму]
Один комментарий. [Показать комментарии/форму]