Re: [PATCH] crypto: hisilicon/qm - prevent soft lockup in receive loop

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]
  Powered by Linux