Deprecate IoContext submit broken chain logic
The manual invalidation of sqes after a submission of a broken chain is not needed anymore with linux 5.15 and https://lore.kernel.org/io-uring/180ec124-79b1-2274-4570-9b0d6620d512@linux.alibaba.com/T/#t.
This also allows SQPOLL
to properly function with broken links.
The changes between v1 and v2 were not trivial!
Notable changes:
- Use a static
LinuxVersion
objectemper::lib::LinuxVersion
.
This reduces the overhead of multipleLINUX_VERSION_*
macro calls to a single syscall. - Don't initialize a
static
variable usingLINUX_VERSION_*
macros. Because this results in n comparisons one for each object file including the header with the static variable.
NOTE:
There is still the possibility that the comparision now done during library initialization of the Emper
object file crashed because it may write warnings to a not yet initialized std::stderr
. But I think this always can happen when printing messages using the iostreams during library initialization.
Edited by Maxim Onciul