Как отправить команды записи scsi на SSD в модуле ядра

Я стараюсь писать как можно быстрее на SSD. Очень важно иметь синхронную запись, потому что нам нужно знать, защищены ли данные от сбоев питания.

Я подумал об отправке команд scsi самостоятельно, чтобы избежать большей части стека ввода-вывода блоков ядра Linux (который не нужен в нашем случае использования). Чтобы избежать накладных расходов на вход/выход ядра, это должен быть модуль ядра.

  • Знаете ли вы пример, как отправлять записи scsi на устройство?
  • Как бы вы это реализовали?
  • Или почему уровень scsi является неправильной точкой входа?

person samuirai    schedule 06.08.2012    source источник


Ответы (1)


Типичный доступ к устройству заключается в использовании стека блочного ввода-вывода. Если вы намерены избежать этого стека ввода-вывода и напрямую записывать устройство, вам необходимо написать собственный низкоуровневый драйвер для вашего SCSI HBA (к которому подключен ваш SSD) в Linux. .

Более того, я думаю, что стек Linux Kernel Block IO не сильно повлияет на ваш тест.

person Hardy Feng    schedule 16.02.2013