On 10/10/24 21:56, Bernd Schubert wrote:
Hello, as discussed during LPC, we would like to have large CQE sizes, at least 256B. Ideally 256B for fuse, but CQE512 might be a bit too much... Pavel said that this should be ok, but it would be better to have the CQE size as function argument. Could you give me some hints how this should look like and especially how
I remembered it as SQEs, which would've been much easier. In the current io_uring infra, usually to post a cqe an opcode specific path stashed the result value in the request structure and then the core io_uring code will post it for you. We won't find space for 256B, however, and it'd need to happen right from the cmd path and follow the rules when / from what context it can be posted. I'll take a stub to see how it can look like.
we are going to communicate the CQE size to the kernel? I guess just adding IORING_SETUP_CQE256 / IORING_SETUP_CQE512 would be much easier.
3-4 special cases is already odd as an API, we should rather just pass the desired CQE size.
I'm basically through with other changes Miklos had been asking for and moving fuse headers into the CQE is next.
-- Pavel Begunkov