From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756801AbbDJUyN (ORCPT ); Fri, 10 Apr 2015 16:54:13 -0400 Received: from mail-db3on0064.outbound.protection.outlook.com ([157.55.234.64]:34720 "EHLO emea01-db3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756470AbbDJUyK (ORCPT ); Fri, 10 Apr 2015 16:54:10 -0400 Authentication-Results: spf=fail (sender IP is 12.216.194.146) smtp.mailfrom=ezchip.com; ezchip.com; dkim=none (message not signed) header.d=none; From: Chris Metcalf To: "Peter Zijlstra (Intel)" , Frederic Weisbecker , "Paul E. McKenney" , "Rafael J. Wysocki" , Martin Schwidefsky , Ingo Molnar , CC: Chris Metcalf Subject: [PATCH v7 2/2] nohz: set isolcpus when nohz_full is set Date: Fri, 10 Apr 2015 16:53:52 -0400 Message-ID: <1428699232-7940-2-git-send-email-cmetcalf@ezchip.com> X-Mailer: git-send-email 2.1.2 In-Reply-To: <1428699232-7940-1-git-send-email-cmetcalf@ezchip.com> References: <1428699232-7940-1-git-send-email-cmetcalf@ezchip.com> X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:12.216.194.146;CTRY:US;IPV:NLI;EFV:NLI;BMV:1;SFV:NSPM;SFS:(10009020)(6009001)(339900001)(199003)(189002)(229853001)(104016003)(77156002)(87936001)(50466002)(48376002)(36756003)(62966003)(2950100001)(42186005)(92566002)(561944003)(50226001)(575784001)(86362001)(50986999)(76176999)(105606002)(85426001)(47776003)(19580405001)(19580395003)(6806004)(33646002)(46102003)(106466001)(21314002);DIR:OUT;SFP:1101;SCL:1;SRVR:DB5PR02MB0776;H:ld-1.internal.tilera.com;FPR:;SPF:Fail;MLV:sfv;A:1;MX:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB5PR02MB0776;UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB5PR02MB0870; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(5002010);SRVR:DB5PR02MB0776;BCL:0;PCL:0;RULEID:;SRVR:DB5PR02MB0776; X-Forefront-PRVS: 054231DC40 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2015 20:54:04.2199 (UTC) X-MS-Exchange-CrossTenant-Id: 0fc16e0a-3cd3-4092-8b2f-0a42cff122c3 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=0fc16e0a-3cd3-4092-8b2f-0a42cff122c3;Ip=[12.216.194.146];Helo=[ld-1.internal.tilera.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR02MB0776 X-OriginatorOrg: ezchip.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org nohz_full is only useful with isolcpus also set, since otherwise the scheduler has to run periodically to try to determine whether to steal work from other cores. Accordingly, when booting with nohz_full=xxx on the command line, we should act as if isolcpus=xxx was also set, and set (or extend) the isolcpus set to include the nohz_full cpus. Signed-off-by: Chris Metcalf --- v7: oops, use add_cpus_to, not remove_cpus_from [Frederic] v6: back to just using a direct update, with the new names v5: test run of Frederic's proposal to use sched_isolated_map_add() v4: update accessor names to make them clearer [PeterZ] v3: update changelog language to avoid using unclear "implies" [PeterZ] kernel/sched/core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index f0f831e8a345..4a5681b5a4fd 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -7031,6 +7031,9 @@ void __init sched_init_smp(void) alloc_cpumask_var(&non_isolated_cpus, GFP_KERNEL); alloc_cpumask_var(&fallback_doms, GFP_KERNEL); + /* nohz_full won't take effect without isolating the cpus. */ + tick_nohz_full_add_cpus_to(cpu_isolated_map); + sched_init_numa(); /* -- 2.1.2