[PATCH v10 0/3] add watchdog_cpumask to help nohz_full

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux