On Sat, Mar 16, 2024 at 10:04 AM Ming Lei <ming.lei@xxxxxxxxxx> wrote: > > On Fri, Mar 15, 2024 at 04:53:21PM -0600, Jens Axboe wrote: > > > > On Fri, 15 Mar 2024 15:29:50 +0000, Pavel Begunkov wrote: > > > Patch 1 is a fix. > > > > > > Patches 2-7 are cleanups mainly dealing with issue_flags conversions, > > > misundertsandings of the flags and of the tw state. It'd be great to have > > > even without even w/o the rest. > > > > > > 8-11 mandate ctx locking for task_work and finally removes the CQE > > > caches, instead we post directly into the CQ. Note that the cache is > > > used by multishot auxiliary completions. > > > > > > [...] > > > > Applied, thanks! > > Hi Jens and Pavel, > > Looks this patch causes hang when running './check ublk/002' in blktests. Not take close look, and I guess it hangs in io_uring_cmd_del_cancelable() -> io_ring_submit_lock [root@ktest-36 ~]# cat /proc/1420/stack [<0>] io_uring_cmd_done+0x161/0x1c0 [<0>] ublk_stop_dev+0x10e/0x1b0 [ublk_drv] [<0>] ublk_ctrl_uring_cmd+0xbc9/0x11e0 [ublk_drv] [<0>] io_uring_cmd+0x9e/0x130 [<0>] io_issue_sqe+0x2d3/0x730 [<0>] io_wq_submit_work+0xd2/0x350 [<0>] io_worker_handle_work+0x12a/0x4b0 [<0>] io_wq_worker+0x101/0x390 [<0>] ret_from_fork+0x31/0x50 [<0>] ret_from_fork_asm+0x1a/0x30 (gdb) l *(io_uring_cmd_done+0x161) 0xffffffff817ed241 is in io_uring_cmd_done (./include/linux/list.h:985). 980 return !READ_ONCE(h->first); 981 } 982 983 static inline void __hlist_del(struct hlist_node *n) 984 { 985 struct hlist_node *next = n->next; 986 struct hlist_node **pprev = n->pprev; 987 988 WRITE_ONCE(*pprev, next); 989 if (next) Thanks,