On 2/23/21 9:31 PM, Andres Freund wrote: > Hi, > > On 2021-02-23 20:35:09 -0700, Jens Axboe wrote: >> On 2/23/21 8:25 PM, Andres Freund wrote: >>> Hi, >>> >>> commit 41be53e94fb04cc69fdf2f524c2a05d8069e047b (HEAD, refs/bisect/bad) >>> Author: Jens Axboe <axboe@xxxxxxxxx> >>> Date: 2021-02-13 09:11:04 -0700 >>> >>> io_uring: kill cached requests from exiting task closing the ring >>> >>> Be nice and prune these upfront, in case the ring is being shared and >>> one of the tasks is going away. This is a bit more important now that >>> we account the allocations. >>> >>> Signed-off-by: Jens Axboe <axboe@xxxxxxxxx> >>> >>> >>> causes EAGAIN to be returned by io_uring_enter() after a child >>> exits. The existing liburing test across-fork.c repros the issue after >>> applying the patch below. >>> >>> Retrying the submission twice seems to make it succeed most of the >>> time... >> >> Oh that's funky, I'll take a look. > > It was fixed in > > commit 8e5c66c485a8af3f39a8b0358e9e09f002016d92 > Author: Pavel Begunkov <asml.silence@xxxxxxxxx> > Date: 2021-02-22 11:45:55 +0000 > > io_uring: clear request count when freeing caches Yep, thanks for confirming. Didn't immediate connect them, but I guess any sort of oddity is possible before that fix with the caches. > Jens, seems like it'd make sense to apply the test case upthread into > the liburing repo. Do you want me to open a PR? I think so, it's a good addition. Either a PR or just an emailed patch, whatever you prefer. Well, the previous email had whitespace damage, so maybe a PR is safer :-) -- Jens Axboe