[sisyphus] ahci, sata_nv, ncq
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Пн Окт 20 14:06:24 MSD 2008
On Mon, Oct 20, 2008 at 12:30:14AM +0300, Michael Shigorin wrote:
> On Mon, Oct 20, 2008 at 12:08:30AM +0300, Led wrote:
> > > > А что, ahci лучше, чем нативные драйвера? Я что-то пропустил?
> > > Оно может уметь NCQ, хотя сейчас домашний характер нагрузок
> > > сильно изменился tmpfs и увеличением объёма памяти...
> > У меня на 2.6.22 sata_nv с 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.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: Digital signature
Url : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20081020/c52cdc49/attachment-0002.bin>
Подробная информация о списке рассылки Sisyphus