openwrt / openwrt

This repository is a mirror of https://git.openwrt.org/openwrt/openwrt.git It is for reference only and is not active for check-ins. We will continue to accept Pull Requests here. They will be merged via staging trees then into openwrt.git.
Other
19.54k stars 10.21k forks source link

kernel no io_uring (anymore) for powerful targets like ipq806x and mvebu. #14113

Open poranje opened 9 months ago

poranje commented 9 months ago

Describe the bug

Commit 3d66f551611de37b88182c64efa091298a9e7f2c ("kernel: improve handling of CONFIG_IO_URING") changed the default for KERNEL_IO_URING config such that it is enabled only for the x86_64 and aarch64 targets. As a result this config setting was not only removed for smallish targets but also for rather more powerful targets like ipq806x, mvebu, ... Package liburing is not build on those targets either.

When fixed in main, also do this in 23.05; in 22.03 CONFIG_IO_URING was still enabled for ipq806x etc.

OpenWrt version

3d66f55161

OpenWrt release

23.05.0

OpenWrt target/subtarget

ipq806x/generic

Device

R7800

Image kind

Official downloaded image

Steps to reproduce

Any build for the largish and powerful targets, except x86_64 and aarch64, where the CONFIG_IO_URING is not explicitly set will have no support for io_ring.

Actual behaviour

Software like samba4 cannot use io_uring.

Expected behaviour

Software like samba4 can by default use io_uring on the more powerful targets.

Additional info

No response

Diffconfig

No response

Terms

github-actions[bot] commented 9 months ago

Invalid Version reported. 3d66f55161 Is this from a clean repository?

neheb commented 9 months ago

this bot needs work.

poranje commented 9 months ago

Invalid Version reported. 3d66f55161 Is this from a clean repository?

Yes (build by https://firmware-selector.openwrt.org/)

Ansuel commented 9 months ago

this bot needs work.

I mean we give instruction on what to put in those value... Just hoping user starts to follow that instead of putting all kind of format (that can be correct but still not the format that was asked)

Ansuel commented 9 months ago

@poranje what would be the benefits of enabling io uring in mvebu or ipq806x? Should be easy to enable. If i'm not wrong main problem was that it was enabled in generic config instead of the more specific target

poranje commented 9 months ago

Was having io_uring enabled for the generic or for any other subtarget of targets like mvebu or ipq806x ever problematic ?

Ansuel commented 9 months ago

Totally... io uring is big and we do still care about space.... we still have target with tiny nand space

poranje commented 9 months ago

Indeed and io uring should not generally be used with the targets with devices equipped with small storage, but seems appropriate on ipq806x, mvebu and other powerful targets where all devices presumably have sufficient storage. Or is this assumption incorrect ?