On 3/31/21 3:01 AM, Hao Xu wrote: > Now that we have multishot poll requests, one sqe can emit multiple > cqes. given below example: > sqe0(multishot poll)-->sqe1-->sqe2(drain req) > sqe2 is designed to issue after sqe0 and sqe1 completed, but since sqe0 > is a multishot poll request, sqe2 may be issued after sqe0's event > triggered twice before sqe1 completed. This isn't what users leverage > drain requests for. > Here a simple solution is to ignore all multishot poll cqes, which means > drain requests won't wait those request to be done. Good point, we need to do something here... Looks simple enough to me, though I'd probably prefer if we rename 'multishot_cqes' to 'persistent_sqes' or something like that. It's likely not the last user of having 1:M mappings between sqe and cqe, so might as well try and name it a bit more appropriately. -- Jens Axboe