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 support for io-uring #374

Merged
merged 15 commits into from
Oct 11, 2021
Merged

add support for io-uring #374

merged 15 commits into from
Oct 11, 2021

Conversation

fakeshadow
Copy link
Contributor

@fakeshadow fakeshadow commented Jul 17, 2021

PR Type

Feature

PR Checklist

Check your PR fulfills the following:

  • Tests for the changes have been added / updated.
  • Documentation comments have been added / updated.
  • A changelog entry has been made for the appropriate packages.
  • Format code with the latest stable rustfmt

Overview

Initial io-uring support with tokio-uring crate dependency.
Only actix_rt::Arbiter is started with tokio-uring runtime. actix_rt::System is left out for now.

@fakeshadow
Copy link
Contributor Author

fakeshadow commented Jul 17, 2021

This could be the first platform specific feature introduced. CI may need a rework and remove --all-features flag on cargo check/test

@fakeshadow fakeshadow marked this pull request as draft July 17, 2021 04:40
@fakeshadow fakeshadow marked this pull request as ready for review July 20, 2021 02:04
@edward-shen
Copy link
Contributor

Docs should be updated to reflect the availability of io-uring as well, e.g. in the first paragraph in lib.rs.

This should be a completely transparent change to downstream users, right? As in, acitx-web shouldn't need a major version bump to start using io-uring or opt into it for Linux targets?

@fakeshadow
Copy link
Contributor Author

fakeshadow commented Jul 20, 2021

This should be a completely transparent change to downstream users, right? As in, acitx-web shouldn't need a major version bump to start using io-uring or opt into it for Linux targets?

io-uring feature is additive and the default feature for actix-web would be disabling it.
For people enabling it it would be transparent without any change to their code.(If they meet the requirement for tokio-uring)

@robjtede
Copy link
Member

robjtede commented Sep 1, 2021

@fakeshadow looks like these Linux failures are legitimate. system_stop_stops_arbiters

@robjtede
Copy link
Member

robjtede commented Sep 2, 2021

uhhh im not sure what i did but it works now?

edit: i suspect it's a race condition

@edward-shen
Copy link
Contributor

What's the status of this PR? @robjtede, did you determine if the CI failures were transient or a legitimate issue? The last commit to this branch seems to imply it was more of a testing issue than a race condition.

@robjtede robjtede merged commit 6fed1c3 into master Oct 11, 2021
@robjtede robjtede deleted the feature/io-uring branch October 11, 2021 01:58
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.

3 participants