Another virtio drivers for FreeBSD
hasegaw at gmail.com
Mon Jan 3 15:36:42 UTC 2011
I noticed there are some threads about virtio drivers for FreeBSD and NetBSD
on this mailing list, so I would like to post my virtio drivers.
I've worked on these drivers for a few months to understand
I sent early versions to Rusty Russel, the author of virtio, since I
attended to Rusty's
virtio session at LinuxCon 2010 Tokyo and decided to work on it.
My virtio-net & virtio-blk driver is not complete just now, but it
looks working fine.
I confirmed these drivers working with FreeBSD 8.1-R on Fedora 14 KVM.
Both driver can deliver better performance than h/w emulation.
I'm sorry for very nasty code; I am newbie in both of C and
kernel-space code. ;)
Now I am suffering with performance problem with virtio-blk driver.
I've heard some people said FreeBSD's disk I/O on KVM is very poor
so I have implemented block I/O, but the paravirtual driver's performance is
still very bad - "almost same" with SCSI emulation, expecting CPU stress.
Now I am doubting FreeBSD and qemu-kvm's storage layer may not be
compatible so well. Anyone is examining about this?
I especially thank to Noriyuki Soda <soda at netbsd dot org> because he gave
me a lot of advices when I was suffering with usage of bus_dma framework and
some other issues.
For NetBSD, it looks Makoto Minoura <minoura at netbsd dot org> has already
ported virtio drivers. (I'm not sure these are already commited to
main tree or not)
Takeshi HASEGAWA <hasegaw at gmail.com>
More information about the freebsd-current