Re: [PATCH] watchdog: don't run proc_watchdog_update if new value is same as old

From: Josh Hunt
Date: Tue Mar 15 2016 - 00:03:06 EST

On 03/14/2016 11:29 AM, Don Zickus wrote:

Hi Josh,

I believe Uli thought the below patch might fix it.



It looks like I was incorrect when I said 4.5 was getting the soft lockup. I originally found this problem on 4.1.19 and saw both the problem my patch solves and the soft lockups there. I thought when I checked 4.5 that I saw both issues there as well, but going back and checking now that is not the case. I only see the issue my patch resolves on 4.5.

With that info my changelog is incorrect now as it states I saw a soft lockup on the head. I will submit a v2 of my patch with the updated changelog. I'll also cc stable this time as I'd like to see this fix end up there as well.

As for the soft lockups showing up on 4.1, I tried Uli's patch and it did not help. After that I did a git bisect to figure out when the soft lockup was fixed and it appears to be resolved after one of the commits in this series:

commit 81a4beef91ba4a9e8ad6054ca9933dff7e25ff28
Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx>
Date: Fri Sep 4 15:45:15 2015 -0700

watchdog: introduce watchdog_park_threads() and watchdog_unpark_threads()

I didn't identify the exact commit.

It would be nice to resolve the soft lockup for the stable folks since 4.1 and 4.4 are longterm stable releases and would see this problem.

I did not have time to debug it any more outside of this bisection today. If you have something you'd like me to try which may work for the stable kernels I'm happy to test it.

For the record I'm able to reproduce the soft lockup on 4.1 doing:

while :; do echo 1 > /proc/sys/kernel/nmi_watchdog; sleep .1; done & sleep 30 && kill %1 && sleep 5