Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1688580 > unrolled thread
| Started by | "Liang, Kan" <kan.liang@intel.com> |
|---|---|
| First post | 2017-07-17 03:30 +0200 |
| Last post | 2017-07-17 16:50 +0200 |
| Articles | 7 — 3 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
RE: [PATCH V2] kernel/watchdog: fix spurious hard lockups "Liang, Kan" <kan.liang@intel.com> - 2017-07-17 03:30 +0200
RE: [PATCH V2] kernel/watchdog: fix spurious hard lockups Thomas Gleixner <tglx@linutronix.de> - 2017-07-17 09:20 +0200
RE: [PATCH V2] kernel/watchdog: fix spurious hard lockups "Liang, Kan" <kan.liang@intel.com> - 2017-07-17 14:20 +0200
RE: [PATCH V2] kernel/watchdog: fix spurious hard lockups Thomas Gleixner <tglx@linutronix.de> - 2017-07-17 15:20 +0200
RE: [PATCH V2] kernel/watchdog: fix spurious hard lockups "Liang, Kan" <kan.liang@intel.com> - 2017-07-17 16:50 +0200
RE: [PATCH V2] kernel/watchdog: fix spurious hard lockups Thomas Gleixner <tglx@linutronix.de> - 2017-07-17 17:10 +0200
Re: [PATCH V2] kernel/watchdog: fix spurious hard lockups Don Zickus <dzickus@redhat.com> - 2017-07-17 16:50 +0200
| From | "Liang, Kan" <kan.liang@intel.com> |
|---|---|
| Date | 2017-07-17 03:30 +0200 |
| Subject | RE: [PATCH V2] kernel/watchdog: fix spurious hard lockups |
| Message-ID | <u431g-6LV-13@gated-at.bofh.it> |
> On Mon, Jun 26, 2017 at 04:19:27PM -0400, Don Zickus wrote: > > On Fri, Jun 23, 2017 at 11:50:25PM +0200, Thomas Gleixner wrote: > > > On Fri, 23 Jun 2017, Don Zickus wrote: > > > > Hmm, all this work for a temp fix. Kan, how much longer until the > > > > real fix of having perf count the right cycles? > > > > > > Quite a while. The approach is wilfully breaking the user space ABI, > > > which is not going to happen. > > > > > > And there is a simpler solution as well, as I said here: > > > > > > > > > http://lkml.kernel.org/r/alpine.DEB.2.20.1706221730520.1885@nanos > > > > Hi Thomas, > > > > So, you are saying instead of slowing down the perf counter, speed up > > the hrtimer to sample more frequently like so: > > > > diff --git a/kernel/watchdog.c b/kernel/watchdog.c index > > 03e0b69..8ff49de 100644 > > --- a/kernel/watchdog.c > > +++ b/kernel/watchdog.c > > @@ -160,7 +160,7 @@ static void set_sample_period(void) > > * and hard thresholds) to increment before the > > * hardlockup detector generates a warning > > */ > > - sample_period = get_softlockup_thresh() * ((u64)NSEC_PER_SEC / 5); > > + sample_period = get_softlockup_thresh() * ((u64)NSEC_PER_SEC / > 10); > > } > > Hi Kan, > > Will the above patch work for you? Hi Don & Thomas, Sorry for the late response. We just finished the tests for all proposed patches. There are three proposed patches so far. Patch 1: The patch as above which speed up the hrtimer. Patch 2: Thomas's first proposal. https://patchwork.kernel.org/patch/9803033/ https://patchwork.kernel.org/patch/9805903/ Patch 3: my original proposal which increase the NMI watchdog timeout by 3X https://patchwork.kernel.org/patch/9802053/ According to our test, only patch 3 works well. The other two patches will hang the system eventually. For patch 1, the system hang after running our test case for ~1 hour. For patch 2, the system hang in running the overnight test. There is no error message shown when the system hang. So I don't know the root cause yet. BTW: We set 1 to watchdog_thresh when we did the test. It's believed that can speed up the failure. Thanks, Kan
[toc] | [next] | [standalone]
| From | Thomas Gleixner <tglx@linutronix.de> |
|---|---|
| Date | 2017-07-17 09:20 +0200 |
| Message-ID | <u48tY-1Uf-5@gated-at.bofh.it> |
| In reply to | #1688580 |
On Mon, 17 Jul 2017, Liang, Kan wrote: > There are three proposed patches so far. > Patch 1: The patch as above which speed up the hrtimer. > Patch 2: Thomas's first proposal. > https://patchwork.kernel.org/patch/9803033/ > https://patchwork.kernel.org/patch/9805903/ > Patch 3: my original proposal which increase the NMI watchdog timeout by 3X > https://patchwork.kernel.org/patch/9802053/ > > According to our test, only patch 3 works well. > The other two patches will hang the system eventually. > For patch 1, the system hang after running our test case for ~1 hour. > For patch 2, the system hang in running the overnight test. > There is no error message shown when the system hang. So I don't know the > root cause yet. That doesn't make sense. What's the exact test procedure? > BTW: We set 1 to watchdog_thresh when we did the test. > It's believed that can speed up the failure. Believe is not really a technical measure.... Thanks, tglx
[toc] | [prev] | [next] | [standalone]
| From | "Liang, Kan" <kan.liang@intel.com> |
|---|---|
| Date | 2017-07-17 14:20 +0200 |
| Message-ID | <u4dai-4Tx-19@gated-at.bofh.it> |
| In reply to | #1688712 |
> > On Mon, 17 Jul 2017, Liang, Kan wrote: > > There are three proposed patches so far. > > Patch 1: The patch as above which speed up the hrtimer. > > Patch 2: Thomas's first proposal. > > https://patchwork.kernel.org/patch/9803033/ > > https://patchwork.kernel.org/patch/9805903/ > > Patch 3: my original proposal which increase the NMI watchdog timeout > > by 3X https://patchwork.kernel.org/patch/9802053/ > > > > According to our test, only patch 3 works well. > > The other two patches will hang the system eventually. > > For patch 1, the system hang after running our test case for ~1 hour. > > For patch 2, the system hang in running the overnight test. > > There is no error message shown when the system hang. So I don't know > > the root cause yet. > > That doesn't make sense. What's the exact test procedure? I don't know the exact test procedure. The test case is from our customer. I only know that the test case makes calls into the x11 libs. > > > BTW: We set 1 to watchdog_thresh when we did the test. > > It's believed that can speed up the failure. > > Believe is not really a technical measure.... > 1 is a valid value for watchdog_thresh. It was set through the standard proc interface. /proc/sys/kernel/watchdog_thresh It should not impacts the final test result. Thanks, Kan
[toc] | [prev] | [next] | [standalone]
| From | Thomas Gleixner <tglx@linutronix.de> |
|---|---|
| Date | 2017-07-17 15:20 +0200 |
| Message-ID | <u4e6l-5An-1@gated-at.bofh.it> |
| In reply to | #1688978 |
On Mon, 17 Jul 2017, Liang, Kan wrote: > > That doesn't make sense. What's the exact test procedure? > > I don't know the exact test procedure. The test case is from our customer. > I only know that the test case makes calls into the x11 libs. Sigh. This starts to be silly. You test something and have no idea what it does? > > > According to our test, only patch 3 works well. > > > The other two patches will hang the system eventually. Hang the system eventually? Does that mean that the system stops working and the watchdog does not catch the problem? > > > BTW: We set 1 to watchdog_thresh when we did the test. > > > It's believed that can speed up the failure. > > > > Believe is not really a technical measure.... > > > > 1 is a valid value for watchdog_thresh. > It was set through the standard proc interface. > /proc/sys/kernel/watchdog_thresh > It should not impacts the final test result. I know that 1 is a valid value and I know how that can be set. Still, it does not help if you believe that setting the threshold to 1 can speed up the failure. Either you know it for sure or not. You can believe in god or whatever, but here we talk about facts. Please start coming up with facts and proper explanations. Thanks, tglx
[toc] | [prev] | [next] | [standalone]
| From | "Liang, Kan" <kan.liang@intel.com> |
|---|---|
| Date | 2017-07-17 16:50 +0200 |
| Message-ID | <u4fvt-6kS-19@gated-at.bofh.it> |
| In reply to | #1689024 |
> On Mon, 17 Jul 2017, Liang, Kan wrote: > > > That doesn't make sense. What's the exact test procedure? > > > > I don't know the exact test procedure. The test case is from our customer. > > I only know that the test case makes calls into the x11 libs. > > Sigh. This starts to be silly. You test something and have no idea what it does? As I said, the test case is from our customer. They only share binaries with us. Actually, it's more proper to call it test suite. It includes dozens of small test. I just reproduced the issue and verified all the three patches in our lab. Then I report it here as request immediately. So I know little about the test case for now. I will share more when I learn more. Sorry for that. > > > > > According to our test, only patch 3 works well. > > > > The other two patches will hang the system eventually. > > Hang the system eventually? Does that mean that the system stops working > and the watchdog does not catch the problem? Right, the system stops working and the watchdog does not catch the problem. > > > > > BTW: We set 1 to watchdog_thresh when we did the test. > > > > It's believed that can speed up the failure. > > > > > > Believe is not really a technical measure.... > > > > > > > 1 is a valid value for watchdog_thresh. > > It was set through the standard proc interface. > > /proc/sys/kernel/watchdog_thresh > > It should not impacts the final test result. > > I know that 1 is a valid value and I know how that can be set. Still, it does not > help if you believe that setting the threshold to 1 can speed up the failure. > Either you know it for sure or not. You can believe in god or whatever, but > here we talk about facts. I personally didn't compare the difference between 1 and default 10 for this test case. Before we had the test case from customer, we developed other micro which can reproduce the similar issue. For that micro, 1 can speed up the failure. (BTW: all the three patches can fix the issue which was reproduced by that micro.) If you think it's meaningful to verify 10 as well, I can do the compare. Thanks, Kan
[toc] | [prev] | [next] | [standalone]
| From | Thomas Gleixner <tglx@linutronix.de> |
|---|---|
| Date | 2017-07-17 17:10 +0200 |
| Message-ID | <u4fON-6GU-11@gated-at.bofh.it> |
| In reply to | #1689136 |
On Mon, 17 Jul 2017, Liang, Kan wrote: > > > > > According to our test, only patch 3 works well. > > > > > The other two patches will hang the system eventually. > > > > Hang the system eventually? Does that mean that the system stops working > > and the watchdog does not catch the problem? > > Right, the system stops working and the watchdog does not catch the problem. What exactly means: "stops working" ? Just that you observe that the system does not make progress or is not reacting to key strokes or what? And what is the lockup, which is detected in the other case? Which code path causes the lockup? > I personally didn't compare the difference between 1 and default 10 for this > test case. > Before we had the test case from customer, we developed other micro > which can reproduce the similar issue. > For that micro, 1 can speed up the failure. > (BTW: all the three patches can fix the issue which was reproduced by that micro.) > > If you think it's meaningful to verify 10 as well, I can do the compare. It might be worth a try, but unless we can either get hands on the test scenario or at least have a proper explanation of what it is doing including the expected outcome, i.e. what is the 'system is locked up' failure which should be detected by the watchdog, I can't tell anything. Thanks, tglx
[toc] | [prev] | [next] | [standalone]
| From | Don Zickus <dzickus@redhat.com> |
|---|---|
| Date | 2017-07-17 16:50 +0200 |
| Message-ID | <u4fvt-6kS-21@gated-at.bofh.it> |
| In reply to | #1688580 |
On Mon, Jul 17, 2017 at 01:24:23AM +0000, Liang, Kan wrote: > Hi Don & Thomas, > > Sorry for the late response. We just finished the tests for all proposed patches. > > There are three proposed patches so far. > Patch 1: The patch as above which speed up the hrtimer. > Patch 2: Thomas's first proposal. > https://patchwork.kernel.org/patch/9803033/ > https://patchwork.kernel.org/patch/9805903/ > Patch 3: my original proposal which increase the NMI watchdog timeout by 3X > https://patchwork.kernel.org/patch/9802053/ > > According to our test, only patch 3 works well. > The other two patches will hang the system eventually. > For patch 1, the system hang after running our test case for ~1 hour. > For patch 2, the system hang in running the overnight test. > There is no error message shown when the system hang. So I don't know the > root cause yet. Hi Kan, Thanks for the feedback. Odd that the different patches had different results. What is more odd to me is the hang. I thought these were all false lockups that prematurely panic'd and rebooted the box. Is the machine configured to panic on hardlockup and reboot? Perhaps kdump is enabled to store the console log for review upon reboot? It almost implies that a hardlockup did happen but isnt' being detected until later?? > > BTW: We set 1 to watchdog_thresh when we did the test. > It's believed that can speed up the failure. Sure, you/they look for 1 second hangs instead of 10 second ones. But with patch3 it is more like 3 seconds'ish vs 30 second'ish. As Thomas asked, I would also be interested in the way the test works. The hang doesn't make sense. Cheers, Don
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web