Почему сплайс с сокетами не может улучшить производительность без DMA? - PullRequest
4 голосов
/ 08 декабря 2011

В Введение Википедии в сращивание , я нашел:

При использовании splice () с сокетами сетевой контроллер (NIC) должен поддержка DMA.

Если сетевой адаптер не поддерживает DMA, тогда splice () не доставит улучшение производительности. Причина в том, что каждая страница труба просто заполнится до размера кадра (1460 байтов из имеющихся 4096 байт на страницу).

Насколько я понимаю, соединение улучшает производительность, потому что:

  • меньше переключения контекста
  • минимизирует количество копий (минимум две копии DMA)

Если сетевая карта не поддерживает копирование DMA, мы используем копию процессора. Это все же лучше, чем обычные копии, которые должны идти в пространство пользователя.

Итак, я не понимаю, почему Википедия говорит, что без поддержки DMA в NIC нет улучшений производительности.

1 Ответ

0 голосов
/ 11 декабря 2011

Может быть, википедия не так?Эта статья уже помечена как легкая цитата ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...