2010-10-17から1日間の記事一覧

Linuxのポーリング処理のコードを読んでみよう 〜netif_receive_skb編〜

Linuxのポーリング処理のコードを読んでみよう 〜ポーリング編〜 - かーねる・う゛いえむにっきの続き。e1000_clean()が呼んでいたnetif_receive_skb()の中の処理を見ていく。 2960 int netif_receive_skb(struct sk_buff *skb) 2961 { 2962 if (netdev_tsta…

Linuxのポーリング処理のコードを読んでみよう 〜ポーリング編〜

Linuxのポーリング処理のコードを読んでみよう 〜割り込み編〜 - かーねる・う゛いえむにっきの続き。まず、前回最後にスケジュールしたNET_RX_SOFTIRQってソフトウェア割り込みがどこで登録されてて、どれがハンドラかって所から見てみる。net_dev_init()っ…

Linuxのポーリング処理のコードを読んでみよう 〜割り込み編〜

Linuxのポーリング処理のコードを読んでみよう 〜初期化編〜 - かーねる・う゛いえむにっきの続き。まず、割り込みがかかるとe1000_intrが呼ばれる。 3370 static irqreturn_t e1000_intr(int irq, void *data) 3371 { 3372 struct net_device *netdev = dat…

Linuxのポーリング処理のコードを読んでみよう 〜初期化編〜

みんなの大好きなe1000のドライバから、ポーリング処理を追ってみようと思う。 カーネルのバージョンは、fxr.watson.orgに現時点で上がっている2.6.36-rc2。 但し、何故かnet/core/dev.cのページが破損してるので、その部分は配布ソースコードから。 252 mod…

FreeBSD Ethernet device pollingに関する記事まとめ

2年くらい前にFreeBSDのEthernet device pollingについての記事を書いていたので、ここに再度まとめておこう。 Ethernet device polling(1) Ethernet device polling(2) Ethernet device polling(3) Ethernet device polling(4) Ethernet device polling(5)…