Closed bsbernd closed 1 year ago
I also see
115 ? D 0:00 [kworker/u4:4+events_unbound]
116 ? D 0:00 [kworker/u4:5+events_unbound]
with
squeeze1:~# cat /proc/115/stack
[<0>] io_ring_exit_work+0x1d4/0x6ba
[<0>] process_one_work+0x57e/0xa20
[<0>] worker_thread+0x2a9/0x6f0
[<0>] kthread+0x150/0x180
[<0>] ret_from_fork+0x1f/0x30
So the warning is absolutely right, I just don't know what I need to do to get out of it.
I removed io_uring_cmd_done() on stop - existing IORING_OP_URING_CMD SQE is not getting completed - results in D-state of events_unbound kworkers, with the above stack. So guess it my own code.
I'm not sure if this is the right place to ask or if I should write to a kernel mailing list. I'm working on fuse patches (kernel and userspace) to support uring. I'm testing these patches with xfstests and these tests frequently trigger the trace below. So it waits for a completion event in that code - my initial assumption was that there are some conditions in which my code forgets to send io_uring_cmd_done() on unmount/daemon kill. Refactored the code, added sanity checks and internal fuse.ko WARN_ON() - still happens. I certainly don't exclude a bug in my code, but I'm not sure anymore. Also updated from 6.0 to 6.2-rc8 today - does not make a difference. Also updated to yesterdays liburing git - no difference either.
Any hint or idea?
Thanks a lot in advance, Bernd