This patch series allows the watchdog to run by default only on the housekeeping cores when nohz_full is in effect; this seems to be a good compromise short of turning it off completely (since the nohz_full cores can't tolerate a watchdog). To provide customizability, we add /proc/sys/kernel/watchdog_cpumask so that the set of cores running the watchdog can be tuned to different values after bootup. To implement this customizability, we add a new smpboot_update_cpumask_percpu_thread() API to the smpboot_thread subsystem that lets us park or unpark "unwanted" threads. And now that threads can be parked for long periods of time, we tweak the /proc/<pid>/stat and /proc/<pid>/status code so parked threads aren't reported as running, which is otherwise confusing. v10: improved documentation and comments [akpm] made watchdog_cpumask a static struct cpumask [Don, Uli] print warning if update_cpumask fails for watchdog [Don] v9: move cpumask into smpboot_hotplug_thread and don't let the client initialize it either [Frederic] use alloc_cpumask_var, not a locked static cpumask [Frederic] add and use for_each_watchdog_cpu() [Uli] check alloc_cpumask_var for failure [Chai Wen] v8: make cpumask only updated by smpboot subsystem [Frederic] improve documentation in "Documentation/" and in changelog [akpm] v7: change from valid_cpu() callback to optional cpumask field park smpboot threads rather than just not creating them v6: use alloc_cpumask_var() [Sasha Levin] change from an "exclude" data pointer to a more generic valid_cpu() callback [Frederic] add Don's Acked-by v5: switch from watchdog_exclude to watchdog_cpumask [Frederic] simplify the smp_hotplug_thread API to watchdog [Frederic] Chris Metcalf (3): smpboot: allow excluding cpus from the smpboot threads watchdog: add watchdog_cpumask sysctl to assist nohz procfs: treat parked tasks as sleeping for task state Documentation/lockup-watchdogs.txt | 18 +++++++++++ Documentation/sysctl/kernel.txt | 21 +++++++++++++ fs/proc/array.c | 8 +++++ include/linux/nmi.h | 3 ++ include/linux/smpboot.h | 5 +++ kernel/smpboot.c | 55 +++++++++++++++++++++++++++++++- kernel/sysctl.c | 7 +++++ kernel/watchdog.c | 64 +++++++++++++++++++++++++++++++++++--- 8 files changed, 175 insertions(+), 6 deletions(-) -- 2.1.2 -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html