Re: [PATCH 2/2] workqueue: implement lockup detector

2015-12-04 Thread Don Zickus
On Fri, Dec 04, 2015 at 09:02:26AM +0100, Ingo Molnar wrote: > > * Tejun Heo wrote: > > > Hello, Ulrich. > > > > On Thu, Dec 03, 2015 at 03:12:20PM -0500, Ulrich Obergfell wrote: > > > I share Don's concern about connecting the soft lockup detector and the > > > workqueue watchdog to the same

Re: [PATCH 2/2] workqueue: implement lockup detector

2015-12-04 Thread Ulrich Obergfell
Tejun, > Sure, separating the knobs out isn't difficult. I still don't like > the idea of having multiple set of similar knobs controlling about the > same thing tho. > > For example, let's say there's a user who boots with "nosoftlockup" > explicitly. I'm pretty sure the user wouldn't be

Re: [PATCH 2/2] workqueue: implement lockup detector

2015-12-04 Thread Ingo Molnar
* Tejun Heo wrote: > Hello, Ulrich. > > On Thu, Dec 03, 2015 at 03:12:20PM -0500, Ulrich Obergfell wrote: > > I share Don's concern about connecting the soft lockup detector and the > > workqueue watchdog to the same kernel parameter in /proc. I would feel > > more comfortable if the workqueue

Re: [PATCH 2/2] workqueue: implement lockup detector

2015-12-04 Thread Ingo Molnar
* Tejun Heo wrote: > Hello, Ulrich. > > On Thu, Dec 03, 2015 at 03:12:20PM -0500, Ulrich Obergfell wrote: > > I share Don's concern about connecting the soft lockup detector and the > > workqueue watchdog to the same kernel parameter in /proc. I would feel > > more comfortable

Re: [PATCH 2/2] workqueue: implement lockup detector

2015-12-04 Thread Ulrich Obergfell
Tejun, > Sure, separating the knobs out isn't difficult. I still don't like > the idea of having multiple set of similar knobs controlling about the > same thing tho. > > For example, let's say there's a user who boots with "nosoftlockup" > explicitly. I'm pretty sure the user wouldn't be

Re: [PATCH 2/2] workqueue: implement lockup detector

2015-12-04 Thread Don Zickus
On Fri, Dec 04, 2015 at 09:02:26AM +0100, Ingo Molnar wrote: > > * Tejun Heo wrote: > > > Hello, Ulrich. > > > > On Thu, Dec 03, 2015 at 03:12:20PM -0500, Ulrich Obergfell wrote: > > > I share Don's concern about connecting the soft lockup detector and the > > > workqueue

Re: [PATCH 2/2] workqueue: implement lockup detector

2015-12-03 Thread Tejun Heo
Hello, Ulrich. On Thu, Dec 03, 2015 at 03:12:20PM -0500, Ulrich Obergfell wrote: > I share Don's concern about connecting the soft lockup detector and the > workqueue watchdog to the same kernel parameter in /proc. I would feel > more comfortable if the workqueue watchdog had its dedicated

Re: [PATCH 2/2] workqueue: implement lockup detector

2015-12-03 Thread Ulrich Obergfell
uot; , "Andrew Morton" , linux-kernel@vger.kernel.org, kernel-t...@fb.com Sent: Thursday, December 3, 2015 8:43:58 PM Subject: Re: [PATCH 2/2] workqueue: implement lockup detector Hello, Don. On Thu, Dec 03, 2015 at 12:50:24PM -0500, Don Zickus wrote: > This sort of looks like

Re: [PATCH 2/2] workqueue: implement lockup detector

2015-12-03 Thread Tejun Heo
Hello, Don. On Thu, Dec 03, 2015 at 12:50:24PM -0500, Don Zickus wrote: > This sort of looks like the hung task detector.. > > I am a little concerned because we just made a big effort to properly > separate the hardlockup and softlockup paths and yet retain the flexibility > to enable/disable

Re: [PATCH 2/2] workqueue: implement lockup detector

2015-12-03 Thread Don Zickus
On Wed, Dec 02, 2015 at 07:28:39PM -0500, Tejun Heo wrote: > Workqueue stalls can happen from a variety of usage bugs such as > missing WQ_MEM_RECLAIM flag or concurrency managed work item > indefinitely staying RUNNING. These stalls can be extremely difficult > to hunt down because the usual

Re: [PATCH 2/2] workqueue: implement lockup detector

2015-12-03 Thread Tejun Heo
On Wed, Dec 02, 2015 at 07:28:39PM -0500, Tejun Heo wrote: ... > +void touch_workqueue_watchdog(int cpu) > +{ > + /* > + * If not explicitly touched, these stamps are never updated, which > + * means that they may affect stall detection if jiffies wraps; > + * however, it's

Re: [PATCH 2/2] workqueue: implement lockup detector

2015-12-03 Thread Tejun Heo
On Wed, Dec 02, 2015 at 07:28:39PM -0500, Tejun Heo wrote: ... > +void touch_workqueue_watchdog(int cpu) > +{ > + /* > + * If not explicitly touched, these stamps are never updated, which > + * means that they may affect stall detection if jiffies wraps; > + * however, it's

Re: [PATCH 2/2] workqueue: implement lockup detector

2015-12-03 Thread Tejun Heo
Hello, Don. On Thu, Dec 03, 2015 at 12:50:24PM -0500, Don Zickus wrote: > This sort of looks like the hung task detector.. > > I am a little concerned because we just made a big effort to properly > separate the hardlockup and softlockup paths and yet retain the flexibility > to enable/disable

Re: [PATCH 2/2] workqueue: implement lockup detector

2015-12-03 Thread Ulrich Obergfell
; <uober...@redhat.com>, "Ingo Molnar" <mi...@redhat.com>, "Peter Zijlstra" <pet...@infradead.org>, "Andrew Morton" <a...@linux-foundation.org>, linux-kernel@vger.kernel.org, kernel-t...@fb.com Sent: Thursday, December 3, 2015 8:43:58 PM Subject:

Re: [PATCH 2/2] workqueue: implement lockup detector

2015-12-03 Thread Tejun Heo
Hello, Ulrich. On Thu, Dec 03, 2015 at 03:12:20PM -0500, Ulrich Obergfell wrote: > I share Don's concern about connecting the soft lockup detector and the > workqueue watchdog to the same kernel parameter in /proc. I would feel > more comfortable if the workqueue watchdog had its dedicated

Re: [PATCH 2/2] workqueue: implement lockup detector

2015-12-03 Thread Don Zickus
On Wed, Dec 02, 2015 at 07:28:39PM -0500, Tejun Heo wrote: > Workqueue stalls can happen from a variety of usage bugs such as > missing WQ_MEM_RECLAIM flag or concurrency managed work item > indefinitely staying RUNNING. These stalls can be extremely difficult > to hunt down because the usual

[PATCH 2/2] workqueue: implement lockup detector

2015-12-02 Thread Tejun Heo
Workqueue stalls can happen from a variety of usage bugs such as missing WQ_MEM_RECLAIM flag or concurrency managed work item indefinitely staying RUNNING. These stalls can be extremely difficult to hunt down because the usual warning mechanisms can't detect workqueue stalls and the internal

[PATCH 2/2] workqueue: implement lockup detector

2015-12-02 Thread Tejun Heo
Workqueue stalls can happen from a variety of usage bugs such as missing WQ_MEM_RECLAIM flag or concurrency managed work item indefinitely staying RUNNING. These stalls can be extremely difficult to hunt down because the usual warning mechanisms can't detect workqueue stalls and the internal