On 12/20/21 04:22, Xie Yongji wrote:
The rescuer thread might take over the works queued on the workqueue when the worker thread creation timed out. If this happens, we have no chance to create multiple recv threads which causes I/O hung on this nbd device. To fix it, this tries to create kthreads directly to handle the recv work instead of using workqueue.
Why a kthread instead of only removing the WQ_MEM_RECLAIM flag from the alloc_workqueue() call? This should have been explained in the patch description. Additionally, a Fixes: tag is missing.
Thanks, Bart.