Chris Metcalf
b5242e98c1
smpboot: allow excluding cpus from the smpboot threads
...
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.
This patch (of 3):
This change allows some cores to be excluded from running the
smp_hotplug_thread tasks. The following commit to update
kernel/watchdog.c to use this functionality is the motivating example, and
more information on the motivation is provided there.
A new smp_hotplug_thread field is introduced, "cpumask", which is cpumask
field managed by the smpboot subsystem that indicates whether or not the
given smp_hotplug_thread should run on that core; the cpumask is checked
when deciding whether to unpark the thread.
To limit the cpumask to less than cpu_possible, you must call
smpboot_update_cpumask_percpu_thread() after registering.
Signed-off-by: Chris Metcalf <cmetcalf@ezchip.com >
Cc: Don Zickus <dzickus@redhat.com >
Cc: Ingo Molnar <mingo@kernel.org >
Cc: Ulrich Obergfell <uobergfe@redhat.com >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2015-06-24 17:49:40 -07:00
..
2015-04-22 18:33:48 +03:00
2015-04-22 09:24:55 -07:00
2015-04-22 18:33:43 +03:00
2015-04-24 09:49:37 -07:00
2015-06-01 15:10:09 +02:00
2015-06-22 12:25:04 +01:00
2015-05-09 14:59:05 -07:00
2015-06-23 17:31:27 -07:00
2015-06-12 14:49:10 -04:00
2015-06-02 09:33:13 -04:00
2015-06-18 09:20:48 +02:00
2015-05-27 12:42:16 -07:00
2015-03-31 13:58:35 -04:00
2015-04-04 13:26:52 -04:00
2015-06-23 14:08:54 -07:00
2015-04-04 12:47:04 -04:00
2015-04-04 12:52:06 -04:00
2015-06-23 16:23:30 -07:00
2015-05-23 22:43:28 +02:00
2015-04-22 08:00:41 +10:00
2015-06-22 11:19:56 +01:00
2015-06-19 15:18:28 +02:00
2015-04-15 09:00:47 -07:00
2015-04-23 15:16:37 -04:00
2015-04-07 11:17:34 +02:00
2015-04-15 16:35:22 -07:00
2015-06-23 14:18:07 -07:00
2015-04-22 17:06:52 +02:00
2015-04-22 08:00:42 +10:00
2015-05-28 10:12:42 -06:00
2015-05-11 11:49:02 +02:00
2015-04-01 17:22:00 +02:00
2015-04-17 09:03:56 -04:00
2015-04-17 09:03:53 -04:00
2015-05-04 13:09:55 -06:00
2015-04-17 08:31:12 -06:00
2015-05-12 17:21:22 -04:00
2015-05-19 08:39:11 +02:00
2015-04-02 13:25:49 +02:00
2015-05-25 00:16:07 -04:00
2015-04-15 16:35:22 -07:00
2015-04-14 16:49:03 -07:00
2015-04-10 17:45:30 -07:00
2015-05-06 11:58:51 +01:00
2015-05-06 11:58:57 +01:00
2015-06-02 16:56:42 +02:00
2015-05-19 16:12:32 +02:00
2015-04-14 16:49:04 -07:00
2015-04-15 16:35:17 -07:00
2015-05-04 17:49:51 +08:00
2015-05-04 17:49:51 +08:00
2015-06-22 14:54:22 -07:00
2015-06-24 17:49:39 -07:00
2015-05-07 12:02:50 +02:00
2015-05-07 12:02:51 +02:00
2015-04-13 10:19:30 +02:00
2015-05-23 00:49:04 +02:00
2015-06-19 01:18:02 +02:00
2015-05-28 11:05:20 +09:30
2015-05-26 15:26:43 +02:00
2015-04-15 16:35:22 -07:00
2015-06-22 15:49:30 +08:00
2015-04-15 15:05:28 -04:00
2015-05-10 22:18:24 -04:00
2015-03-31 12:03:49 -04:00
2015-04-14 20:21:54 -07:00
2015-04-21 14:47:16 +05:30
2015-04-17 23:18:53 +05:30
2015-06-12 11:33:52 +02:00
2015-06-08 10:51:31 +01:00
2015-04-14 16:49:05 -07:00
2015-04-10 15:08:57 -07:00
2015-04-09 11:39:55 -05:00
2015-05-15 01:10:37 -04:00
2015-06-24 17:49:38 -07:00
2015-05-06 23:03:23 -04:00
2015-04-03 23:23:51 +02:00
2015-05-14 17:55:51 -07:00
2015-05-12 10:46:53 +02:00
2015-05-19 08:39:11 +02:00
2015-05-12 14:13:20 +02:00
2015-06-01 14:33:35 +02:00
2015-05-19 08:39:14 +02:00
2015-04-02 18:46:20 +02:00
2015-06-19 15:18:28 +02:00
2015-04-24 15:36:50 +02:00
2015-04-15 16:35:19 -07:00
2015-04-03 16:18:02 +02:00
2015-04-14 20:21:54 -07:00
2015-04-10 21:57:22 -07:00
2015-05-08 12:17:46 +02:00
2015-06-23 18:27:19 -07:00
2015-04-22 17:06:52 +02:00
2015-05-19 08:39:14 +02:00
2015-06-03 12:02:00 +02:00
2015-04-18 12:32:59 -07:00
2015-06-11 09:01:55 +02:00
2015-04-15 16:35:22 -07:00
2015-06-20 19:14:31 +02:00
2015-06-16 10:10:16 +02:00
2015-05-18 17:32:43 +02:00
2015-04-03 12:52:29 -04:00
2015-06-10 11:31:14 +02:00
2015-04-09 09:40:24 +02:00
2015-04-15 16:35:20 -07:00
2015-04-21 09:44:55 -03:00
2015-05-19 08:39:14 +02:00
2015-04-23 16:52:01 +02:00
2015-04-15 16:35:17 -07:00
2015-05-13 10:19:35 +02:00
2015-06-05 17:26:35 +02:00
2015-05-26 12:40:17 +02:00
2015-06-19 10:03:12 +02:00
2015-06-23 15:55:44 -07:00
2015-05-19 23:58:43 +02:00
2015-06-19 09:48:03 +02:00
2015-05-28 12:21:08 +02:00
2015-04-14 16:49:06 -07:00
2015-05-14 17:55:51 -07:00
2015-04-14 16:49:00 -07:00
2015-04-15 16:35:18 -07:00
2015-04-14 16:49:05 -07:00
2015-04-17 09:04:07 -04:00
2015-04-22 09:44:36 -07:00
2015-04-15 16:35:16 -07:00
2015-04-23 14:18:07 +08:00
2015-04-18 11:20:31 -04:00
2015-06-16 14:35:06 +08:00
2015-05-15 01:10:45 -04:00
2015-04-11 15:27:37 -04:00
2015-05-12 23:22:03 -04:00
2015-04-24 20:51:40 +02:00
2015-04-07 15:25:55 -04:00
2015-04-13 16:35:16 -04:00
2015-04-21 16:16:04 -04:00
2015-04-26 17:33:59 -07:00
2015-04-23 14:36:28 -04:00
2015-05-05 17:10:11 -07:00
2015-04-14 16:48:59 -07:00
2015-04-07 19:11:06 -06:00
2015-06-02 16:31:25 +01:00
2015-04-14 19:23:24 -05:00
2015-05-26 19:55:56 -07:00
2015-04-14 16:49:05 -07:00
2015-05-08 12:27:59 +02:00
2015-04-15 16:35:19 -07:00
2015-06-15 10:36:43 +02:00
2015-04-08 16:25:25 -05:00
2015-04-09 14:20:11 -05:00
2015-06-12 15:26:45 -05:00
2015-05-29 07:39:34 +10:00
2015-06-22 18:57:44 -07:00
2015-04-12 21:03:31 +02:00
2015-04-03 15:08:20 -04:00
2015-05-12 23:55:37 +02:00
2015-05-30 02:17:15 +02:00
2015-05-20 01:56:31 +02:00
2015-06-19 01:18:14 +02:00
2015-06-10 16:15:54 +02:00
2015-06-07 15:57:43 +02:00
2015-04-15 16:35:23 -07:00
2015-06-15 14:40:49 +02:00
2015-03-31 12:01:19 -04:00
2015-06-12 11:36:30 +02:00
2015-06-05 11:40:45 +01:00
2015-06-10 19:14:04 +08:00
2015-05-27 12:58:04 -07:00
2015-06-22 18:57:44 -07:00
2015-05-27 12:59:31 -07:00
2015-06-22 18:57:44 -07:00
2015-04-15 16:35:23 -07:00
2015-05-22 12:19:21 +01:00
2015-05-16 18:08:26 -04:00
2015-05-26 15:23:23 +02:00
2015-04-15 16:35:19 -07:00
2015-04-03 08:18:24 +02:00
2015-04-29 14:59:16 -04:00
2015-06-03 10:51:27 +08:00
2015-06-22 19:20:04 -07:00
2015-05-11 08:13:11 -04:00
2015-06-19 00:09:56 +02:00
2015-04-10 14:39:53 +02:00
2015-05-20 13:51:25 +02:00
2015-04-14 16:48:59 -07:00
2015-04-20 09:08:49 -07:00
2015-06-24 17:49:40 -07:00
2015-04-11 15:53:35 -04:00
2015-05-27 12:57:27 -07:00
2015-04-14 09:50:27 -07:00
2015-04-16 13:58:42 -04:00
2015-04-16 19:02:04 -04:00
2015-05-11 15:06:43 +08:00
2015-04-15 16:35:17 -07:00
2015-04-17 09:04:07 -04:00
2015-05-22 13:46:06 -04:00
2015-06-23 14:18:07 -07:00
2015-06-12 11:15:49 +02:00
2015-06-12 11:15:49 +02:00
2015-05-22 10:36:29 -07:00
2015-06-19 15:18:28 +02:00
2015-04-22 17:06:49 +02:00
2015-05-27 15:22:15 +02:00
2015-04-08 09:39:56 -04:00
2015-05-10 19:26:37 +02:00
2015-05-29 17:21:45 -05:00
2015-05-19 08:39:18 +02:00
2015-05-14 17:55:51 -07:00
2015-04-11 22:29:44 -04:00
2015-04-28 12:48:57 +02:00
2015-04-07 12:58:35 -05:00
2015-05-05 17:10:11 -07:00
2015-04-14 18:06:47 -07:00
2015-04-07 11:14:38 -06:00
2015-04-01 14:37:14 +10:30
2015-04-13 21:04:16 +09:30
2015-04-15 12:41:14 +09:30
2015-05-08 12:05:41 +02:00
2015-04-02 17:33:15 +02:00
2015-04-15 16:35:20 -07:00