Hi Dave, * Dave Voutila wrote: > While working back and forth with dlg@ on his idea of adding in async > task queues to vmd devices, he started to introduce a cleaner way to > handle virtqueues. In short, we can just track the host virtual address > and read/write to that location. > > This has the benefit of cleaning up a good chunk of code, mostly in the > vioscsi device. If my count is correct, it's close to 100 lines > removed. > > Testing on a variety of systems, I see anywhere from a small (5%) to a > large (50%) gain in things like vionet performance depending on the host > hardware and the guest OS. (Linux guests push packets faster, on > average.) > > If/when this lands, it'll be easier to introduce the async taskq diff > and also clean up more of the virtio codebase. Lots of duplicate logic > in basic virtio-pci config handling, like updating queue address or > size. > > Testing is appreciated, but also looking for OKs.
I have your patch running on -current with OpenBSD -current, -stable and Linux (voidlinux) guests. Stable so far, no regressions and Linux "seems" faster. Cheers Matthias