kernel: improve handling of CONFIG_IO_URING
authorTony Ambardar <itugrok@yahoo.com>
Tue, 25 Apr 2023 05:28:44 +0000 (22:28 -0700)
committerTony Ambardar <itugrok@yahoo.com>
Wed, 3 May 2023 17:26:17 +0000 (10:26 -0700)
Kernel setting CONFIG_IO_URING supports high-performance I/O for file
access and servers, generally for more performant platforms, and adds
~45 KB to kernel sizes. The need for this on less "beefy" devices is
questionable, as is the size cost considering many platforms have kernel
size limits which require tricky repartitioning if outgrown. The size
cost is also large relative to the ~180 KB bump expected between major
OpenWRT kernel releases.

No OpenWrt packages have hard dependencies on this; samba4 and mariadb
can take advantage if available (+KERNEL_IO_URING:liburing) but
otherwise build and work fine.

Since CONFIG_IO_URING is already managed via the KERNEL_IO_URING setting
in Config-kernel.in (default Y), remove it from those target configs
which unconditionally enable it, and update the defaults to enable it
conditionally only on more powerful 64-bit x86 and arm devices. It may
still be manually enabled as needed for high-performance custom builds.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
15 files changed:
config/Config-kernel.in
target/linux/airoha/config-5.15
target/linux/bcm53xx/config-5.10
target/linux/bcm53xx/config-5.15
target/linux/gemini/config-5.10
target/linux/gemini/config-5.15
target/linux/imx/config-5.15
target/linux/ipq40xx/config-5.15
target/linux/mediatek/filogic/config-5.15
target/linux/mediatek/mt7623/config-5.15
target/linux/mediatek/mt7629/config-5.15
target/linux/rockchip/armv8/config-5.10
target/linux/rockchip/armv8/config-5.15
target/linux/x86/config-5.10
target/linux/x86/config-5.15

index c7b1864235bd5a4261cef84e50ec8983a89ab059..979a44660db42b75a37f1a037c4e42fc6fa10ffa 100644 (file)
@@ -469,7 +469,8 @@ config KERNEL_AIO
 
 config KERNEL_IO_URING
        bool "Compile the kernel with io_uring support"
-       default y if !SMALL_FLASH
+       depends on !SMALL_FLASH
+       default y if (x86_64 || aarch64)
 
 config KERNEL_FHANDLE
        bool "Compile the kernel with support for fhandle syscalls"
index adc8cdfb9bb8fde4dd88375647e0672506824eca..2ccdb05060a74083b3980bede067006413578674 100644 (file)
@@ -135,7 +135,6 @@ CONFIG_INITRAMFS_SOURCE=""
 # CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
 # CONFIG_IOMMU_IO_PGTABLE_LPAE is not set
 CONFIG_IOMMU_SUPPORT=y
-CONFIG_IO_URING=y
 CONFIG_IRQCHIP=y
 CONFIG_IRQ_DOMAIN=y
 CONFIG_IRQ_DOMAIN_HIERARCHY=y
index 9850aa9563ec11b210bb3121ea1b16444692798b..04b972131a76f4655f49d580976e27f6946c0455 100644 (file)
@@ -165,7 +165,6 @@ CONFIG_HW_RANDOM_BCM2835=y
 CONFIG_HZ_FIXED=0
 CONFIG_HZ_PERIODIC=y
 CONFIG_INITRAMFS_SOURCE=""
-CONFIG_IO_URING=y
 CONFIG_IRQCHIP=y
 CONFIG_IRQ_DOMAIN=y
 CONFIG_IRQ_DOMAIN_HIERARCHY=y
index 3941c22b9c391ec95bc045deea48829bce2c1eb5..a09937defad934a7874dbfd0b6d69483c6cbc764 100644 (file)
@@ -171,7 +171,6 @@ CONFIG_HW_RANDOM_BCM2835=y
 CONFIG_HZ_FIXED=0
 CONFIG_HZ_PERIODIC=y
 CONFIG_INITRAMFS_SOURCE=""
-CONFIG_IO_URING=y
 CONFIG_IRQCHIP=y
 CONFIG_IRQ_DOMAIN=y
 CONFIG_IRQ_DOMAIN_HIERARCHY=y
index 698dc44b495bcc03dd18d178c7a49894e2d28440..19dc2692f207f349d33538714a4d897a3a343908 100644 (file)
@@ -216,7 +216,6 @@ CONFIG_INPUT_KEYBOARD=y
 # CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
 # CONFIG_IOMMU_IO_PGTABLE_LPAE is not set
 CONFIG_IOMMU_SUPPORT=y
-CONFIG_IO_URING=y
 CONFIG_IPC_NS=y
 CONFIG_IRQCHIP=y
 CONFIG_IRQ_DOMAIN=y
index b3b7a7dd127b9fca70a447ba11ab06d6185e8f22..b76371fbdc6c4c22f9e721b903890e2ff99008cc 100644 (file)
@@ -217,7 +217,6 @@ CONFIG_INPUT_KEYBOARD=y
 # CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
 # CONFIG_IOMMU_IO_PGTABLE_LPAE is not set
 CONFIG_IOMMU_SUPPORT=y
-CONFIG_IO_URING=y
 CONFIG_IPC_NS=y
 CONFIG_IRQCHIP=y
 CONFIG_IRQ_DOMAIN=y
index 0c9b7d22b4e54d898ec08c890e66623507f9fb46..90b8c285fd072c81cd8d0c997e91421e71adf079 100644 (file)
@@ -233,7 +233,6 @@ CONFIG_IMX_SDMA=y
 CONFIG_IMX_THERMAL=y
 # CONFIG_IMX_WEIM is not set
 CONFIG_INITRAMFS_SOURCE=""
-CONFIG_IO_URING=y
 CONFIG_IRQCHIP=y
 CONFIG_IRQ_DOMAIN=y
 CONFIG_IRQ_DOMAIN_HIERARCHY=y
index 88029caf763af9d79ee9b6bf5fba0466fda461f5..d5bde551783e8bd645517ddb83857ed06fc72786 100644 (file)
@@ -210,7 +210,6 @@ CONFIG_INITRAMFS_SOURCE=""
 # CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
 # CONFIG_IOMMU_IO_PGTABLE_LPAE is not set
 CONFIG_IOMMU_SUPPORT=y
-CONFIG_IO_URING=y
 # CONFIG_IPQ_APSS_PLL is not set
 CONFIG_IPQ_GCC_4019=y
 # CONFIG_IPQ_GCC_6018 is not set
index 41f127ea5b523d253888d7e2b6cb28f6c541f1ce..96ff95be13dbb91a002c62ead689de25536da7de 100644 (file)
@@ -186,7 +186,6 @@ CONFIG_I2C_MT65XX=y
 CONFIG_ICPLUS_PHY=y
 CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
 CONFIG_INITRAMFS_SOURCE=""
-CONFIG_IO_URING=y
 CONFIG_IRQCHIP=y
 CONFIG_IRQ_DOMAIN=y
 CONFIG_IRQ_DOMAIN_HIERARCHY=y
index fa99dd50bb0ac5111f605826bc681e8235b57bc6..2d3523d762a715104ca348421f919f8debd9f169 100644 (file)
@@ -281,7 +281,6 @@ CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y
 # CONFIG_IOMMU_IO_PGTABLE_ARMV7S_SELFTEST is not set
 # CONFIG_IOMMU_IO_PGTABLE_LPAE is not set
 CONFIG_IOMMU_SUPPORT=y
-CONFIG_IO_URING=y
 CONFIG_IRQCHIP=y
 CONFIG_IRQ_DOMAIN=y
 CONFIG_IRQ_DOMAIN_HIERARCHY=y
index 46104ece48f4cc1720706f442074b88425e5a562..03fad40cca6cd002967686605d96db202f788c56 100644 (file)
@@ -142,7 +142,6 @@ CONFIG_HW_RANDOM=y
 CONFIG_HW_RANDOM_MTK=y
 CONFIG_HZ_FIXED=0
 CONFIG_INITRAMFS_SOURCE=""
-CONFIG_IO_URING=y
 CONFIG_IRQCHIP=y
 CONFIG_IRQ_DOMAIN=y
 CONFIG_IRQ_DOMAIN_HIERARCHY=y
index 2d250219a87e5a68bb305bc4ae4acd83718000e8..637c54be6f141556be90e51c35396a8a0d36985a 100644 (file)
@@ -287,7 +287,6 @@ CONFIG_IOMMU_IO_PGTABLE_LPAE=y
 # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
 CONFIG_IOMMU_SUPPORT=y
 # CONFIG_IO_STRICT_DEVMEM is not set
-CONFIG_IO_URING=y
 CONFIG_IRQCHIP=y
 CONFIG_IRQ_DOMAIN=y
 CONFIG_IRQ_DOMAIN_HIERARCHY=y
index bb7f44a2c4dc438c7d84f4e9adae61874e11d2f7..51a14055f31bcabee32fcd6cffca9493b25f39ec 100644 (file)
@@ -287,7 +287,6 @@ CONFIG_IOMMU_IO_PGTABLE_LPAE=y
 # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
 CONFIG_IOMMU_SUPPORT=y
 # CONFIG_IO_STRICT_DEVMEM is not set
-CONFIG_IO_URING=y
 CONFIG_IRQCHIP=y
 CONFIG_IRQ_DOMAIN=y
 CONFIG_IRQ_DOMAIN_HIERARCHY=y
index 6868dec18a76af50993e5699d40278e8a127aa24..4616fcba0785cd8f2c25303ad11508dd2b1464d7 100644 (file)
@@ -181,7 +181,6 @@ CONFIG_IO_DELAY_0X80=y
 # CONFIG_IO_DELAY_0XED is not set
 # CONFIG_IO_DELAY_NONE is not set
 # CONFIG_IO_DELAY_UDELAY is not set
-CONFIG_IO_URING=y
 CONFIG_IRQ_DOMAIN=y
 CONFIG_IRQ_DOMAIN_HIERARCHY=y
 CONFIG_IRQ_FORCED_THREADING=y
index a3d8db26ae2d48b61edf6d8fc502cdea7d696754..ee7ab9d6deeb93b8c4bd8eb82e3310555ad0d042 100644 (file)
@@ -183,7 +183,6 @@ CONFIG_IO_DELAY_0X80=y
 # CONFIG_IO_DELAY_0XED is not set
 # CONFIG_IO_DELAY_NONE is not set
 # CONFIG_IO_DELAY_UDELAY is not set
-CONFIG_IO_URING=y
 CONFIG_IRQ_DOMAIN=y
 CONFIG_IRQ_DOMAIN_HIERARCHY=y
 CONFIG_IRQ_FORCED_THREADING=y