io: make max unbounded io worker configurable
Since Linux 5.15 io_uring can limit the number of iow threads created using IORING_REGISTER_IOWQ_MAX_WORKERS. Bump liburing wrap to version 2.1 to use io_uring_register_iowq_max_workers. Expose this via the meson variable io_unbounded_iow_max and the environment variable EMPER_IO_UNBOUNDED_IOW_MAX. See for an detailed explanation: https://blog.cloudflare.com/missing-manuals-io_uring-worker-pool
Showing
- emper/io/GlobalIoContext.hpp 4 additions, 1 deletionemper/io/GlobalIoContext.hpp
- emper/io/IoContext.cpp 38 additions, 1 deletionemper/io/IoContext.cpp
- emper/io/IoContext.hpp 14 additions, 2 deletionsemper/io/IoContext.hpp
- emper/lib/env.cpp 31 additions, 0 deletionsemper/lib/env.cpp
- emper/lib/env.hpp 9 additions, 19 deletionsemper/lib/env.hpp
- emper/lib/meson.build 1 addition, 0 deletionsemper/lib/meson.build
- meson.build 2 additions, 1 deletionmeson.build
- meson_options.txt 6 additions, 0 deletionsmeson_options.txt
- subprojects/liburing.wrap 8 additions, 7 deletionssubprojects/liburing.wrap
Loading
Please register or sign in to comment