>[оверквотинг удален]
>
>NAPI ("New API") is a modification to the device driver packet processing
>framework, which is designed to improve the performance of high-speed networking.
>NAPI works through:
>Interrupt mitigation
>High-speed networking can create thousands of interrupts per second, all of which
>tell the system something it already knew: it has lots of
>packets to process. NAPI allows drivers to run with (some) interrupts
>disabled during times of high traffic, with a corresponding decrease in
>system load. Угу, в OpenBSD это есть.
>Packet throttling
>When the system is overwhelmed and must drop packets, it's better if
>those packets are disposed of before much effort goes into processing
>them. NAPI-compliant drivers can often cause packets to be dropped in
>the network adaptor itself, before the kernel sees them at all.
Бр-р-р, что-то не понял: драйвер ведь в ядре работает - как тогда ядро не увидит пакета? Если речь о том, что оно не пойдёт по цепочке роутинг-фаервол-etc, то это в OpenBSD давным-давно есть. Если же речь о том, чтобы магическим образом запрограммировать сетевуху дропать пакеты при переполнении буфера — так их и программировать не надо. Хорошие сами дропают, плохие виснут, вот и всё. Или я чего-то не знаю? :)
>Т.е. NAPI -- это некая комбинация interrupt mitigation и polling. Во FreeBSD
>можно только вручную переключаться между этими двумя режимами.
За FreeBSD не скажу, близко не изучал.