lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 30 Apr 2015 15:39:23 -0400
From:	Chris Metcalf <cmetcalf@...hip.com>
To:	Frederic Weisbecker <fweisbec@...il.com>,
	Don Zickus <dzickus@...hat.com>,
	Ingo Molnar <mingo@...nel.org>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Andrew Jones <drjones@...hat.com>,
	chai wen <chaiw.fnst@...fujitsu.com>,
	Ulrich Obergfell <uobergfe@...hat.com>,
	Fabian Frederick <fabf@...net.be>,
	Aaron Tomlin <atomlin@...hat.com>,
	Ben Zhang <benzh@...omium.org>,
	"Christoph Lameter" <cl@...ux.com>,
	Gilad Ben-Yossef <gilad@...yossef.com>,
	"Steven Rostedt" <rostedt@...dmis.org>,
	<linux-kernel@...r.kernel.org>, "Jonathan Corbet" <corbet@....net>,
	<linux-doc@...r.kernel.org>, Thomas Gleixner <tglx@...utronix.de>,
	Peter Zijlstra <peterz@...radead.org>
CC:	Chris Metcalf <cmetcalf@...hip.com>
Subject: [PATCH v10 0/3] add watchdog_cpumask to help nohz_full

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-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ