Skip to content

Upgrade libev to version 4.33#256

Merged
ioquatix merged 6 commits intosocketry:masterfrom
jcmfernandes:upgrade-libev-4.33
Dec 31, 2020
Merged

Upgrade libev to version 4.33#256
ioquatix merged 6 commits intosocketry:masterfrom
jcmfernandes:upgrade-libev-4.33

Conversation

@jcmfernandes
Copy link
Copy Markdown
Contributor

@jcmfernandes jcmfernandes commented Dec 29, 2020

Updating libev to version 4.33. The new version includes experimental support for linux's new asynchronous IO framework io_uring.

While we were baking support for the also experimental linuxaio backend into libev, we were not making it available. This PR "fixes" that too.

libev will never default to io_uring or linuxaio backends so the only way to use them is by explicitly request it via NIO::Selector.new or env var LIBEV_FLAGS.

Types of Changes

  • Bug fix.
  • New feature.
  • Performance improvement.
  • Other

Testing

  • I added new tests for my changes.
  • I ran all the tests locally.

@jcmfernandes
Copy link
Copy Markdown
Contributor Author

Must confess that the intent was only to play around with my fork and I ended up opening a PR here by mistake 😅 is this of interest? Support for linuxaio and io_uring in libev is currently marked as experimental.

@tarcieri
Copy link
Copy Markdown
Contributor

@jcmfernandes looks good to me!

@ioquatix ioquatix marked this pull request as ready for review December 30, 2020 00:01
@ioquatix
Copy link
Copy Markdown
Member

I only did a brief review but it looks okay to me.

@jcmfernandes
Copy link
Copy Markdown
Contributor Author

Great! I updated the PR's description.

I'm going to document that support for io_uring and linuxaio are experimental.

@jcmfernandes
Copy link
Copy Markdown
Contributor Author

Oh, and I ran async's test suite locally using this branch and it's all OK. I used LIBEV_FLAGS to run them with both linuxaio and io_uring backends.

@ioquatix ioquatix merged commit 17155b9 into socketry:master Dec 31, 2020
@ioquatix
Copy link
Copy Markdown
Member

Awesome, nice work!

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