Re: [Qemu-devel] [PATCH v9 07/17] blockdev: adds bdrv_parse_aio to use io_uring

2019-08-07 Thread Aarushi Mehta
On Wed, 7 Aug, 2019, 17:15 Julia Suvorova, wrote: > On Fri, Aug 2, 2019 at 1:41 AM Aarushi Mehta > wrote: > > +int bdrv_parse_aio(const char *mode, int *flags) > > +{ > > +if (!strcmp(mode, "threads")) { > > +/* do nothing, default */ &

[Qemu-devel] [PATCH v9 17/17] block/io_uring: enable kernel submission polling

2019-08-01 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- block/io_uring.c | 17 - 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/block/io_uring.c b/block/io_uring.c index 1553cd2e58..2a1d79704a 100644 --- a/block/io_uring.c +++ b/block/io_uring.c @@ -288,6 +288,17 @@ static int ioq_submit

[Qemu-devel] [PATCH v9 14/17] tests/qemu-iotests: enable testing with aio options

2019-08-01 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- tests/qemu-iotests/check | 15 ++- tests/qemu-iotests/common.rc | 14 ++ tests/qemu-iotests/iotests.py | 9 - 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/tests/qemu-iotests

[Qemu-devel] [PATCH v9 16/17] block/io_uring: adds fd registration

2019-08-01 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- block/io_uring.c | 107 - block/trace-events | 1 + 2 files changed, 107 insertions(+), 1 deletion(-) diff --git a/block/io_uring.c b/block/io_uring.c index 86f32e18a1..1553cd2e58 100644 --- a/block/io_uring.c

[Qemu-devel] [PATCH v9 13/17] qemu-nbd: adds option for aio engines

2019-08-01 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi Acked-by: Eric Blake --- qemu-nbd.c| 12 qemu-nbd.texi | 4 ++-- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/qemu-nbd.c b/qemu-nbd.c index a8cb39e510..7bb479f3c0 100644 --- a/qemu-nbd.c +++ b/qemu

[Qemu-devel] [PATCH v9 12/17] qemu-img: adds option to use aio engine for benchmarking

2019-08-01 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- qemu-img-cmds.hx | 4 ++-- qemu-img.c | 11 ++- qemu-img.texi| 5 - 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/qemu-img-cmds.hx b/qemu-img-cmds.hx index 1c93e6d185..77b5a8dda8 100644 --- a/qemu-img-cmds.hx +++ b/qemu

[Qemu-devel] [PATCH v9 11/17] qemu-io: adds option to use aio engine

2019-08-01 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- qemu-io.c | 25 + 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/qemu-io.c b/qemu-io.c index f64eca6940..0abb4af134 100644 --- a/qemu-io.c +++ b/qemu-io.c @@ -130,7 +130,8 @@ static void open_help(void) " -C, -- use

[Qemu-devel] [PATCH v9 15/17] tests/qemu-iotests: use AIOMODE with various tests

2019-08-01 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- tests/qemu-iotests/028 | 3 ++- tests/qemu-iotests/058 | 2 +- tests/qemu-iotests/089 | 4 ++-- tests/qemu-iotests/091 | 7 --- tests/qemu-iotests/109 | 3 ++- tests/qemu-iotests/147 | 5 +++-- tests/qemu-iotests/181 | 10

[Qemu-devel] [PATCH v9 09/17] block: add trace events for io_uring

2019-08-01 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- block/io_uring.c | 22 +++--- block/trace-events | 12 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/block/io_uring.c b/block/io_uring.c index 902b106954..c8e6526747 100644 --- a/block

[Qemu-devel] [PATCH v9 06/17] util/async: add aio interfaces for io_uring

2019-08-01 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- util/async.c | 36 1 file changed, 36 insertions(+) diff --git a/util/async.c b/util/async.c index 8d2105729c..2e0a5e20ac 100644 --- a/util/async.c +++ b/util/async.c @@ -276,6 +276,14

[Qemu-devel] [PATCH v9 10/17] block/io_uring: adds userspace completion polling

2019-08-01 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- block/io_uring.c | 17 - 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/block/io_uring.c b/block/io_uring.c index c8e6526747..86f32e18a1 100644 --- a/block/io_uring.c +++ b/block/io_uring.c @@ -238,6

[Qemu-devel] [PATCH v9 07/17] blockdev: adds bdrv_parse_aio to use io_uring

2019-08-01 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- block.c | 22 ++ blockdev.c| 12 include/block/block.h | 1 + 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/block.c b/block.c index cbd8da5f3b..401831e28d

[Qemu-devel] [PATCH v9 04/17] block/io_uring: implements interfaces for io_uring

2019-08-01 Thread Aarushi Mehta
Aborts when sqe fails to be set as sqes cannot be returned to the ring. Adds slow path for short reads for older kernels Signed-off-by: Aarushi Mehta Signed-off-by: Stefan Hajnoczi Reviewed-by: Stefan Hajnoczi --- MAINTAINERS | 7 + block/Makefile.objs | 3 + block

[Qemu-devel] [PATCH v9 08/17] block/file-posix.c: extend to use io_uring

2019-08-01 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi Reviewed-by: Maxim Levitsky --- block/file-posix.c | 99 -- 1 file changed, 79 insertions(+), 20 deletions(-) diff --git a/block/file-posix.c b/block/file-posix.c index 4479cc7ab4..4aa42f826f

[Qemu-devel] [PATCH v9 05/17] stubs: add stubs for io_uring interface

2019-08-01 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- MAINTAINERS | 1 + stubs/Makefile.objs | 1 + stubs/io_uring.c| 32 3 files changed, 34 insertions(+) create mode 100644 stubs/io_uring.c diff --git a/MAINTAINERS b/MAINTAINERS index

[Qemu-devel] [PATCH v9 01/17] configure: permit use of io_uring

2019-08-01 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi Reviewed-by: Maxim Levitsky --- configure | 27 +++ 1 file changed, 27 insertions(+) diff --git a/configure b/configure index 714e7fb6a1..493dbc2ec5 100755 --- a/configure +++ b/configure @@ -371,6 +371,7 @@ xen

[Qemu-devel] [PATCH v9 02/17] qapi/block-core: add option for io_uring

2019-08-01 Thread Aarushi Mehta
Only enumerates option for devices that support it. Since QAPI schema supports io_uring, which is the actual name of the Linux API, it is preferred over io-uring. Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- qapi/block-core.json | 4 +++- 1 file changed, 3 insertions(+), 1

[Qemu-devel] [PATCH v9 00/17] Add support for io_uring

2019-08-01 Thread Aarushi Mehta
tests with aio options - adds bdrv_parse_aio Aarushi Mehta (17): configure: permit use of io_uring qapi/block-core: add option for io_uring block/block: add BDRV flag for io_uring block/io_uring: implements interfaces for io_uring stubs: add stubs for io_uring interface util/async: ad

[Qemu-devel] [PATCH v9 03/17] block/block: add BDRV flag for io_uring

2019-08-01 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi Reviewed-by: Maxim Levitsky --- include/block/block.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/block/block.h b/include/block/block.h index 50a07c1c33..e29baa172c 100644 --- a/include/block/block.h +++ b/include/block

[Qemu-devel] [PATCH v8 16/16] block/io_uring: adds fd registration

2019-07-30 Thread Aarushi Mehta
The fd registration API in io_uring registers a series of fds together that cannot be modified later. Thus, a hashtable maintains an index of fds registered and their index in the internally registered array. The existing fd array is unregistered and a new one submitted. Signed-off-by: Aarushi

[Qemu-devel] [PATCH v8 15/16] tests/qemu-iotests: use AIOMODE with various tests

2019-07-30 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- tests/qemu-iotests/028 | 3 ++- tests/qemu-iotests/058 | 2 +- tests/qemu-iotests/089 | 4 ++-- tests/qemu-iotests/091 | 7 --- tests/qemu-iotests/109 | 3 ++- tests/qemu-iotests/147 | 5 +++-- tests/qemu-iotests/181 | 10

[Qemu-devel] [PATCH v8 08/16] block/file-posix.c: extend to use io_uring

2019-07-30 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi Reviewed-by: Maxim Levitsky --- block/file-posix.c | 99 -- 1 file changed, 79 insertions(+), 20 deletions(-) diff --git a/block/file-posix.c b/block/file-posix.c index 4479cc7ab4..4aa42f826f

[Qemu-devel] [PATCH v8 14/16] tests/qemu-iotests: enable testing with aio options

2019-07-30 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- tests/qemu-iotests/check | 15 ++- tests/qemu-iotests/common.rc | 14 ++ tests/qemu-iotests/iotests.py | 9 - 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/tests/qemu-iotests

[Qemu-devel] [PATCH v8 13/16] qemu-nbd: adds option for aio engines

2019-07-30 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi Acked-by: Eric Blake --- qemu-nbd.c| 12 qemu-nbd.texi | 4 ++-- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/qemu-nbd.c b/qemu-nbd.c index a8cb39e510..7bb479f3c0 100644 --- a/qemu-nbd.c +++ b/qemu

[Qemu-devel] [PATCH v8 06/16] util/async: add aio interfaces for io_uring

2019-07-30 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- util/async.c | 36 1 file changed, 36 insertions(+) diff --git a/util/async.c b/util/async.c index 8d2105729c..2e0a5e20ac 100644 --- a/util/async.c +++ b/util/async.c @@ -276,6 +276,14

[Qemu-devel] [PATCH v8 05/16] stubs: add stubs for io_uring interface

2019-07-30 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- MAINTAINERS | 1 + stubs/Makefile.objs | 1 + stubs/io_uring.c| 32 3 files changed, 34 insertions(+) create mode 100644 stubs/io_uring.c diff --git a/MAINTAINERS b/MAINTAINERS index

[Qemu-devel] [PATCH v8 11/16] qemu-io: adds option to use aio engine

2019-07-30 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- qemu-io.c | 25 + 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/qemu-io.c b/qemu-io.c index f64eca6940..0abb4af134 100644 --- a/qemu-io.c +++ b/qemu-io.c @@ -130,7 +130,8 @@ static void open_help(void) " -C, -- use

[Qemu-devel] [PATCH v8 12/16] qemu-img: adds option to use aio engine for benchmarking

2019-07-30 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- qemu-img-cmds.hx | 4 ++-- qemu-img.c | 11 ++- qemu-img.texi| 5 - 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/qemu-img-cmds.hx b/qemu-img-cmds.hx index 1c93e6d185..77b5a8dda8 100644 --- a/qemu-img-cmds.hx +++ b/qemu

[Qemu-devel] [PATCH v8 03/16] block/block: add BDRV flag for io_uring

2019-07-30 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi Reviewed-by: Maxim Levitsky --- include/block/block.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/block/block.h b/include/block/block.h index 50a07c1c33..e29baa172c 100644 --- a/include/block/block.h +++ b/include/block

[Qemu-devel] [PATCH v8 10/16] block/io_uring: adds userspace completion polling

2019-07-30 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- block/io_uring.c | 17 - 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/block/io_uring.c b/block/io_uring.c index ba739ebe06..e2bef380e7 100644 --- a/block/io_uring.c +++ b/block/io_uring.c @@ -238,6

[Qemu-devel] [PATCH v8 02/16] qapi/block-core: add option for io_uring

2019-07-30 Thread Aarushi Mehta
Only enumerates option for devices that support it. Since QAPI schema supports io_uring, which is the actual name of the Linux API, it is preferred over io-uring. Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- qapi/block-core.json | 4 +++- 1 file changed, 3 insertions(+), 1

[Qemu-devel] [PATCH v8 09/16] block: add trace events for io_uring

2019-07-30 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- block/io_uring.c | 22 +++--- block/trace-events | 12 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/block/io_uring.c b/block/io_uring.c index b1f14d2461..ba739ebe06 100644 --- a/block

[Qemu-devel] [PATCH v8 01/16] configure: permit use of io_uring

2019-07-30 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi Reviewed-by: Maxim Levitsky --- configure | 27 +++ 1 file changed, 27 insertions(+) diff --git a/configure b/configure index 714e7fb6a1..493dbc2ec5 100755 --- a/configure +++ b/configure @@ -371,6 +371,7 @@ xen

[Qemu-devel] [PATCH v8 00/16] Add support for io_uring

2019-07-30 Thread Aarushi Mehta
s v6: - add slow path for short-read - hooks up fsync - enables qemu-iotests with aio options - adds bdrv_parse_aio v5: - Adds completion polling - Extends qemu-io - Adds qemu-iotest v4: - Add error handling - Add trace events - Remove aio submission based code Aarushi Mehta (16): configure: permi

[Qemu-devel] [PATCH v8 07/16] blockdev: adds bdrv_parse_aio to use io_uring

2019-07-30 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- block.c | 22 ++ blockdev.c| 12 include/block/block.h | 1 + 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/block.c b/block.c index cbd8da5f3b..401831e28d

[Qemu-devel] [PATCH v8 04/16] block/io_uring: implements interfaces for io_uring

2019-07-30 Thread Aarushi Mehta
Aborts when sqe fails to be set as sqes cannot be returned to the ring. Adds slow path for short reads for older kernels Signed-off-by: Aarushi Mehta Signed-off-by: Stefan Hajnoczi Reviewed-by: Stefan Hajnoczi --- MAINTAINERS | 7 + block/Makefile.objs | 3 + block

[Qemu-devel] [PATCH v7 15/15] tests/qemu-iotests: use AIOMODE with various tests

2019-07-29 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- tests/qemu-iotests/028 | 3 ++- tests/qemu-iotests/058 | 2 +- tests/qemu-iotests/089 | 4 ++-- tests/qemu-iotests/091 | 7 --- tests/qemu-iotests/109 | 3 ++- tests/qemu-iotests/147 | 5 +++-- tests/qemu-iotests/181 | 10 +- tests/qemu-iotests

[Qemu-devel] [PATCH v7 12/15] qemu-img: adds option to use aio engine for benchmarking

2019-07-29 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- qemu-img.c| 10 +- qemu-img.texi | 5 - 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/qemu-img.c b/qemu-img.c index 79983772de..3fc8dac0b1 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -4192,7 +4192,8 @@ static int img_bench(int

[Qemu-devel] [PATCH v7 09/15] block: add trace events for io_uring

2019-07-29 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- block/io_uring.c | 22 +++--- block/trace-events | 12 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/block/io_uring.c b/block/io_uring.c index d33e554862..c7b2b0a9e2 100644 --- a/block

[Qemu-devel] [PATCH v7 14/15] tests/qemu-iotests: enable testing with aio options

2019-07-29 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- tests/qemu-iotests/check | 15 ++- tests/qemu-iotests/common.rc | 14 ++ tests/qemu-iotests/iotests.py | 9 - 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests

[Qemu-devel] [PATCH v7 07/15] blockdev: adds bdrv_parse_aio to use io_uring

2019-07-29 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- block.c | 22 ++ blockdev.c| 12 include/block/block.h | 1 + 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/block.c b/block.c index cbd8da5f3b..401831e28d

[Qemu-devel] [PATCH v7 11/15] qemu-io: adds option to use aio engine

2019-07-29 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- qemu-io.c | 24 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/qemu-io.c b/qemu-io.c index f64eca6940..6568f0c369 100644 --- a/qemu-io.c +++ b/qemu-io.c @@ -130,7 +130,8 @@ static void open_help(void) " -C, -- use co

[Qemu-devel] [PATCH v7 00/15] Add support for io_uring

2019-07-29 Thread Aarushi Mehta
-read - hooks up fsync - enables qemu-iotests with aio options - adds bdrv_parse_aio v5: - Adds completion polling - Extends qemu-io - Adds qemu-iotest v4: - Add error handling - Add trace events - Remove aio submission based code Aarushi Mehta (15): configure: permit use of io_uring qapi/block

[Qemu-devel] [PATCH v7 10/15] block/io_uring: adds userspace completion polling

2019-07-29 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- block/io_uring.c | 17 - 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/block/io_uring.c b/block/io_uring.c index c7b2b0a9e2..691130b948 100644 --- a/block/io_uring.c +++ b/block/io_uring.c @@ -237,6

[Qemu-devel] [PATCH v7 13/15] qemu-nbd: adds option for aio engines

2019-07-29 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- qemu-nbd.c| 12 qemu-nbd.texi | 4 ++-- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/qemu-nbd.c b/qemu-nbd.c index a8cb39e510..7bb479f3c0 100644 --- a/qemu-nbd.c +++ b/qemu-nbd.c @@ -135,7 +135,7 @@ static void usage(const

[Qemu-devel] [PATCH v7 06/15] util/async: add aio interfaces for io_uring

2019-07-29 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- util/async.c | 36 1 file changed, 36 insertions(+) diff --git a/util/async.c b/util/async.c index 8d2105729c..2e0a5e20ac 100644 --- a/util/async.c +++ b/util/async.c @@ -276,6 +276,14

[Qemu-devel] [PATCH v7 01/15] configure: permit use of io_uring

2019-07-29 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi Reviewed-by: Maxim Levitsky --- configure | 27 +++ 1 file changed, 27 insertions(+) diff --git a/configure b/configure index 714e7fb6a1..493dbc2ec5 100755 --- a/configure +++ b/configure @@ -371,6 +371,7 @@ xen

[Qemu-devel] [PATCH v7 05/15] stubs: add stubs for io_uring interface

2019-07-29 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- MAINTAINERS | 1 + stubs/Makefile.objs | 1 + stubs/io_uring.c| 32 3 files changed, 34 insertions(+) create mode 100644 stubs/io_uring.c diff --git a/MAINTAINERS b/MAINTAINERS index

[Qemu-devel] [PATCH v7 08/15] block/file-posix.c: extend to use io_uring

2019-07-29 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Maxim Levitsky Reviewed-by: Stefan Hajnoczi --- block/file-posix.c | 99 -- 1 file changed, 79 insertions(+), 20 deletions(-) diff --git a/block/file-posix.c b/block/file-posix.c index 4479cc7ab4..4aa42f826f

[Qemu-devel] [PATCH v7 02/15] qapi/block-core: add option for io_uring

2019-07-29 Thread Aarushi Mehta
Only enumerates option for devices that support it. Since QAPI schema supports io_uring, which is the actual name of the Linux API, it is preferred over io-uring. Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- qapi/block-core.json | 4 +++- 1 file changed, 3 insertions(+), 1

[Qemu-devel] [PATCH v7 04/15] block/io_uring: implements interfaces for io_uring

2019-07-29 Thread Aarushi Mehta
Aborts when sqe fails to be set as sqes cannot be returned to the ring. Adds slow path for short reads for older kernels Signed-off-by: Aarushi Mehta Signed-off-by: Stefan Hajnoczi --- MAINTAINERS | 7 + block/Makefile.objs | 3 + block/io_uring.c| 408

[Qemu-devel] [PATCH v7 03/15] block/block: add BDRV flag for io_uring

2019-07-29 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi Reviewed-by: Maxim Levitsky --- include/block/block.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/block/block.h b/include/block/block.h index 50a07c1c33..e29baa172c 100644 --- a/include/block/block.h +++ b/include/block

[Qemu-devel] [PATCH v6 13/14] qemu-nbd: adds option for aio engines

2019-07-19 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- qemu-nbd.c | 12 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/qemu-nbd.c b/qemu-nbd.c index a8cb39e510..e5a71b3501 100644 --- a/qemu-nbd.c +++ b/qemu-nbd.c @@ -135,7 +135,7 @@ static void usage(const char *name

[Qemu-devel] [PATCH v6 10/14] block/io_uring: adds userspace completion polling

2019-07-19 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- block/io_uring.c | 17 - 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/block/io_uring.c b/block/io_uring.c index e9c1dc1dc7..de2a037151 100644 --- a/block/io_uring.c +++ b/block/io_uring.c @@ -237,6 +237,21 @@ static void

[Qemu-devel] [PATCH v6 14/14] qemu-iotest: enable testing with qemu-io aio options

2019-07-19 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- tests/qemu-iotests/check | 14 +- tests/qemu-iotests/common.rc | 10 ++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check index f925606cc5..2bc5bc62e2 100755 --- a/tests/qemu

[Qemu-devel] [PATCH v6 07/14] blockdev: accept io_uring as option

2019-07-19 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- blockdev.c | 12 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/blockdev.c b/blockdev.c index 4d141e9a1f..695b3a803b 100644 --- a/blockdev.c +++ b/blockdev.c @@ -383,13 +383,9 @@ static void extract_common_blockdev_options(QemuOpts

[Qemu-devel] [PATCH v6 11/14] qemu-io: adds option to use aio engine

2019-07-19 Thread Aarushi Mehta
Use -i AIOMODE instead of -k. Signed-off-by: Aarushi Mehta --- qemu-io.c | 25 - 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/qemu-io.c b/qemu-io.c index f64eca6940..3cee06248e 100644 --- a/qemu-io.c +++ b/qemu-io.c @@ -130,7 +130,7 @@ static void

[Qemu-devel] [PATCH v6 06/14] util/async: add aio interfaces for io_uring

2019-07-19 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- util/async.c | 36 1 file changed, 36 insertions(+) diff --git a/util/async.c b/util/async.c index 8d2105729c..2e0a5e20ac 100644 --- a/util/async.c +++ b/util/async.c @@ -276,6 +276,14

[Qemu-devel] [PATCH v6 12/14] qemu-img: adds option to use aio engine

2019-07-19 Thread Aarushi Mehta
Use -i AIOMODE instead of -n. Signed-off-by: Aarushi Mehta --- qemu-img.c | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/qemu-img.c b/qemu-img.c index 79983772de..b7a962afff 100644 --- a/qemu-img.c +++ b/qemu-img.c @@ -4192,7 +4192,7 @@ static int img_bench(int

[Qemu-devel] [PATCH v6 08/14] block/file-posix.c: extend to use io_uring

2019-07-19 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Maxim Levitsky --- block/file-posix.c | 99 -- 1 file changed, 79 insertions(+), 20 deletions(-) diff --git a/block/file-posix.c b/block/file-posix.c index 4479cc7ab4..4aa42f826f 100644 --- a/block/file

[Qemu-devel] [PATCH v6 04/14] block/io_uring: implements interfaces for io_uring

2019-07-19 Thread Aarushi Mehta
Aborts when sqe fails to be set as sqes cannot be returned to the ring. Adds slow path for short reads for older kernels Signed-off-by: Aarushi Mehta Signed-off-by: Stefan Hajnoczi --- MAINTAINERS | 7 + block.c | 22 +++ block/Makefile.objs | 3 + block

[Qemu-devel] [PATCH v6 09/14] block: add trace events for io_uring

2019-07-19 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- block/io_uring.c | 22 +++--- block/trace-events | 12 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/block/io_uring.c b/block/io_uring.c index e8dbc388a6..e9c1dc1dc7 100644 --- a/block/io_uring.c +++ b/block

[Qemu-devel] [PATCH v6 05/14] stubs: add stubs for io_uring interface

2019-07-19 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- MAINTAINERS | 1 + stubs/Makefile.objs | 1 + stubs/io_uring.c| 32 3 files changed, 34 insertions(+) create mode 100644 stubs/io_uring.c diff --git a/MAINTAINERS b/MAINTAINERS index

[Qemu-devel] [PATCH v6 03/14] block/block: add BDRV flag for io_uring

2019-07-19 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi Reviewed-by: Maxim Levitsky --- include/block/block.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/block/block.h b/include/block/block.h index 734c9d2f76..40bd93cd0f 100644 --- a/include/block/block.h +++ b/include/block

[Qemu-devel] [PATCH v6 02/14] qapi/block-core: add option for io_uring

2019-07-19 Thread Aarushi Mehta
Only enumerates option for devices that support it Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- qapi/block-core.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/qapi/block-core.json b/qapi/block-core.json index 0d43d4f37c..0a3d4ae7d2 100644 --- a

[Qemu-devel] [PATCH v6 01/14] configure: permit use of io_uring

2019-07-19 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi Reviewed-by: Maxim Levitsky --- configure | 27 +++ 1 file changed, 27 insertions(+) diff --git a/configure b/configure index eb635c3b9a..b0e2e2158e 100755 --- a/configure +++ b/configure @@ -370,6 +370,7 @@ xen

[Qemu-devel] [PATCH v6 00/14] Add support for io_uring

2019-07-19 Thread Aarushi Mehta
Adds completion polling - Extends qemu-io - Adds qemu-iotest v4: - Add error handling - Add trace events - Remove aio submission based code Aarushi Mehta (14): configure: permit use of io_uring qapi/block-core: add option for io_uring block/block: add BDRV flag for io_uring block/io_uring: imple

[Qemu-devel] [PATCH v6 01/14] configure: permit use of io_uring

2019-07-19 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- configure | 27 +++ 1 file changed, 27 insertions(+) diff --git a/configure b/configure index eb635c3b9a..b0e2e2158e 100755 --- a/configure +++ b/configure @@ -370,6 +370,7 @@ xen="" xen_ctrl_version="" xen_pci_passt

[Qemu-devel] [PATCH v6 02/14] qapi/block-core: add option for io_uring

2019-07-19 Thread Aarushi Mehta
Only enumerates option for devices that support it Signed-off-by: Aarushi Mehta --- qapi/block-core.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/qapi/block-core.json b/qapi/block-core.json index 0d43d4f37c..0a3d4ae7d2 100644 --- a/qapi/block-core.json +++ b/qapi

[Qemu-devel] [PATCH v6 00/14] Add support for io_uring

2019-07-19 Thread Aarushi Mehta
Adds completion polling - Extends qemu-io - Adds qemu-iotest v4: - Add error handling - Add trace events - Remove aio submission based code Aarushi Mehta (14): configure: permit use of io_uring qapi/block-core: add option for io_uring block/block: add BDRV flag for io_uring block/io_uring: imple

[Qemu-devel] [PATCH v5 11/12] qemu-io: adds support for io_uring

2019-06-10 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- qemu-io.c | 13 + 1 file changed, 13 insertions(+) diff --git a/qemu-io.c b/qemu-io.c index 8d5d5911cb..54b82151c4 100644 --- a/qemu-io.c +++ b/qemu-io.c @@ -129,6 +129,7 @@ static void open_help(void) " -n, -- disable host cache, short for -t

[Qemu-devel] [PATCH v5 10/12] block/io_uring: adds userspace completion polling

2019-06-10 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- block/io_uring.c | 17 - 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/block/io_uring.c b/block/io_uring.c index 47e027364a..acfaa48151 100644 --- a/block/io_uring.c +++ b/block/io_uring.c @@ -142,6 +142,21 @@ static void

[Qemu-devel] [PATCH v5 12/12] qemu-iotests/087: checks for io_uring

2019-06-10 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- tests/qemu-iotests/087 | 26 ++ tests/qemu-iotests/087.out | 10 ++ 2 files changed, 36 insertions(+) diff --git a/tests/qemu-iotests/087 b/tests/qemu-iotests/087 index d6c8613419..0cc7283ad8 100755 --- a/tests/qemu-iotests

[Qemu-devel] [PATCH v5 07/12] blockdev: accept io_uring as option

2019-06-10 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- blockdev.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/blockdev.c b/blockdev.c index 3f44b891eb..a2a5b32604 100644 --- a/blockdev.c +++ b/blockdev.c @@ -386,6 +386,8 @@ static void

[Qemu-devel] [PATCH v5 08/12] block/file-posix.c: extend to use io_uring

2019-06-10 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- block/file-posix.c | 85 +- 1 file changed, 69 insertions(+), 16 deletions(-) diff --git a/block/file-posix.c b/block/file-posix.c index d018429672..211dfe5337 100644 --- a/block/file-posix.c +++ b/block/file-posix.c

[Qemu-devel] [PATCH v5 06/12] util/async: add aio interfaces for io_uring

2019-06-10 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- util/async.c | 36 1 file changed, 36 insertions(+) diff --git a/util/async.c b/util/async.c index c10642a385..2709f0edc3 100644 --- a/util/async.c +++ b/util/async.c @@ -277,6 +277,14

[Qemu-devel] [PATCH v5 09/12] block: add trace events for io_uring

2019-06-10 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- block/io_uring.c | 14 -- block/trace-events | 8 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/block/io_uring.c b/block/io_uring.c index f327c7ef96..47e027364a 100644 --- a/block/io_uring.c +++ b/block/io_uring.c

[Qemu-devel] [PATCH v5 03/12] block/block: add BDRV flag for io_uring

2019-06-10 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi Reviewed-by: Maxim Levitsky --- include/block/block.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/block/block.h b/include/block/block.h index f9415ed740..5e08df716f 100644 --- a/include/block/block.h +++ b/include/block

[Qemu-devel] [PATCH v5 05/12] stubs: add stubs for io_uring interface

2019-06-10 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- MAINTAINERS | 1 + stubs/Makefile.objs | 1 + stubs/io_uring.c| 32 3 files changed, 34 insertions(+) create mode 100644 stubs/io_uring.c diff --git a/MAINTAINERS b/MAINTAINERS index

[Qemu-devel] [PATCH v5 04/12] block/io_uring: implements interfaces for io_uring

2019-06-10 Thread Aarushi Mehta
Aborts when sqe fails to be set as sqes cannot be returned to the ring. Signed-off-by: Aarushi Mehta --- MAINTAINERS | 7 + block/Makefile.objs | 3 + block/io_uring.c| 314 include/block/aio.h | 16 +- include/block/raw

[Qemu-devel] [PATCH v5 01/12] configure: permit use of io_uring

2019-06-10 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi Reviewed-by: Maxim Levitsky --- configure | 27 +++ 1 file changed, 27 insertions(+) diff --git a/configure b/configure index b091b82cb3..7aa18d308d 100755 --- a/configure +++ b/configure @@ -365,6 +365,7 @@ xen

[Qemu-devel] [PATCH v5 02/12] qapi/block-core: add option for io_uring

2019-06-10 Thread Aarushi Mehta
Option only enumerates for hosts that support it. Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- qapi/block-core.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/qapi/block-core.json b/qapi/block-core.json index 1defcde048..db7eedd058 100644 --- a/qapi

[Qemu-devel] [PATCH v5 00/12] Add support for io_uring

2019-06-10 Thread Aarushi Mehta
rrors in io_uring (sorry) - Option now enumerates for CONFIG_LINUX_IO_URING - pkg config support added Aarushi Mehta (12): configure: permit use of io_uring qapi/block-core: add option for io_uring Only enumerates option for devices that support it block/block: add BDRV flag for io_

[Qemu-devel] [PATCH v4 1/9] configure: permit use of io_uring

2019-06-03 Thread Aarushi Mehta
Reviewed-by: Stefan Hajnoczi Signed-off-by: Aarushi Mehta --- configure | 27 +++ 1 file changed, 27 insertions(+) diff --git a/configure b/configure index 6cdcfb2dc3..cb49ef0fcc 100755 --- a/configure +++ b/configure @@ -365,6 +365,7 @@ xen="" xen_ct

[Qemu-devel] [PATCH v4 2/9] qapi/block-core: add option for io_uring

2019-06-03 Thread Aarushi Mehta
Option only enumerates for hosts that support it. Signed-off-by: Aarushi Mehta --- qapi/block-core.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/qapi/block-core.json b/qapi/block-core.json index 1defcde048..db7eedd058 100644 --- a/qapi/block-core.json +++ b/qapi

[Qemu-devel] [PATCH v4 8/9] block/file-posix.c: extend to use io_uring

2019-06-03 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- block/file-posix.c | 85 +- 1 file changed, 69 insertions(+), 16 deletions(-) diff --git a/block/file-posix.c b/block/file-posix.c index d018429672..211dfe5337 100644 --- a/block/file-posix.c +++ b/block/file-posix.c

[Qemu-devel] [PATCH v4 0/9] Add support for io_uring

2019-06-03 Thread Aarushi Mehta
s for CONFIG_LINUX_IO_URING - pkg config support added Aarushi Mehta (9): configure: permit use of io_uring qapi/block-core: add option for io_uring block/block: add BDRV flag for io_uring block/io_uring: implements interfaces for io_uring stubs: add stubs for io_uring interface util/async: add aio inter

[Qemu-devel] [PATCH v4 4/9] block/io_uring: implements interfaces for io_uring

2019-06-03 Thread Aarushi Mehta
Aborts when sqes cannot be set as sqes cannot be returned to ring. Signed-off-by: Aarushi Mehta --- MAINTAINERS | 7 + block/Makefile.objs | 3 + block/io_uring.c| 315 include/block/aio.h | 16 +- include/block/raw-aio.h

[Qemu-devel] [PATCH v4 3/9] block/block: add BDRV flag for io_uring

2019-06-03 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- include/block/block.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/block/block.h b/include/block/block.h index 9b083e2bca..60f7c6c01c 100644 --- a/include/block/block.h +++ b/include/block/block.h @@ -121,6 +121,7

[Qemu-devel] [PATCH v4 9/9] block: add trace events for io_uring

2019-06-03 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- block/io_uring.c | 14 -- block/trace-events | 8 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/block/io_uring.c b/block/io_uring.c index 536a9fbe87..e92e45ccca 100644 --- a/block/io_uring.c +++ b/block/io_uring.c

[Qemu-devel] [PATCH v4 6/9] util/async: add aio interfaces for io_uring

2019-06-03 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- util/async.c | 36 1 file changed, 36 insertions(+) diff --git a/util/async.c b/util/async.c index c10642a385..2709f0edc3 100644 --- a/util/async.c +++ b/util/async.c @@ -277,6 +277,14

[Qemu-devel] [PATCH v4 7/9] blockdev: accept io_uring as option

2019-06-03 Thread Aarushi Mehta
Reviewed-by: Stefan Hajnoczi Signed-off-by: Aarushi Mehta --- blockdev.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/blockdev.c b/blockdev.c index 17c2d801d7..58a9e69268 100644 --- a/blockdev.c +++ b/blockdev.c @@ -386,6 +386,8 @@ static void

[Qemu-devel] [PATCH v4 5/9] stubs: add stubs for io_uring interface

2019-06-03 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- MAINTAINERS | 1 + stubs/Makefile.objs | 1 + stubs/io_uring.c| 32 3 files changed, 34 insertions(+) create mode 100644 stubs/io_uring.c diff --git a/MAINTAINERS b/MAINTAINERS index

[Qemu-devel] [PATCH v3 8/8] block/fileposix: extend to use io_uring

2019-05-27 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- block/file-posix.c | 65 ++ 1 file changed, 60 insertions(+), 5 deletions(-) diff --git a/block/file-posix.c b/block/file-posix.c index d018429672..50899064df 100644 --- a/block/file-posix.c +++ b/block/file-posix.c

[Qemu-devel] [PATCH v3 6/8] util/async: add aio interfaces for io_uring

2019-05-27 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- util/async.c | 36 1 file changed, 36 insertions(+) diff --git a/util/async.c b/util/async.c index c10642a385..2709f0edc3 100644 --- a/util/async.c +++ b/util/async.c @@ -277,6 +277,14

[Qemu-devel] [PATCH v3 5/8] stubs: add stubs for io_uring interface

2019-05-27 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- MAINTAINERS | 1 + stubs/Makefile.objs | 1 + stubs/io_uring.c| 32 3 files changed, 34 insertions(+) create mode 100644 stubs/io_uring.c diff --git a/MAINTAINERS b/MAINTAINERS index 462c00a021..6c6672bda3 100644

[Qemu-devel] [PATCH v3 7/8] blockdev: accept io_uring as option

2019-05-27 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta Reviewed-by: Stefan Hajnoczi --- blockdev.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/blockdev.c b/blockdev.c index 79fbac8450..b44b9d660d 100644 --- a/blockdev.c +++ b/blockdev.c @@ -386,6 +386,8 @@ static void

[Qemu-devel] [PATCH v3 4/8] block/io_uring: implements interfaces for io_uring

2019-05-27 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- We need nested loops in ioq_submit because overflowed requests may be permitted to submit if existing ones are cleared. Hence, failure to fulfill an overflow request must break separately from normal submission. For now, to prevent any infinite loops, if the

[Qemu-devel] [PATCH v3 2/8] qapi/block-core: add option for io_uring

2019-05-27 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- qapi/block-core.json | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/qapi/block-core.json b/qapi/block-core.json index 7ccbfff9d0..2773803890 100644 --- a/qapi/block-core.json +++ b/qapi/block-core.json @@ -2776,11 +2776,13

[Qemu-devel] [PATCH v3 3/8] block/block: add BDRV flag for io_uring

2019-05-27 Thread Aarushi Mehta
Signed-off-by: Aarushi Mehta --- include/block/block.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/block/block.h b/include/block/block.h index 9b083e2bca..60f7c6c01c 100644 --- a/include/block/block.h +++ b/include/block/block.h @@ -121,6 +121,7 @@ typedef struct HDGeometry

  1   2   >