Subject: Re: [PATCH] notifier: Fix soft lockup for notifier_call_chain().

From: Ding Tianhong <[email-masked]>
Date: Tue, 28 Jun 2016 11:30:58 +0800

On 2016/6/28 3:50, Cong Wang wrote:
> On Fri, Jun 24, 2016 at 7:46 PM, Ding Tianhong <[email-masked]> wrote:
>> diff --git a/kernel/notifier.c b/kernel/notifier.c
>> index fd2c9ac..9c30411 100644
>> --- a/kernel/notifier.c
>> +++ b/kernel/notifier.c
>> @@ -92,6 +92,8 @@ static int notifier_call_chain(struct notifier_block **nl,
>>  #endif
>>                 ret = nb->notifier_call(nb, val, v);
>>
>> +               cond_resched();
>> +
>>                 if (nr_calls)
>>                         (*nr_calls)++;
> 
> NAK.
> 
> You can't do a resched in atomic context in __atomic_notifier_call_chain().
> 
> 
Sorry, I miss this, so I think add touch_nmi_watchdog looks like the best solution for this problem.

Thanks
Ding