diff options
author | Frederic Weisbecker <fweisbec@gmail.com> | 2015-09-04 18:45:06 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-09-04 19:54:41 -0400 |
commit | 230ec93909f00678401cb2d63b8b95f1dea68e40 (patch) | |
tree | 1eb01a44e0d66d76306f598d595a4bdaccd21b64 /kernel/watchdog.c | |
parent | 3dd08c0c918f9bf058572ddbf26e7d6fb5674a5c (diff) |
smpboot: allow passing the cpumask on per-cpu thread registration
It makes the registration cheaper and simpler for the smpboot per-cpu
kthread users that don't need to always update the cpumask after threads
creation.
[sfr@canb.auug.org.au: fix for allow passing the cpumask on per-cpu thread registration]
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Reviewed-by: Chris Metcalf <cmetcalf@ezchip.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Chris Metcalf <cmetcalf@ezchip.com>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ulrich Obergfell <uobergfe@redhat.com>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/watchdog.c')
-rw-r--r-- | kernel/watchdog.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/kernel/watchdog.c b/kernel/watchdog.c index a6ffa43f2993..e5bb86fb0ea5 100644 --- a/kernel/watchdog.c +++ b/kernel/watchdog.c | |||
@@ -713,15 +713,12 @@ static int watchdog_enable_all_cpus(void) | |||
713 | int err = 0; | 713 | int err = 0; |
714 | 714 | ||
715 | if (!watchdog_running) { | 715 | if (!watchdog_running) { |
716 | err = smpboot_register_percpu_thread(&watchdog_threads); | 716 | err = smpboot_register_percpu_thread_cpumask(&watchdog_threads, |
717 | &watchdog_cpumask); | ||
717 | if (err) | 718 | if (err) |
718 | pr_err("Failed to create watchdog threads, disabled\n"); | 719 | pr_err("Failed to create watchdog threads, disabled\n"); |
719 | else { | 720 | else |
720 | if (smpboot_update_cpumask_percpu_thread( | ||
721 | &watchdog_threads, &watchdog_cpumask)) | ||
722 | pr_err("Failed to set cpumask for watchdog threads\n"); | ||
723 | watchdog_running = 1; | 721 | watchdog_running = 1; |
724 | } | ||
725 | } else { | 722 | } else { |
726 | /* | 723 | /* |
727 | * Enable/disable the lockup detectors or | 724 | * Enable/disable the lockup detectors or |