Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В модели ввода-вывода драйвера порта SCSI подпрограмма StartIo драйвера минипорта HwSCSIStartIo должна передавать блоки запросов SCSI (SRBS) на оборудование как можно быстрее. Это важно, так как работа в процедуре StartIo драйвера минипорта выполняется, пока прерывания отключены и на уровне диспатчера IRQL. К сожалению, эта модель не подходит для драйверов некоторых высокопроизводительных адаптеров шины узлов (HBAs), так как мини-порты для этих HBAs должны выполнять значительную обработку при запуске ввода-вывода. Если минипорт-драйвер выполняет эту обработку в подпрограмме StartIo , она снижает производительность системы.
Модель ввода-вывода Storport поддерживает подпрограмму HwStorBuildIo в попытке удалить часть нагрузки на обработку из подпрограммы StartIo драйвера минипорта HwStorStartIo. В модели ввода-вывода Storport система вызывает HwStorBuildIo непосредственно перед вызовом подпрограммы HwStorStartIo драйвера минипорта и делает столько обработки, сколько это возможно. Эта стратегия позволяет избежать соперничества за циклы ЦП и доступа к критически важным системным структурам, таким как расширение устройства, поскольку HwStorBuildIo выполняется на более низком уровне IRQL и не содержит блокировок синхронизации.
Подпрограмма HwStorBuildIo должна перевести SRB в более удобную структуру данных, создавать списки scatter/gather и выполнять другую обработку, связанную с SRB. Так как во время выполнения подпрограммы HwStorBuildIo не сохраняются блокировки, драйвер минипорта не должен получать доступ к данным, кроме этих данных в SRB и расширении SRB. Если для части обработки требуется доступ к другим структурам, эта часть по-прежнему должна выполняться в подпрограмме HwStartIo .
Чтобы обеспечить максимальную производительность, процедура HwStorBuildIo должна использоваться в сочетании с полнодуплексным режимом.