-
Notifications
You must be signed in to change notification settings - Fork 35
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
base: master
Are you sure you want to change the base?
Conversation
user should use compio_runtime::buffer_pool::{BufferPool, BorrowedBuffer} instaed of using compio_driver buffer pool directly
2b112f3
to
ac2d63a
Compare
ac2d63a
to
ece142e
Compare
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
There was a problem hiding this 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 } |
There was a problem hiding this comment.
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()) |
There was a problem hiding this comment.
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"] |
There was a problem hiding this comment.
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"] |
There was a problem hiding this comment.
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.
No description provided.