Skip to content
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

add Buffer pool support #276

Open
wants to merge 16 commits into
base: master
Choose a base branch
from

Conversation

Sherlock-Holo
Copy link
Contributor

No description provided.

@Sherlock-Holo Sherlock-Holo force-pushed the buffer-pool branch 5 times, most recently from 2b112f3 to ac2d63a Compare July 12, 2024 02:30
some distributions(like ubuntu 20.04) doesn't support io-uring buf-ring
feature, enable it to implement buffer pool will fail

to fix this problem, when user doesn't enable io-uring-buf-ring feature,
io-uring will use fallback buffer pool like polling/iocp
a file behind async fd may failed because not support epoll
@Sherlock-Holo Sherlock-Holo marked this pull request as ready for review July 12, 2024 08:53
@Berrysoft Berrysoft self-requested a review July 29, 2024 12:13
Copy link
Member

@Berrysoft Berrysoft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rebase the PR, please.

@@ -42,6 +42,7 @@ socket2 = { workspace = true }
[target.'cfg(windows)'.dependencies]
aligned-array = "1.0.1"
once_cell = { workspace = true }
pin-project-lite = { workspace = true }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If all targets need pin-project-lite, just write it once in [dependencies]

@@ -126,14 +145,14 @@ impl Driver {
match res {
Ok(_) => {
if self.inner.completion().is_empty() {
Err(io::ErrorKind::TimedOut.into())
Err(ErrorKind::TimedOut.into())
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer don't make these meaningless changes.

polling = ["dep:polling", "dep:os_pipe"]

io-uring-sqe128 = []
io-uring-cqe32 = []
io-uring-socket = []
io-uring-buf-ring = ["dep:io_uring_buf_ring", "dep:slab"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to check in the fusion driver if this feature enabled.

@@ -81,6 +81,7 @@ io-uring = [
"compio-fs?/io-uring",
"compio-net?/io-uring",
]
io-uring-buf-ring = ["compio-driver/io-uring-buf-ring"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer not adding this one.

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

Successfully merging this pull request may close these issues.

2 participants