You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
KVM: Add io driver option to libvirt XML for io_uring support #4883
ouring is a new kernel asynchronous I/O processing mechanism proposed as a much faster alternative for conventional Linux AIO. Patches were merged in Linux 5.1 and gave a promised performance boost. We decided to integrate it into QEMU to make virtualized storage devices work more efficiently. Let's take a look at how iouring works in QEMU.
With io_uring I/O performance can improve drastically and reach near bare-metal performance.
Currently there is no Qemu version in a stable Ubuntu nor CentOS release, but we can already merge this in master so that when this is released we can use it.
looks like a minor change @wido , but will qemu/libvirt trip over the additional attribute if it is not yet supported, I.E. do we need an operator the set a switch and be intelligent about it? and can we query this per host (in case of a slow transition of a big env)?
looks like a minor change @wido , but will qemu/libvirt trip over the additional attribute if it is not yet supported, I.E. do we need an operator the set a switch and be intelligent about it? and can we query this per host (in case of a slow transition of a big env)?
It is very small indeed. @GabrielBrascher already started to work on this. Based on the Qemu and Libvirt version this is added or not.
looks good so far, but my question about application architecture is only now getting clear to myself: will the knowledge be in the orchestrations layer, or will it be purely a provisioning (agent side) matter? I.E. do we want the opreator to be able to "sell" this to the users?
thanks guys
looks good so far, but my question about application architecture is only now getting clear to myself: will the knowledge be in the orchestrations layer, or will it be purely a provisioning (agent side) matter? I.E. do we want the opreator to be able to "sell" this to the users?
thanks guys
This will be in the agent side (provisioning). It will be turned on if supported. This then makes sure the VM gets more I/O performance.
Activity
DaanHoogland commentedon Apr 2, 2021
looks like a minor change @wido , but will qemu/libvirt trip over the additional attribute if it is not yet supported, I.E. do we need an operator the set a switch and be intelligent about it? and can we query this per host (in case of a slow transition of a big env)?
wido commentedon Apr 2, 2021
It is very small indeed. @GabrielBrascher already started to work on this. Based on the Qemu and Libvirt version this is added or not.
In this case we can query this per host.
GabrielBrascher commentedon Apr 2, 2021
@DaanHoogland to give some taste of the draft here follows the first commit CLDIN@c7c3dd3
⚠️ warning: work-in-progress 🙂
As @wido mentioned, we can check the libvirt/qemu versions via the cloudstack-agent service that is running on the KVM node.
Example:
DaanHoogland commentedon Apr 6, 2021
looks good so far, but my question about application architecture is only now getting clear to myself: will the knowledge be in the orchestrations layer, or will it be purely a provisioning (agent side) matter? I.E. do we want the opreator to be able to "sell" this to the users?
thanks guys
wido commentedon Apr 6, 2021
This will be in the agent side (provisioning). It will be turned on if supported. This then makes sure the VM gets more I/O performance.
DaanHoogland commentedon Apr 6, 2021
ok, so no sellable item, just cloud wide support if available on host or not. thanks.
GabrielBrascher commentedon May 11, 2021
PR #5012 is out, for now as a draft.
To ilustrate, here follows an example of what
io_uringcan achive according to this presentation done at the KVM Forum 2020:Credits to: https://static.sched.com/hosted_files/osseu2020/c8/KVMForum_2020_io_uring_passthrough_Stefano_Garzarella.pdf
kvmk: KVM NFS disk IO driver supporting IO_URING (#5012)
yadvr commentedon Jul 15, 2021
Merged in #5012