2011-11-01から1ヶ月間の記事一覧

bridge + tapとmacvtapの比較

macvtapはbridge + tapより軽くて速いんだと説明されている事があるが、本当かよと思ってちょっと比較してみた。 rx_handler実行にかかる所要時間 __netif_receive_skbで呼ばれるrx_handlerの処理(bridgeだとbr_handle_frame〜wake_up_interruptible_poll、…

bridge + tapコールフロー(macvtapとの比較用)

e1000_intr -> __napi_schedule -> ** return from intr ** -> ** invoke softirq ** -> net_rx_action -> e1000_clean -> e1000_celan_rx_irq -> e1000_receive_skb -> napi_gro_receive -> dev_gro_receive -> napi_gro_complete -> netif_receive_skb -> …

macvtapコールフロー

e1000_intr -> __napi_schedule -> ** return from intr ** -> ** invoke softirq ** -> net_rx_action -> n->poll -> e1000_clean -> e1000_celan_rx_irq -> e1000_receive_skb -> napi_gro_receive -> dev_gro_receive -> napi_gro_complete -> netif_rece…

macvlanコールフロー

e1000_intr -> __napi_schedule -> ** return from intr ** -> ** invoke softirq ** -> net_rx_action -> n->poll -> e1000_clean -> e1000_celan_rx_irq -> e1000_receive_skb -> napi_gro_receive -> dev_gro_receive -> napi_gro_complete -> netif_rece…

macvlanを使ってみる

$ ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:1d:7d:06:fd:97 inet addr:163.215.189.111 Bcast:163.215.189.127 Mask:255.255.255.192 inet6 addr: fe80::21d:7dff:fe06:fd97/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX p…

raid456とasync_*

気づいたらなんかこんなドライバがロードされてた。 $ lsmod|grep raid456 raid456 62545 0 async_pq 13187 1 raid456 async_xor 12879 2 raid456,async_pq async_memcpy 12529 1 raid456 async_raid6_recov 12776 1 raid456 async_tx 13349 5 raid456,async…

macvtapを指しているデバイス名

$ ls -d /sys/devices/virtual/net/macvtap0/tap* /sys/devices/virtual/net/macvtap0/tap8 $ ls /dev/tap* /dev/tap8

libvirtで色々な仮想NICの設定を使い分ける

virtio-netとvhost-net 参考:CentOS 6 - KVM - Enable vhost-net : Server World modprobe vhost_net VM起動時までにvhost_netがロードされているとvhost-netで、ロードされていないとvirtio-netで起動する模様。 ps ax|grep vhost とかやると、vhost-netが…

SystemTapのお勉強・その2 〜Embedded C編〜

前回の記事ではEmbedded Cについて書かなかったので、そのあたりの補足記事として第二弾。デバッグプリントを行うscriptで、変数の値を表示するだけじゃなくてマクロや関数の実行結果が知りたい、なんて事もあったりする。 その場合でも、SystemTapは元コー…

RPSの挙動、キュー周りをもう一度確認

NICのドライバはパケットを受信してnetif_receive_skbかnapi_gro_receiveを呼ぶ。napi_gro_receiveの場合はGRO処理をパケットに施した後に結合済みパケットをnetif_receive_skbを呼ぶ。netif_receive_skbでenqueue_to_backlogをコール。 ret = enqueue_to_ba…

IIJ GIO 松江データセンターパーク見学ツアーに行ってきた(5) 記事リンク集

一応まとめておきますよーっと。 syuuの書いた記事一覧 IIJ GIO 松江データセンターパーク見学ツアーに行ってきた(1) 前回のおさらい - かーねる・う゛いえむにっき IIJ GIO 松江データセンターパーク見学ツアーに行ってきた(2) DC見学編 - かーねる・…

e1000 emulation Interrupt handling on Linux KVM

qemu cpu_exec -> cpu_init -> cpu_x86_init -> qemu_init_vcpu -> qemu_kvm_start_vcpu -> qemu_thread_create(qemu_kvm_cpu_thread_fn) -> kvm_cpu_exec -> kvm_vcpu_ioctl(KVM_RUN) -> ** block ** linux kernel kvm_vcpu_ioctl -> kvm_arch_vcpu_ioctl_r…

KVMのゲスト実行中に物理割り込みはかかるのか

もしゲスト実行中に割り込みがかからないとクロック割り込みもかからない事になるので、ゲストカーネルがいつまでも制御を離したがらず、VMEXITが起きるような命令を実行したりしない場合に二度とゲストから帰ってこなくなる、もしくはqemuのcpuスレッドだけ…

IIJ GIO 松江データセンターパーク見学ツアーに行ってきた(4) 松江・出雲観光編

10月28日午前8時 JAL便で出雲空港へ向かう 上空の景色があまりにも綺麗で、夢中で外を見ていたら寝れなかった。。。 5時起きで死ぬほど眠かったのに。。。 10月28日午前9時 出雲空港到着 ん?出雲縁結び空港?なんぞ? 聞いてみたら、正式な愛称だとのこと…

IIJ GIO 松江データセンターパーク見学ツアーに行ってきた(3) GIO編

IIJ GIOの歴史 90年代後半よりIIJではデータセンターサービスを提供していた 次第にJavaやASPとDBの組み合わせが実用化し、動的なWebサイトが増加してきた動的サイトでオンライン決済が出来るようになり、ECサイトが激増したこのECサイトは、どこも殆ど同じ…

IIJ GIO 松江データセンターパーク見学ツアーに行ってきた(2) DC見学編

前回のおさらいで「2011年中に建設されIIJ GIO用インフラとしてサービスインされる」とされていたデータセンターが完成したので、再び見学する機会を頂いた。 データセンターパークの全体像 イメージ図 IIJ社のWebサイトより転載手前と奥に見えるトラックの…

IIJ GIO 松江データセンターパーク見学ツアーに行ってきた(1) 前回のおさらい

外気冷却コンテナDCに関する技術的・法律的な解説は、今回の松江データセンターパーク見学の前編となる2010年8月の外気冷却型コンテナDC実証実験場見学の時に詳しくお聞きした為、まずはこの話を振り返ってみる。 この記事を飛ばして本編を読みたい方はこち…

なんぞな

[ 3.139275] ====================================================== [ 3.140019] [ INFO: possible circular locking dependency detected ] [ 3.140019] 3.2.0-rc1+ #1 [ 3.140019] ------------------------------------------------------- [ 3.140019…

SystemTapのお勉強

今まで全く使い方知らなかったけど便利そうなので勉強してみた。 やっぱりDTraceと似た感じに思えるけど、DTrace on FreeBSDより出来ることが多いみたい。DTrace on Solarisは知らん。 コールグラフ Call graph tracing これコピってくれば取り敢えずでる。…

virsh consoleでVMのコンソールひらいたら

virsh consoleでUbuntuのVMのコンソールひらいて、ログインしてシェルにコマンド打とうと思ったら、いきなりこんなの出てきてビビるなど。 Unhandled exception in thread started by <bound method MetaReleaseCore.download of <UpdateManager.Core.MetaRelease.MetaReleaseCore object at 0x7f58ff88fb50>> Traceback (most recent call last): File "/usr/lib/python2.7/dist-p…</bound>

VT-dでpassthroughしたデバイスの実機上での割り込みスレッドがpsで見えてる

syuu@ubuntu:~$ ps ax|grep kvm|grep irq 1024 ? S< 0:00 [kvm-irqfd-clean] 6353 ? S 0:00 [irq/81-kvm:0000] 6354 ? S 0:02 [irq/82-kvm:0000] 6355 ? S 0:00 [irq/83-kvm:0000] 6359 ? S 0:01 [irq/84-kvm:0000] 6360 ? S 0:02 [irq/85-kvm:0000] 6361 ? …