diff mbox series

[1/1] package/mpd: add option for async file access using io_uring

Message ID 20220216154910.8627-1-br015@umbiko.net
State Superseded
Headers show
Series [1/1] package/mpd: add option for async file access using io_uring | expand

Commit Message

Andreas Ziegler Feb. 16, 2022, 3:49 p.m. UTC
In version 0.22 mpd added an option to use the io_uring kernel interface for 
asynchronous access to local files. Buildroot added the necessary library 
(package/liburing) in commit 03ca6f4e39874583060317e7e15e9e360220877e.

Add an option for mpd to optionally enable asynchronous file access using 
io_uring (via liburing).

Signed-off-by: Andreas Ziegler <br015@umbiko.net>
---
 package/mpd/Config.in | 10 ++++++++++
 package/mpd/mpd.mk    |  7 +++++++
 2 files changed, 17 insertions(+)

Comments

Romain Naour July 24, 2022, 2:09 p.m. UTC | #1
Hello Andreas

Le 16/02/2022 à 16:49, Andreas Ziegler a écrit :
> In version 0.22 mpd added an option to use the io_uring kernel interface for 
> asynchronous access to local files. Buildroot added the necessary library 
> (package/liburing) in commit 03ca6f4e39874583060317e7e15e9e360220877e.
> 
> Add an option for mpd to optionally enable asynchronous file access using 
> io_uring (via liburing).

The commit title could be

"package/mpd: add io_uring optional dependency"

> 
> Signed-off-by: Andreas Ziegler <br015@umbiko.net>
> ---
>  package/mpd/Config.in | 10 ++++++++++
>  package/mpd/mpd.mk    |  7 +++++++
>  2 files changed, 17 insertions(+)
> 
> diff --git a/package/mpd/Config.in b/package/mpd/Config.in
> index fc0f409448..c5a50898e2 100644
> --- a/package/mpd/Config.in
> +++ b/package/mpd/Config.in
> @@ -347,6 +347,16 @@ config BR2_PACKAGE_MPD_AVAHI_SUPPORT
>  comment "avahi support needs a toolchain w/ dynamic library"
>  	depends on BR2_STATIC_LIBS
>  
> +config BR2_PACKAGE_MPD_IO_URING
> +	bool "io_uring"
> +	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1
> +	select BR2_PACKAGE_LIBURING
> +	help
> +	  Asynchronous I/O using kernel io_uring subsystem
> +
> +comment "io_uring needs at least kernel version 5.1"

It's not a kernel version dependency but a toolchain kernel headers dependency.

Usually we use the following comment format:

"io_uring support needs a toolchain w/ headers >= 5.1"

Reviewed-by: Romain Naour <romain.naour@smile.fr>

Best regards,
Romain

> +	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1
> +
>  config BR2_PACKAGE_MPD_LIBMPDCLIENT
>  	bool "libmpdclient"
>  	select BR2_PACKAGE_LIBMPDCLIENT
> diff --git a/package/mpd/mpd.mk b/package/mpd/mpd.mk
> index a55e4adde2..a0cebedc64 100644
> --- a/package/mpd/mpd.mk
> +++ b/package/mpd/mpd.mk
> @@ -119,6 +119,13 @@ else
>  MPD_CONF_OPTS += -Did3tag=disabled
>  endif
>  
> +ifeq ($(BR2_PACKAGE_MPD_IO_URING),y)
> +MPD_DEPENDENCIES += liburing
> +MPD_CONF_OPTS += -Dio_uring=enabled
> +else
> +MPD_CONF_OPTS += -Dio_uring=disabled
> +endif
> +
>  ifeq ($(BR2_PACKAGE_MPD_JACK2),y)
>  MPD_DEPENDENCIES += jack2
>  MPD_CONF_OPTS += -Djack=enabled
diff mbox series

Patch

diff --git a/package/mpd/Config.in b/package/mpd/Config.in
index fc0f409448..c5a50898e2 100644
--- a/package/mpd/Config.in
+++ b/package/mpd/Config.in
@@ -347,6 +347,16 @@  config BR2_PACKAGE_MPD_AVAHI_SUPPORT
 comment "avahi support needs a toolchain w/ dynamic library"
 	depends on BR2_STATIC_LIBS
 
+config BR2_PACKAGE_MPD_IO_URING
+	bool "io_uring"
+	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1
+	select BR2_PACKAGE_LIBURING
+	help
+	  Asynchronous I/O using kernel io_uring subsystem
+
+comment "io_uring needs at least kernel version 5.1"
+	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1
+
 config BR2_PACKAGE_MPD_LIBMPDCLIENT
 	bool "libmpdclient"
 	select BR2_PACKAGE_LIBMPDCLIENT
diff --git a/package/mpd/mpd.mk b/package/mpd/mpd.mk
index a55e4adde2..a0cebedc64 100644
--- a/package/mpd/mpd.mk
+++ b/package/mpd/mpd.mk
@@ -119,6 +119,13 @@  else
 MPD_CONF_OPTS += -Did3tag=disabled
 endif
 
+ifeq ($(BR2_PACKAGE_MPD_IO_URING),y)
+MPD_DEPENDENCIES += liburing
+MPD_CONF_OPTS += -Dio_uring=enabled
+else
+MPD_CONF_OPTS += -Dio_uring=disabled
+endif
+
 ifeq ($(BR2_PACKAGE_MPD_JACK2),y)
 MPD_DEPENDENCIES += jack2
 MPD_CONF_OPTS += -Djack=enabled