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 (blocked on missing copy_file_range op and liburing offload escape) #4

Open
SUPERCILEX opened this issue Jan 6, 2023 · 3 comments

Comments

@SUPERCILEX
Copy link
Owner

If io_uring ever adds support for copy_file_range (splice doesn't do copy acceleration AFAIK), we should be able to use that to parallelize our writes.

@SUPERCILEX SUPERCILEX changed the title Investigate copying using io_uring Investigate using io_uring Jan 11, 2023
@SUPERCILEX
Copy link
Owner Author

SUPERCILEX commented Jan 11, 2023

unlinkat is supported by io_uring, so we should be able to queue a getdents buffer size worth of file unlinks. Whether or not that faster, I'm not sure.

The uring command queue can be bound to a thread local.

@SUPERCILEX
Copy link
Owner Author

Very wip implementation for rmz: https://github.com/SUPERCILEX/fuc/tree/io_uring_rmz

@SUPERCILEX SUPERCILEX changed the title Investigate using io_uring Use io_uring for copying (blocked on missing copy_file_range op) Jan 29, 2023
@SUPERCILEX
Copy link
Owner Author

axboe/liburing#830

@SUPERCILEX SUPERCILEX changed the title Use io_uring for copying (blocked on missing copy_file_range op) Use io_uring (blocked on missing copy_file_range op and https://github.com/axboe/liburing/issues/830) May 25, 2023
@SUPERCILEX SUPERCILEX changed the title Use io_uring (blocked on missing copy_file_range op and https://github.com/axboe/liburing/issues/830) Use io_uring (blocked on missing copy_file_range op and liburing offload escape) May 25, 2023
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

No branches or pull requests

1 participant