On Fri, Oct 20, 2023 at 05:35:58PM +0800, Longfang Liu wrote: > In the scenario where the accelerator business is fully loaded. > When the workqueue receiving messages and performing callback > processing, there are a large number of messages that need to be > received, and there are continuously messages that have been > processed and need to be received. > This will cause the receive loop here to be locked for a long time. > This scenario will cause watchdog timeout problems on OS with kernel > preemption turned off. > > The error logs: > watchdog: BUG: soft lockup - CPU#23 stuck for 23s! [kworker/u262:1:1407] > [ 1461.978428][ C23] Call trace: > [ 1461.981890][ C23] complete+0x8c/0xf0 > [ 1461.986031][ C23] kcryptd_async_done+0x154/0x1f4 [dm_crypt] > [ 1461.992154][ C23] sec_skcipher_callback+0x7c/0xf4 [hisi_sec2] > [ 1461.998446][ C23] sec_req_cb+0x104/0x1f4 [hisi_sec2] > [ 1462.003950][ C23] qm_poll_req_cb+0xcc/0x150 [hisi_qm] > [ 1462.009531][ C23] qm_work_process+0x60/0xc0 [hisi_qm] > [ 1462.015101][ C23] process_one_work+0x1c4/0x470 > [ 1462.020052][ C23] worker_thread+0x150/0x3c4 > [ 1462.024735][ C23] kthread+0x108/0x13c > [ 1462.028889][ C23] ret_from_fork+0x10/0x18 > > Therefore, it is necessary to add an actively scheduled operation in the > while loop to prevent this problem. > After adding it, no matter whether the OS turns on or off the kernel > preemption function. Neither will cause watchdog timeout issues. > > Signed-off-by: Longfang Liu <liulongfang@xxxxxxxxxx> > --- > drivers/crypto/hisilicon/qm.c | 2 ++ > 1 file changed, 2 insertions(+) Patch applied. Thanks. -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt