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

From: Ingo Molnar
Date: Fri Dec 04 2015 - 03:02:35 EST



* Tejun Heo <tj@xxxxxxxxxx> 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 watchdog had its dedicated parameter.
>
> 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 intending to keep
> workqueue watchdog running. The same goes for threshold adjustments,
> so here's my question. What are the reasons for the concern? What
> are we worrying about?

As Don mentioned it already, we went through similar arguments (and pain) with the
hard/soft lockup detectors and its various control knobs, it would be better to
have new control knobs separated.

As for the ease of use argument, we can add a new, obviously named control knob
that controls _all_ lockup detectors:

boot param: nolockupdetectors
matching Kconfig knob: CONFIG_BOOTPARAM_NO_LOCKUP_DETECTORS=0

but please don't artificially couple the control knobs of these various lockup
detectors, as these internal assumptions are less than obvious to users. With
(effectively) 4 lockup detectors such coupling of interfaces is even more
confusing and damaging.

but ease of use is not a big concern in any case, since new debug features are
disabled by default, so only those people will see it (and may want to disable it
via a boot parameter, hopefully only temporarily) who enable it intentionally.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/