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

Investigate tokio-uring usage #26

Open
mempirate opened this issue Oct 28, 2023 · 1 comment
Open

Investigate tokio-uring usage #26

mempirate opened this issue Oct 28, 2023 · 1 comment
Assignees
Labels
C-discussion Category: Discussion M-tracking Meta: tracking issue

Comments

@mempirate
Copy link
Contributor

mempirate commented Oct 28, 2023

Context

A large part of CPU cycles in the benchmarks are spent on syscalls and the associated copying of data. We could (potentially) improve on this by leveraging io_uring through tokio-uring.

This should be gated by a feature and only possible on Linux platforms (if kernel is up-to-date).

For more information about tokio-uring check out the design document

@mempirate mempirate added C-discussion Category: Discussion M-tracking Meta: tracking issue labels Oct 28, 2023
@mempirate mempirate self-assigned this Oct 28, 2023
@merklefruit
Copy link
Contributor

merklefruit commented Nov 2, 2023

A good starting point here would be to run strace or get a flamegraph going to understand what syscalls we're doing most and how much time is spent on them. my intuition is that for network I/O the default epoll implementation will be hard to beat with io_uring, but I'm curious as well!

@mempirate mempirate changed the title Reduce syscalls Investigate tokio-uring usage Nov 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-discussion Category: Discussion M-tracking Meta: tracking issue
Projects
None yet
Development

No branches or pull requests

2 participants