LINUX.ORG.RU

История изменений

Исправление 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 точно работает.

Извините, торопился: через час уезжаю в одиночку в тундру от переизбытка цивилизации лечиться, на всякий случай исходники в таком вот виде выложил. Мало ли... Документация будет.