История изменений
Исправление
mv,
(текущая версия)
:
В скрипте вижу включение jumbo frames, а без этого передача сильно просаживается?
Достаточно прилично. Но тоже может работать. Прям сейчас не может, надо параметры создания очереди диска в инициаторе подправить. А ещё лучше, MTU path discovery прикрутить.
В чем подвох такого ускорения передачи?
Стандартно... Multiqueue, оптимизация доступа к памяти (нет горячих спинлоков, не пишутся общие области памяти, предварительное выделение, где только можно), zero-copy (кроме приёма в инициаторе). В случае с L3 (IP/UDP) ещё и не использую кернельный IP-стек.
Какая минимальная версия ядра нужна для сборки? Ни тут, ни в README инфы про версию не нашёл.
Разрабатывалось под 4.13, но давно не проверял. На 5.0 и 5.1 точно работает.
Извините, торопился: через час уезжаю в одиночку в тундру от переизбытка цивилизации лечиться, на всякий случай исходники в таком вот виде выложил. Мало ли... Документация будет.
Исходная версия
mv,
:
В скрипте вижу включение jumbo frames, а без этого передача сильно просаживается?
Достаточно прилично. Но тоже может работать. Прям сейчас не может, надо параметры создания очереди диска в инициаторе подправить. А ещё лучше, MTU path discovery прикрутить.
В чем подвох такого ускорения передачи?
Стандартно... Multiqueue, оптимизация доступа к памяти (нет горячих спинлоков, не пишутся общие области памяти, предварительное выделение, где только можно). В случае с L3 (IP/UDP) ещё и не использую кернельный IP-стек.
Какая минимальная версия ядра нужна для сборки? Ни тут, ни в README инфы про версию не нашёл.
Разрабатывалось под 4.13, но давно не проверял. На 5.0 и 5.1 точно работает.
Извините, торопился: через час уезжаю в одиночку в тундру от переизбытка цивилизации лечиться, на всякий случай исходники в таком вот виде выложил. Мало ли... Документация будет.