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

Target Linux kernel 6.1 #85

Merged
merged 1 commit into from Jun 9, 2023
Merged

Target Linux kernel 6.1 #85

merged 1 commit into from Jun 9, 2023

Conversation

armanbilge
Copy link
Owner

Linux 6.1 is the next LTS kernel, after 5.15 (which we are currently targeting).

So far, there is no Ubuntu LTS release based on this kernel and we cannot use it easily in GitHub Actions CI. So this PR sets up Cirrus CI with Ubuntu 23.04 and removes Circle CI. We still keep GHA jobs for building artifacts and publishing them, but we do not use it for testing.

Admittedly, this is a non-trivial jump to a kernel version that is not yet very widely deployed. Here's my thinking.

  1. Somehow on 5.15 our use of io_uring appears to spawn several worker threads, which according to the developers is not the intended behavior ...
    Reading/writing on sockets starts several iou-wrk "workers" #56
    In any case, on 6.1 it is working as expected.

  2. There are many useful and important features released after kernel 5.15 that we would do well to take advantage of.
    https://github.com/axboe/liburing/wiki/io_uring-and-networking-in-2023

  3. Amazon Linux 2023 (the successor to Amazon Linux 2) ships with kernel 6.1.
    https://aws.amazon.com/linux/amazon-linux-2023/

So by upgrading we skip the performance-killing bugs, gain all the awesome new features, and still support the biggest cloud provider. Meanwhile, all this io_uring stuff is still pretty new and experimental anyway, so as it matures 6.1 should become more generally available.

Closes #64.

@armanbilge
Copy link
Owner Author

NB Ubuntu 23.04 is actually based on Linux kernel 6.2 🤔 I wonder if we can use AL2023 for CI somehow.

@armanbilge
Copy link
Owner Author

Doesn't look like there was really any new io_uring features in 6.2, just internal improvements. So, not ideal, but yolo 😅

@armanbilge armanbilge merged commit 171bba0 into main Jun 9, 2023
8 of 9 checks passed
@armanbilge armanbilge deleted the pr/ci-kernel-6.1 branch June 9, 2023 06:07
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.

Switch ARM CI to Cirrus
1 participant