Another virtio drivers for FreeBSD

Takeshi HASEGAWA hasegaw at
Mon Jan 3 15:36:42 UTC 2011

Hi freebsd-current,

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
para-virtalized drivers.
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>

More information about the freebsd-current mailing list