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

Use io_uring for files on linux #175

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

Use io_uring for files on linux #175

wants to merge 4 commits into from

Conversation

Panke
Copy link
Contributor

@Panke Panke commented Mar 23, 2021

This is a proof of concept on how to integrate io_uring into the epoll event loop. It currently supports files, timers could be easily added (but prolly require a fork of the PosixEventLoop).

It's not production ready yet, but I want to gather some early feedback.

Copy link
Member

@s-ludwig s-ludwig left a comment

Choose a reason for hiding this comment

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

I'm really glad to see this since I really wanted to try this out myself when it got into the kernel, but couldn't realistically do so due to higher priorities.

Since I can't test this locally in the current state, my only comment right now is that the integration should be optional as a separate build configuration. Once that is done, everything builds, and the white space changes and Meson build file changes are in separate commits, we could also just document it as experimental and merge it to master, so that improvements can be made in smaller incremental steps.

dub.sdl Outdated
@@ -2,7 +2,8 @@ name "eventcore"
description "Pro-actor based abstraction layer over operating system asynchronous I/O facilities."
license "MIT"
copyright "Copyright © 2016-2018 Sönke Ludwig"

license "MIT"
Copy link
Member

Choose a reason for hiding this comment

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

Duplicate license field

@@ -2,7 +2,8 @@ name "eventcore"
description "Pro-actor based abstraction layer over operating system asynchronous I/O facilities."
license "MIT"
copyright "Copyright © 2016-2018 Sönke Ludwig"

license "MIT"
dependency "during" version="~>0.2.1"
Copy link
Member

Choose a reason for hiding this comment

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

This should be in a new "uring" configuration at the bottom of the file. Is "during" a local package of yours? I don't see it on code.dlang.org.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Since I can't test this locally in the current state, my only comment right now is that the integration should be optional as a separate build configuration. Once that is done, everything builds, and the white space changes and Meson build file changes are in separate commits, we could also just document it as experimental and merge it to master, so that improvements can be made in smaller incremental steps.

Great! Than I will polish it up to be suitable for master.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This should be in a new "uring" configuration at the bottom of the file. Is "during" a local package of yours? I don't see it on code.dlang.org.

It's https://github.com/tchaloupka/during from code.dlang.org

Copy link
Contributor Author

@Panke Panke Mar 26, 2021

Choose a reason for hiding this comment

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

white space changes

which one?

Copy link
Member

Choose a reason for hiding this comment

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

Hm it's really just two lines in utils.d, nevermind then, I thought it was more.

Copy link
Member

Choose a reason for hiding this comment

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

It's https://github.com/tchaloupka/during from code.dlang.org

Interesting, the search is obviously broken w.r.t. package names. Accessing it manually works, but I get zero results for "during".

@Panke Panke force-pushed the master branch 2 times, most recently from 956bebf to 1b7e274 Compare April 1, 2021 10:19
Also changes the way the internal data is organized
to match the module comment of io_uring.
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