Julien Plissonneau Duquène left as an exercise for the reader: > - io_uring that allows asynchronous file operations; implementation would > require important changes in dpkg; potential performance gains in dpkg's use > case are not yet evaluated AFAIK but it looks like the right solution for > that use case.
i've got a lot of experience with io_uring [0] [1], and have been closely tracking it, and would be interested in helping out here if it's thought that such an experiment would be useful and welcomed. be aware that taking full advantage of io_uring, especially in a program with concurrent computation, can require some pretty substantial restructuring. if the issue could be solved with e.g. parallel fsync operations, that might be a much quicker way to pick up much of the potential performance advantages. it seems outside dpkg's province to manipulate queue depth, but that would be an important parameter for using this most effectively. chained operations will likely be useful here. --nick [0] https://nick-black.com/dankwiki/index.php/Io_uring [1] https://nick-black.com/dankwiki/index.php/Io_uring_and_xdp_enter_2024 -- nick black -=- https://nick-black.com to make an apple pie from scratch, you need first invent a universe.