* [pve-devel] [PATCH 0/2] Enable io-uring support in QEMU @ 2021-06-07 11:48 Stefan Reiter 2021-06-07 11:48 ` [pve-devel] [PATCH pve-qemu 1/2] enable io-uring support in QEMU builds Stefan Reiter 2021-06-07 11:48 ` [pve-devel] [PATCH qemu-server 2/2] enable io-uring support Stefan Reiter 0 siblings, 2 replies; 5+ messages in thread From: Stefan Reiter @ 2021-06-07 11:48 UTC (permalink / raw) To: pve-devel Ran my full test suite on it (QEMU 6.0, kernel 5.11.21) and it completed fine, including migrate, snapshot and backup. No benchmarks done yet, so any performance gains are only theoretical for now :) pve-qemu gains a new build-depends on 'liburing-dev' - this package is available in Debian bullseye, but there seems to be some dependency issues with our pve-kernel-libc-dev package. For now, testing was conducted by building liburing from source, i.e. clone 'https://github.com/axboe/liburing' and run 'make-debs.sh'. pve-qemu: Stefan Reiter (1): enable io-uring support in QEMU builds debian/control | 1 + debian/rules | 1 + 2 files changed, 2 insertions(+) qemu-server: Stefan Reiter (1): enable io-uring support PVE/QemuServer/Drive.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.30.2 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [pve-devel] [PATCH pve-qemu 1/2] enable io-uring support in QEMU builds 2021-06-07 11:48 [pve-devel] [PATCH 0/2] Enable io-uring support in QEMU Stefan Reiter @ 2021-06-07 11:48 ` Stefan Reiter 2021-06-21 7:57 ` [pve-devel] applied: " Thomas Lamprecht 2021-06-07 11:48 ` [pve-devel] [PATCH qemu-server 2/2] enable io-uring support Stefan Reiter 1 sibling, 1 reply; 5+ messages in thread From: Stefan Reiter @ 2021-06-07 11:48 UTC (permalink / raw) To: pve-devel Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> --- Oh if only all QEMU changes were this simple... debian/control | 1 + debian/rules | 1 + 2 files changed, 2 insertions(+) diff --git a/debian/control b/debian/control index 38c45ce..4da3409 100644 --- a/debian/control +++ b/debian/control @@ -27,6 +27,7 @@ Build-Depends: autotools-dev, libspice-protocol-dev (>= 0.12.14~), libspice-server-dev (>= 0.14.0~), libsystemd-dev, + liburing-dev, libusb-1.0-0-dev (>= 1.0.17-1), libusbredirparser-dev (>= 0.6-2), meson, diff --git a/debian/rules b/debian/rules index 1f623d8..0417703 100755 --- a/debian/rules +++ b/debian/rules @@ -69,6 +69,7 @@ ${BUILDDIR}/config.status: configure --enable-libiscsi \ --enable-libusb \ --enable-linux-aio \ + --enable-linux-io-uring \ --enable-numa \ --enable-rbd \ --enable-seccomp \ -- 2.30.2 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [pve-devel] applied: [PATCH pve-qemu 1/2] enable io-uring support in QEMU builds 2021-06-07 11:48 ` [pve-devel] [PATCH pve-qemu 1/2] enable io-uring support in QEMU builds Stefan Reiter @ 2021-06-21 7:57 ` Thomas Lamprecht 0 siblings, 0 replies; 5+ messages in thread From: Thomas Lamprecht @ 2021-06-21 7:57 UTC (permalink / raw) To: Proxmox VE development discussion, Stefan Reiter On 07.06.21 13:48, Stefan Reiter wrote: > Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> > --- > > Oh if only all QEMU changes were this simple... > > debian/control | 1 + > debian/rules | 1 + > 2 files changed, 2 insertions(+) > > applied, thanks! ^ permalink raw reply [flat|nested] 5+ messages in thread
* [pve-devel] [PATCH qemu-server 2/2] enable io-uring support 2021-06-07 11:48 [pve-devel] [PATCH 0/2] Enable io-uring support in QEMU Stefan Reiter 2021-06-07 11:48 ` [pve-devel] [PATCH pve-qemu 1/2] enable io-uring support in QEMU builds Stefan Reiter @ 2021-06-07 11:48 ` Stefan Reiter 2021-06-21 8:00 ` Thomas Lamprecht 1 sibling, 1 reply; 5+ messages in thread From: Stefan Reiter @ 2021-06-07 11:48 UTC (permalink / raw) To: pve-devel Note that the value in this enum directly represents the value passed to QEMU, so we need to use the underscore. Off by default, updated QEMU required, but no compatibility issues, as this is a new value that wasn't valid before, and setting it is the users choice. Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> --- We probably want this in the GUI as well, there isn't even an option for 'aio' in general atm. Thought I'd send it out without just for testing and getting the conversation going. On a side note, I feel like exposing an option called "threads" when we already have "iothread" as well might get confusing. Also, if it works well, we could probably make this the default later (probably not a great idea for 7.0 though?). PVE/QemuServer/Drive.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PVE/QemuServer/Drive.pm b/PVE/QemuServer/Drive.pm index 146a4ab..82a6bfe 100644 --- a/PVE/QemuServer/Drive.pm +++ b/PVE/QemuServer/Drive.pm @@ -116,7 +116,7 @@ my %drivedesc_base = ( }, aio => { type => 'string', - enum => [qw(native threads)], + enum => [qw(native threads io_uring)], description => 'AIO type to use.', optional => 1, }, -- 2.30.2 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [pve-devel] [PATCH qemu-server 2/2] enable io-uring support 2021-06-07 11:48 ` [pve-devel] [PATCH qemu-server 2/2] enable io-uring support Stefan Reiter @ 2021-06-21 8:00 ` Thomas Lamprecht 0 siblings, 0 replies; 5+ messages in thread From: Thomas Lamprecht @ 2021-06-21 8:00 UTC (permalink / raw) To: Proxmox VE development discussion, Stefan Reiter On 07.06.21 13:48, Stefan Reiter wrote: > Note that the value in this enum directly represents the value passed to > QEMU, so we need to use the underscore. > > Off by default, updated QEMU required, but no compatibility issues, as > this is a new value that wasn't valid before, and setting it is the > users choice. > > Signed-off-by: Stefan Reiter <s.reiter@proxmox.com> > --- > > We probably want this in the GUI as well, there isn't even an option for 'aio' > in general atm. Thought I'd send it out without just for testing and getting the > conversation going. > > On a side note, I feel like exposing an option called "threads" when we already > have "iothread" as well might get confusing. > > Also, if it works well, we could probably make this the default later (probably > not a great idea for 7.0 though?). Why not, we get a beta there and it's a new major release, it's at least better there than 7.1 which should be more stable, so IMO now is one of the better times to do such a switch. So, I think that if you found nothing with your testing we should enable it as default, but naturally not baked in, changing it back should be allowed, that way users can also temporarily workaround any possible issue we did not found yet. > > PVE/QemuServer/Drive.pm | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/PVE/QemuServer/Drive.pm b/PVE/QemuServer/Drive.pm > index 146a4ab..82a6bfe 100644 > --- a/PVE/QemuServer/Drive.pm > +++ b/PVE/QemuServer/Drive.pm > @@ -116,7 +116,7 @@ my %drivedesc_base = ( > }, > aio => { > type => 'string', > - enum => [qw(native threads)], > + enum => [qw(native threads io_uring)], > description => 'AIO type to use.', > optional => 1, > }, > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-06-21 8:01 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-06-07 11:48 [pve-devel] [PATCH 0/2] Enable io-uring support in QEMU Stefan Reiter 2021-06-07 11:48 ` [pve-devel] [PATCH pve-qemu 1/2] enable io-uring support in QEMU builds Stefan Reiter 2021-06-21 7:57 ` [pve-devel] applied: " Thomas Lamprecht 2021-06-07 11:48 ` [pve-devel] [PATCH qemu-server 2/2] enable io-uring support Stefan Reiter 2021-06-21 8:00 ` Thomas Lamprecht
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox