Several bhyve quirks
madoka at nyanisore.net
Thu Mar 26 07:43:59 UTC 2015
On 2015-03-25 15:44:35 +0000, Peter Grehan said:
> In 10.1, virtio-blk i/o is done sychronously in the context of the
> guest vCPU exit. If it's a single vCPU guest, or the virtio-net
> interrupt happens to be delivered to that vCPU, performance will suffer.
> A workaround is to use ahci-hd for the disk emulation and not
> virtio-blk. The AHCI emulation does i/o in a dedicated thread and
> doesn't block the vCPU thread.
Thank you for your explanation and tips, Peter. I just tried changing
virtio-blk -> ahci-hd and preliminary results are good. And now you've
mentioned it, I do recall seeing slightly less performance degradation
on guests with 2 vCPUs vs. ones with just one.
I've always assumed virtio driver > emulated driver so it didn't occur
to me to try ahci-hd.
> The only workaround for 10.1 would be to use ahci-hd instead of
> virtio-blk. The correct sector size will be reported there.
I haven't had a chance to test this; next time I spin up a guest from
scratch I'll try it out.
> Try using the -W option to bhyve. This will force the bhyve virtio
> code to advertize (non-standard) MSI interrupt capability which OpenBSD
> will then use to allocate vectors.
Unfortunately -W didn't help. This is not critical, however, and I'll
ask around in the OpenBSD mailing list.
Thanks again for your help.
More information about the freebsd-virtualization