diff mbox series

[RFC,v2,1/9] qapi/block-core: add option for io_uring

Message ID 20190524140337.13415-2-mehta.aaru20@gmail.com (mailing list archive)
State New, archived
Headers show
Series Add support for io_uring | expand

Commit Message

Aarushi Mehta May 24, 2019, 2:03 p.m. UTC
Signed-off-by: Aarushi Mehta <mehta.aaru20@gmail.com>
---
 qapi/block-core.json | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

--
2.17.1

Comments

Stefan Hajnoczi May 24, 2019, 3:12 p.m. UTC | #1
On Fri, May 24, 2019 at 07:33:29PM +0530, Aarushi Mehta wrote:
> Signed-off-by: Aarushi Mehta <mehta.aaru20@gmail.com>
> ---
>  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..0e927b247d 100644
> --- a/qapi/block-core.json
> +++ b/qapi/block-core.json
> @@ -2776,11 +2776,13 @@
>  #
>  # @threads:     Use qemu's thread pool
>  # @native:      Use native AIO backend (only Linux and Windows)
> +# @io_uring:    Use linux io_uring (only Linux)
>  #
> -# Since: 2.9
> +# Since: 4.1

Please leave "Since: 2.9" unchanged and mark only @io_uring "Since:
4.1".  This way users can see that this specific option was added in
4.1 and the rest has been available since 2.9.

>  ##
>  { 'enum': 'BlockdevAioOptions',
> -  'data': [ 'threads', 'native' ] }
> +  'data': [ 'threads', 'native',
> +            { 'name': 'io_uring', 'if': 'defined(CONFIG_LINUX)' } ] }

What about CONFIG_LINUX_IO_URING?  That way the feature wouldn't be
advertized on Linux systems that don't offer io_uring.

Note that in order to do this you'll need to move the ./configure
patches before this patch (or squash them into this patch).
Markus Armbruster May 24, 2019, 4:17 p.m. UTC | #2
Stefan Hajnoczi <stefanha@redhat.com> writes:

> On Fri, May 24, 2019 at 07:33:29PM +0530, Aarushi Mehta wrote:
>> Signed-off-by: Aarushi Mehta <mehta.aaru20@gmail.com>
>> ---
>>  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..0e927b247d 100644
>> --- a/qapi/block-core.json
>> +++ b/qapi/block-core.json
>> @@ -2776,11 +2776,13 @@
>>  #
>>  # @threads:     Use qemu's thread pool
>>  # @native:      Use native AIO backend (only Linux and Windows)
>> +# @io_uring:    Use linux io_uring (only Linux)
>>  #
>> -# Since: 2.9
>> +# Since: 4.1
>
> Please leave "Since: 2.9" unchanged and mark only @io_uring "Since:
> 4.1".  This way users can see that this specific option was added in
> 4.1 and the rest has been available since 2.9.
>
>>  ##
>>  { 'enum': 'BlockdevAioOptions',
>> -  'data': [ 'threads', 'native' ] }
>> +  'data': [ 'threads', 'native',
>> +            { 'name': 'io_uring', 'if': 'defined(CONFIG_LINUX)' } ] }
>
> What about CONFIG_LINUX_IO_URING?  That way the feature wouldn't be
> advertized on Linux systems that don't offer io_uring.

Yes, please.

Also, drop (only Linux) from the doc comment.  As is, qemu-qmp-ref.txt
looks like this:

     'io_uring'
          Use linux io_uring (only Linux)
          If: 'defined(CONFIG_LINUX)'

> Note that in order to do this you'll need to move the ./configure
> patches before this patch (or squash them into this patch).
diff mbox series

Patch

diff --git a/qapi/block-core.json b/qapi/block-core.json
index 7ccbfff9d0..0e927b247d 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -2776,11 +2776,13 @@ 
 #
 # @threads:     Use qemu's thread pool
 # @native:      Use native AIO backend (only Linux and Windows)
+# @io_uring:    Use linux io_uring (only Linux)
 #
-# Since: 2.9
+# Since: 4.1
 ##
 { 'enum': 'BlockdevAioOptions',
-  'data': [ 'threads', 'native' ] }
+  'data': [ 'threads', 'native',
+            { 'name': 'io_uring', 'if': 'defined(CONFIG_LINUX)' } ] }

 ##
 # @BlockdevCacheOptions: