Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933858AbbDIMCo (ORCPT ); Thu, 9 Apr 2015 08:02:44 -0400 Received: from mail-am1on0088.outbound.protection.outlook.com ([157.56.112.88]:19360 "EHLO emea01-am1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753616AbbDIMCl (ORCPT ); Thu, 9 Apr 2015 08:02:41 -0400 Message-ID: <55266A54.30304@ezchip.com> Date: Thu, 9 Apr 2015 08:02:28 -0400 From: Chris Metcalf User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Peter Zijlstra CC: Frederic Weisbecker , "Paul E. McKenney" , "Rafael J. Wysocki" , Martin Schwidefsky , Ingo Molnar , Subject: Re: [PATCH v2 2/2] nohz: make nohz_full imply isolcpus References: <5522BF1E.2040606@ezchip.com> <1428344205-27678-1-git-send-email-cmetcalf@ezchip.com> <1428344205-27678-2-git-send-email-cmetcalf@ezchip.com> <20150408094114.GX23123@twins.programming.kicks-ass.net> <5525357B.2080205@ezchip.com> <20150408142641.GG5029@twins.programming.kicks-ass.net> <55254794.4070503@ezchip.com> <20150408172746.GK5029@twins.programming.kicks-ass.net> <55256F92.1010606@ezchip.com> <20150409082921.GP27490@worktop.programming.kicks-ass.net> In-Reply-To: <20150409082921.GP27490@worktop.programming.kicks-ass.net> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [173.76.21.154] X-ClientProxiedBy: BN3PR09CA0007.namprd09.prod.outlook.com (25.160.111.145) To HE1PR02MB0779.eurprd02.prod.outlook.com (25.161.118.143) Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none; X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR02MB0779; X-Forefront-Antispam-Report: BMV:1;SFV:NSPM;SFS:(10009020)(6049001)(6009001)(479174004)(24454002)(377454003)(2950100001)(93886004)(77156002)(76176999)(46102003)(50986999)(122386002)(33656002)(54356999)(64126003)(36756003)(62966003)(40100003)(42186005)(92566002)(66066001)(117156001)(47776003)(15975445007)(86362001)(65806001)(65956001)(110136001)(23746002)(87976001)(19580395003)(77096005)(83506001)(50466002)(18886065003);DIR:OUT;SFP:1101;SCL:1;SRVR:HE1PR02MB0779;H:[192.168.1.160];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5002010)(5005006);SRVR:HE1PR02MB0779;BCL:0;PCL:0;RULEID:;SRVR:HE1PR02MB0779; X-Forefront-PRVS: 0541031FF6 X-OriginatorOrg: ezchip.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2015 12:02:37.0287 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR02MB0779 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1707 Lines: 48 On 4/9/2015 4:29 AM, Peter Zijlstra wrote: > On Wed, Apr 08, 2015 at 02:12:34PM -0400, Chris Metcalf wrote: > >>> But you're doing the reverse! You're setting nohz_full for isolcpus, not >>> limiting the nohz_full mask to isolcpus. >> Ah, I see. Yes, that's right. > No its not, you should correct me when I'm wrong ;-) Oh, I have no problem with that :-) But, now that I know what was confusing you about the patch I see what it was you were saying with your English above too. I thought you were saying something like "making nohz_full imply isolcpus" again, but you weren't. Phew, OK, I think we're done talking at cross-purposes. > So the problem is that: > > + tick_nohz_full_set_cpus(cpu_isolated_map); > > reads like you're doing: > > nohz_full_map |= isolcpus_map > > But in actual fact you're doing: > > isolcpus_map |= nohz_full_map > > So that function is retarded, but the logic is fine. > > So NAK on both patches for the reason that they're utterly confusing as > to wtf they actually do. What about tick_nohz_full_cpumask_or(cpu_isolated_map) ? At that point maybe the similarity to the existing cpumask API will make it more clear that we are modifying the argument? If not, do you have any suggestions what might do better? Obviously the goal is to make it something that macroizes away, otherwise I'd suggest just explicitly using an #ifdef and cpumask_or(). -- Chris Metcalf, EZChip Semiconductor http://www.ezchip.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/