[Hardware] ncq

Aleksey E. Birukov birukov на vladinfo.ru
Ср Фев 13 20:57:01 MSK 2008


Sergey Vlasov пишет:
> On Wed, Feb 13, 2008 at 01:56:00PM +0300, Aleksey E. Birukov wrote:
>   
>> Скажите, пожалуйста, чем отличается swncq от обычного? (Не нашел)
>>     
>
> Многие действия, которые в других контроллерах с поддержкой NCQ
> выполняются аппаратно, в случае SWNCQ делаются программно в драйвере.
> Например, в случае AHCI драйверу достаточно поместить команду в элемент
> таблицы команд, соответствующий тегу, и запустить её на выполнение, после
> чего прерывание от контроллера по этой команде придёт только после полного
> её завершения.  В SWNCQ весь этот процесс разбит на отдельные действия -
> выдаётся отдельное прерывание после передачи команды в устройство, далее
> ещё одно прерывание приходит, когда устройство запросило передачу данных
> для команды, наконец, через некоторое время устройство сообщает о
> завершении обработки команды.  Естественно, по сравнению с действительно
> аппаратной реализацией загрузка процессора увеличивается.
>
>   
>> Есть ли опасность потерять данные при его использовании?
>>     
>
> Вообще некоторая вероятность проблем есть - хотя бы по той причине,
> что 2.6.24 - первый релиз, где появилась поддержка SWNCQ.
Работает:
$ dmesg|grep -i ncq
sata_nv 0000:00:0e.0: Using SWNCQ mode
ata1.00: 976773168 sectors, multi 1: LBA48 NCQ (depth 31/32)
sata_nv 0000:00:0e.1: Using SWNCQ mode
sata_nv 0000:00:0e.2: Using SWNCQ mode

$ uname -a
Linux localhost.localdomain 2.6.24-std-def-alt3 #1 SMP Tue Feb 12 
14:45:59 MSK 2008 i686 GNU/Linux



Подробная информация о списке рассылки Hardware