Назад | Перейти на главную страницу

Каковы преимущества NAPI перед IRQ Coalesce?

Как известно, существует два подхода, позволяющих избежать некоторых накладных расходов на аппаратные прерывания в высоконагруженных сетях, когда имеется слишком много аппаратных прерываний, переключение на которые занимает слишком много времени. Это очень важно для выполнения и выбора подхода к программному стилю. NAPI против адаптивных прерываний

  1. NAPI (новый API) - Не использует аппаратные прерывания, и опросы Ethernet-устройство через определенный период времени. Ядро Linux по умолчанию использует режим управления прерываниями и переключается в режим опроса только тогда, когда поток входящих пакетов превышает определенный порог.

http://en.wikipedia.org/wiki/New_API Ядро может периодически проверять для прихода входящих сетевых пакетов без перерыва, что устраняет накладные расходы на обработку прерываний.

  1. Объединение прерываний - Использует аппаратные прерывания, но если происходит прерывание, то отключает прерывание и запускает голосование, на определенный период времени, по истечении которого опрос прекращается и активируется прерывание.

https://en.wikipedia.org/wiki/Interrupt_coalescing метод, при котором события, которые обычно вызывают аппаратные прерывания сдерживаются, либо до определенной суммы выполнения работы или срабатывает таймер тайм-аута.

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

Но второй подход - Объединение прерываний более рационально, потому что это:

Каковы преимущества NAPI перед IRQ Coalesce?