2010-10-01から1ヶ月間の記事一覧

UNIXv6のソースコードな話

Lions' Commentary on UNIX 読書会で気になった所があるのでメモ。 型の種類と幅 PDP-11は16bitなコンピュータなのでレジスタ=アドレスは16bit=2byte。 これを前提に型の幅を考えると、 char 1byte int 2byte char* 2byte となるようだ。 short、void、void…

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)…

じゃあ、Linuxのネットワークスタックはどうなのん?

この記事の続きになる訳だが、いくらSolaris最強って言っても、大手メーカーがこぞってつつき回して性能改善したり機能追加したりしてるはずのLinuxで何も対策が打たれてない訳が無いよね。じゃあどうなってるんだろう、って話。例によって、Linuxとか全ッ然…

SolarisのネットワークスタックってSMPに強いのん?

「SolarisのネットワークスタックはSMPに強い」という噂を聞いていたので、取り敢えずどんな感じなのか資料を斜め読みしてみた。 Solarisとか全ッ然知らないので、間違ってたらツッコミ下さい。資料: Oracle and Sun Microsystems | Strategic Acquisitions…