Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Mar 2015 00:43:27 -0700
From:      Julian Hsiao <madoka@nyanisore.net>
To:        freebsd-virtualization@freebsd.org
Subject:   Re: Several bhyve quirks
Message-ID:  <mf0dau$6dj$1@ger.gmane.org>
References:  <5512D7E3.9060401@freebsd.org>

index | next in thread | previous in thread | raw e-mail

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.

Julian Hsiao




help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?mf0dau$6dj$1>