SUPERCILEX / fuc

Modern, performance focused unix commands
Apache License 2.0
340 stars 8 forks source link

Use io_uring (blocked on missing copy_file_range op and liburing offload escape) #4

Open SUPERCILEX opened 1 year ago

SUPERCILEX commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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

SUPERCILEX commented 1 year ago

https://github.com/axboe/liburing/issues/830