8000 `IoUringZeroCopyBufferPool` depends on unreleased liburing features · Issue #2420 · facebook/folly · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

IoUringZeroCopyBufferPool depends on unreleased liburing features #2420

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
sin-ack opened this issue Apr 21, 2025 · 1 comment
Open

IoUringZeroCopyBufferPool depends on unreleased liburing features #2420

sin-ack opened this issue Apr 21, 2025 · 1 comment

Comments

@sin-ack
Copy link
sin-ack commented Apr 21, 2025

Problem Definition

Folly recently added a IoUringZeroCopyBufferPool class in 70669ee. However, this class depends on definitions from a liburing version that hasn't been released yet. This is causing issues with packaging Folly.

Solution

Please add a configure check or build-time flag for a liburing version that supports zcrx.

CC @spikeh since this was part of your changes.

@sin-ack
Copy link
Author
sin-ack commented Apr 21, 2025

Speaking of, it would be nice to have a configure flag for disabling liburing altogether. The current way Folly discovers uring support is non-configurable:

#if defined(__linux__) && __has_include(<liburing.h>)
#define FOLLY_HAS_LIBURING 1
#else
#define FOLLY_HAS_LIBURING 0
#endif

sin-ack added a commit to sin-ack/gentoo that referenced this issue Apr 21, 2025
io_uring support is temporarily disabled because they depend on features
that haven't even been released in liburing yet.

Closes: https://bugs.gentoo.org/949607
Ref: facebook/folly#2420
Signed-off-by: sin-ack <sin-ack@protonmail.com>
gentoo-bot pushed a commit to gentoo/gentoo that referenced this issue Apr 22, 2025
io_uring support is temporarily disabled because they depend on features
that haven't even been released in liburing yet.

Closes: https://bugs.gentoo.org/949607
Ref: facebook/folly#2420
Signed-off-by: sin-ack <sin-ack@protonmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
sin-ack added a commit to sin-ack/gentoo that referenced this issue Apr 24, 2025
There are three different problems being addressed here:

1. Recent Folly versions depend on liburing features that have not yet
   been released.
2. Folly has no build system configuration option to disable io_uring
   support.
3. Folly's CMake build system will unconditionally add liburing as a
   library to link against, which downstream Facebook libraries rely on.

The third one creates an implicit dependency between Folly and liburing
which means if liburing gets depcleaned or otherwise unmerged, unrelated
packages will fail building.

We solve this by conditionally patching out io_uring support based on
USE=io-uring and having a (currently technically invalid) dependency
on the yet-unreleased liburing-2.10, which will make it automagically
start working once we do have that release in ::gentoo.

Ref: facebook/folly#2420
Bug: https://bugs.gentoo.org/954335
Signed-off-by: sin-ack <sin-ack@protonmail.com>
sin-ack added a commit to sin-ack/gentoo that referenced this issue Apr 24, 2025
There are three different problems being addressed here:

1. Recent Folly versions depend on liburing features that have not yet
   been released.
2. Folly has no build system configuration option to disable io_uring
   support.
3. Folly's CMake build system will unconditionally add liburing as a
   library to link against, which downstream Facebook libraries rely on.

The third one creates an implicit dependency between Folly and liburing
which means if liburing gets depcleaned or otherwise unmerged, other
Facebook packages will fail to build.

We solve this by conditionally patching out io_uring support based on
USE=io-uring and having a (currently technically invalid) dependency
on the yet-unreleased liburing-2.10, which will make it automagically
start working once we do have that release in ::gentoo.

Ref: facebook/folly#2420
Bug: https://bugs.gentoo.org/954335
Signed-off-by: sin-ack <sin-ack@protonmail.com>
gentoo-bot pushed a commit to gentoo/gentoo that referenced this issue Apr 24, 2025
There are three different problems being addressed here:

1. Recent Folly versions depend on liburing features that have not yet
   been released.
2. Folly has no build system configuration option to disable io_uring
   support.
3. Folly's CMake build system will unconditionally add liburing as a
   library to link against, which downstream Facebook libraries rely on.

The third one creates an implicit dependency between Folly and liburing
which means if liburing gets depcleaned or otherwise unmerged, other
Facebook packages will fail to build.

We solve this by conditionally patching out io_uring support based on
USE=io-uring and having a (currently technically invalid) dependency
on the yet-unreleased liburing-2.10, which will make it automagically
start working once we do have that release in ::gentoo.

Ref: facebook/folly#2420
Bug: https://bugs.gentoo.org/954335
Signed-off-by: sin-ack <sin-ack@protonmail.com>
Part-of: #41734
Signed-off-by: Sam James <sam@gentoo.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant
0