From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751719AbbD2W0t (ORCPT ); Wed, 29 Apr 2015 18:26:49 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:59261 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751586AbbD2W0q (ORCPT ); Wed, 29 Apr 2015 18:26:46 -0400 Date: Wed, 29 Apr 2015 15:26:44 -0700 From: Andrew Morton To: Chris Metcalf Cc: Frederic Weisbecker , Don Zickus , Ingo Molnar , Andrew Jones , chai wen , Ulrich Obergfell , Fabian Frederick , Aaron Tomlin , Ben Zhang , "Christoph Lameter" , Gilad Ben-Yossef , "Steven Rostedt" , , "Jonathan Corbet" , , Thomas Gleixner , Peter Zijlstra Subject: Re: [PATCH v9 2/3] watchdog: add watchdog_cpumask sysctl to assist nohz Message-Id: <20150429152644.5fbe2684f1972a9153d48ec4@linux-foundation.org> In-Reply-To: <1429295838-6328-2-git-send-email-cmetcalf@ezchip.com> References: <20150416152808.GA16270@lerouge> <1429295838-6328-1-git-send-email-cmetcalf@ezchip.com> <1429295838-6328-2-git-send-email-cmetcalf@ezchip.com> X-Mailer: Sylpheed 3.4.1 (GTK+ 2.24.23; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 17 Apr 2015 14:37:17 -0400 Chris Metcalf wrote: > Change the default behavior of watchdog so it only runs on the > housekeeping cores when nohz_full is enabled at build and boot time. > Allow modifying the set of cores the watchdog is currently running > on with a new kernel.watchdog_cpumask sysctl. > > If we allowed the watchdog to run on nohz_full cores, the timer > interrupts and scheduler work would prevent the desired tickless > operation on those cores. But if we disable the watchdog globally, > then the housekeeping cores can't benefit from the watchdog > functionality. So we allow disabling it only on some cores. > See Documentation/lockup-watchdogs.txt for more information. > > ... > > +watchdog_cpumask: > + > +This value can be used to control on which cpus the watchdog may run. > +The default cpumask is all possible cores, but if NO_HZ_FULL is > +enabled in the kernel config, and cores are specified with the > +nohz_full= boot argument, those cores are excluded by default. > +Offline cores can be included in this mask, and if the core is later > +brought online, the watchdog will be started based on the mask value. > + > +Typically this value would only be touched in the nohz_full case > +to re-enable cores that by default were not running the watchdog, > +if a kernel lockup was suspected on those cores. Now the reader is wondering "how the heck do I specify a cpumask". Is it hex encoded? decimal? binary string? Which bit corresponds to which CPU? A little example would help things along.