On 11/27/2017 12:54 PM, Yang Shi wrote:
Hi Waiman,
The second patch of this series.
Thanks,
Yang
On 11/17/17 11:43 AM, Yang Shi wrote:
There are nested loops on debug objects free path, sometimes it may take
over hundred thousands of loops, then cause soft lockup with
!CONFIG_PREEMPT
occasionally, like below:
...
The code path might be called in either atomic or non-atomic context,
so touching softlockup watchdog instead of calling cond_resched() which
might fall asleep. However, it is unnecessary to touch the watchdog
every loop, so just touch the watchdog at every 10000 (best estimate)
loops.
Signed-off-by: Yang Shi <yang.s@xxxxxxxxxxxxxxx>
I do have some concern about suppressing the soft lockup warning
entirely. If the system feels unresponsive for a certain period of time
(e.g. 22s), most users would like to know what is going on. It can be a
custom message with less scary warning. Alternatively, some opt-out
mechanism can be added to explicitly disable soft lookup warning forIf we really want to some opt-out, we should be able to add a proc knob to disable soft lockup as the patch does, but not default. If this is too overkilling, we may just add some comment in the Kconfig help text to tell users the side effect.
debugobjs is OK as long as it is not the default.
Cheers,
Longman