NAPI
トラフィックが増えると、Linuxのネットワークドライバを割り込みからポーリングへ切り替える仕組み。自分の割り込みで窒息するマシンを守る。
トラフィックが少ないうちは割り込みが正しい。パケットが届けばプロセッサが目を覚まし、遅延は最小になる。ところがトラフィックが多いと、同じ仕組みが致命的になる。割り込み処理は他の何よりも優先度が高いため、マシンはパケットを全速力で受信しながら、処理する時間が一切得られなくなることがある。これがレシーブライブロックである。NAPIでは、ドライバが最初の割り込みでそれ以降の割り込みを無効にし、カーネルがリングバッファからパケットをまとめて引き出す。他の仕事が通るよう、一回あたりの上限も設ける。キューが空になれば割り込みを再び有効にする。上限は net.core.netdev_budget で設定する。