2010年12月22日水曜日

FreeBSD用virtioドライバ ステータスアップデート (2010/12/21)

10月頃に作成したFreeBSD用virtioドライバですが、その後もボチボチと作業を続けております。

これまで開発した範囲では性能問題なども一通り解決しているので、
もうすこしコードを整理して、 -STABLE 品質として必要な機能を追加したら
ドライバをメーリングリストなどに投稿したいと思っています。

各ドライバのステータスなどについて紹介します。



■ 機能ドライバのステータス


  • virtio-net


    • vCPU = 1, 2の場合に e1000 エミュレーションよりスループットが高くなるよう改善

    • シャドウページテーブル環境下におけるパフォーマンス悪化を改善

    • メモリ管理方式の変更(malloc→bus_dmaによる連続したGuest-Physicalメモリ空間の確保)

    • OSにより確保されるmbufへの直接データ受信、バッファの再利用による高速化

    • 途中: Merged RX Buffers

    • 未: Hardware Checksum Offload

    • 未: GSO

    • 未: TSO

    • 未: Promiscous mode support, MAC Address filtering, Tagged VLAN Support

    • 未: MSI-X support

    • 未: Driver Media Status/Statics support

  • virtio-blk (新たに実装)


    • vCPU = 1, 2 の場合に SCSI Emulation よりも高性能、かつ CPU 負荷が低下するよう実装

      ※ qemu-kvm + FreeBSD は相性が悪いらしく、これだけでは性能は不十分

    • 済: VIRTIO_BLK_T オペレーション (ディスクへの単純読み書き)

    • 済: FLUSH オペレーション

    • 未: SCSI Device Passthrough

その他 Memory Balloon, Console は未着手

0 件のコメント:

コメントを投稿