[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AKkAMQCvDsZ83ICT09iZeKpv.3.1616377652812.Hmail.wangqing@vivo.com>
Date: Mon, 22 Mar 2021 09:47:32 +0800 (GMT+08:00)
From: 王擎 <wangqing@...o.com>
To: Tejun Heo <tj@...nel.org>
Cc: Lai Jiangshan <jiangshanlai@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
"Guilherme G. Piccoli" <gpiccoli@...onical.com>,
Andrey Ignatov <rdna@...com>, Vlastimil Babka <vbabka@...e.cz>,
Petr Mladek <pmladek@...e.com>,
Santosh Sivaraj <santosh@...six.org>,
linux-kernel@...r.kernel.org
Subject: Re:Re: [PATCH V2] workqueue: watchdog: update wq_watchdog_touched for unbound lockup checking
>On Fri, Mar 19, 2021 at 04:00:36PM +0800, Wang Qing wrote:
>> When touch_softlockup_watchdog() is called, only wq_watchdog_touched_cpu
>> updated, while the unbound worker_pool running on its core uses
>> wq_watchdog_touched to determine whether locked up. This may be mischecked.
>
>Can you please elaborate here, preferably with a concrete scenario where the
>new code is better?
The previous code is problematic for judging whether the unbound pool is locked up:
When the expected single cpu stall occurs, only wq_watchdog_touched_cpu is updated,
However, the unbound pool uses wq_watchdog_touched to determine whether it is
locked up, so when the unbound pool is running in a scenario where the cpu stall is
expected, a misjudgment will occur, because wq_watchdog_touched only be update
when all the cpu stall as expect.
So we need to update wq_watchdog_touched in touch_softlockup_watchdog(), and it is
only used for unbound pool, it will not affect the bound pool in any way.
Thanks,
Qing
>
>Thanks.
>
>--
>tejun
Powered by blists - more mailing lists