-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
virtio-blk poll still causes VM_EXITs #42
Comments
Here is my question:Hi, I have a question regarding virtio-blk polling.
Any pointers on:
Thanks! === Will update if I get a response |
I got a response asking if the virtqueue kick is causing the vm exit, here is my respnose: ======= I believe so, however, I am not entirely sure if I checked correctly. Within the VM, I checked for the invocation of I also traced kvm events from the host via Hence, it seems completion polling works fine, however, qemu-side submission polling is not taking effect? |
I got this response: stsquad |
I got some responses from stefanha 😍 enterjazz |
Regarding stefanha's comment: as he mentioned, the backend virtio device needs to keep kick notifications disabled. To achieve this, the device needs the Luckily, it seems that DPDK implements this: IIRC correctly, SPDK uses DPDK for the data plane; I need to check on this, but maybe this is something you know @mmisono ? So, ideally:
Now we only need to check if this approach works. Looks promising though! |
Update: looks like SPDK virtio does polling! 🎉
https://spdk.io/doc/virtio.html Hence: next steps are to set up SPDK w/ polling, and check for VM_EXITs. |
Relevant for setup: https://spdk.io/doc/bdev.html#bdev_config_virtio_blk |
I guess we could use vfio-user after all? https://github.com/spdk/spdk/blob/0f57273a578706b63281d885ff4c82e665719b76/test/vfio_user/virtio/initiator_bdevperf.sh#L26 @mmisono I remember there were issues setting up vfio-user-pci ; I guess we should not go down this route , and go for vhost-blk instead although i'm pretty sure vhost-blk does not work out-of-the box either. |
|
Btw, we can quickly check if spdk vhost and vfio-user eliminate vmexit using normal VM |
so I finally got around to benchmarking virtio-blk poll correctly; while it does decrease VM_EXITs and increase performance, it still have a bunch of VM_EXITs. Here are my current results:
setup based off of https://github.com/finallyjustice/sample/blob/master/performance/virtio-blk-poll/virtio-blk-poll.txt
I will go ahead and ask in the qemu matrix channel if we can get rid of VM_EXITs using virtio-blk poll- if I am lucky, I may get a good response.
The text was updated successfully, but these errors were encountered: