On Mon, 14 Oct 2024 at 04:44, Ming Lei <tom.leiming@xxxxxxxxx> wrote: > It also depends on how fuse user code consumes the big CQE payload, if > fuse header needs to keep in memory a bit long, you may have to copy it > somewhere for post-processing since io_uring(kernel) needs CQE to be > returned back asap. Yes. I'm not quite sure how the libfuse interface will work to accommodate this. Currently if the server needs to delay the processing of a request it would have to copy all arguments, since validity will not be guaranteed after the callback returns. With the io_uring infrastructure the headers would need to be copied, but the data buffer would be per-request and would not need copying. This is relaxing a requirement so existing servers would continue to work fine, but would not be able to take full advantage of the multi-buffer design. Bernd do you have an idea how this would work? Thanks, Miklos