TIPS/LinuxKernel/netif_rx

Last-modified: 2007-01-31 (水) 17:46:47

netif_rx

  • 受信キューに入れて、次のソフト割り込み時に処理してもらう

netif_rx_ni

  • netif_rxを呼ぶ際に、その先でソフト割り込みの処理を行う関数
  • トップハーフ、ボトムハーフではないところからコールする(多重割り込みになるため)
  • ソフト割り込み/ハード割り込み以外のところから呼ぶことにより、プロセスコンテキストで動作中のドライバで受信を可能にし,ソフトウェア割込み(../SoftIRQ)を回避する狙いがある(netif_rx は cpu_raise_softirq を呼ぶため).

netif_receive_skb

  • net_poll(NAPI)などで、デバイスの関数自体をソフト割り込みからコールする場合に用いる
  • netif_rxのキューにいれずに、そのまま先の関数を直接コールする
  • デバイスのBDをキューにする感じ