From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752765AbcB2W5I (ORCPT ); Mon, 29 Feb 2016 17:57:08 -0500 Received: from mail-bl2on0087.outbound.protection.outlook.com ([65.55.169.87]:21387 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751281AbcB2W5E (ORCPT ); Mon, 29 Feb 2016 17:57:04 -0500 Authentication-Results: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=caviumnetworks.com; Message-ID: <56D4CCB7.2020505@caviumnetworks.com> Date: Mon, 29 Feb 2016 14:56:55 -0800 From: David Daney User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7 MIME-Version: 1.0 To: Robert Richter CC: David Daney , Will Deacon , , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , , Ard Biesheuvel , Frank Rowand , Grant Likely , Catalin Marinas , Matt Fleming , , Ganapatrao Kulkarni , Robert Richter , , David Daney Subject: Re: [PATCH v12 3/5] dt, numa: Add NUMA dt binding implementation. References: <1456192703-2274-1-git-send-email-ddaney.cavm@gmail.com> <1456192703-2274-4-git-send-email-ddaney.cavm@gmail.com> <20160229172956.GF31343@rric.localdomain> <56D48A5C.6040709@caviumnetworks.com> <20160229194522.GH31343@rric.localdomain> In-Reply-To: <20160229194522.GH31343@rric.localdomain> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [64.2.3.194] X-ClientProxiedBy: SN1PR0701CA0082.namprd07.prod.outlook.com (25.163.126.50) To CY1PR07MB2134.namprd07.prod.outlook.com (25.164.112.12) X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2134;2:dGWXtnSFResnKNmLxEnM7FH+qhoeS+q2nbGPwGBkeaEVDyOzw5DNOMfxzaFFZxr6qQbWWxUgfEo5xUVarPZaT/pQ46yweRQ5bK3tisBewisUeNppThmy9bhfDVufuaPAA0uS7tcEkqY0IQi7PmJ95Q==;3:YseVTXYor+oY530+EQVJOVZP/Oaax8agrKKo+vgmryzkCAf1FhgF6IA+vvEj8Qc56QyOoFim8tj4IF7mH4R01oWhcUaXLz+XyRoa4lKT/6HxkydyvSht/w6aKsdTvVtK;25:4fDdtsH4uDtknFU/QysM1CaLNUxgy6iIFvud1rBoACvubyelNFvbXYsFPkdglopDXWIRBoRo4QuHh6L37zb4PsijnEbs9yoA1ciwnW2QJ28luLLGru+ite6M1hKMavakdwuSWfwQsTYOps8kmw0yrAGMwbv5XpGS7RUcqyuOiAsAMe6gb2+Y4yZDxDlyEnaKyIeECd21fFMJQQiIHqZbw8j6got4AjkjX+sbeW24VxA5prHH6rv32fWi5x8vsiBCFUkD/hX1VXnibVA0F8Dpiv7V0MP4p9AS01NZtB/VDhzZZBy09Qmcox2RsIFMyr1mmY9AY302FphTtEGDLzCU5g== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2134; X-MS-Office365-Filtering-Correlation-Id: 676b48b6-e961-4d52-7f88-08d3415ba218 X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2134;20:32AzHQNaNvP5JlwNGdi3CgY//Uu8sgJqNRkcniy3NUQWOGAYwwo6sne6X86UKkobWxK/4pZR10o6jExjQ01eOYhGDcpKxAD3AH1T/4nEXQB6+kK2URXmtBWMSfPL444CGNMMcSc8tJKFKTJdYQYhmuY1p9PGb8jEq9CtLt9fPGZDmbqxw2h2J7MLgXLPgGsoqQm8sGIWnoN1enCEuAdUjOQsWF5cNMAdA/5Cm7q3mmFQIlXCrgGjoyndWNaGQKm8i1WyvfNKrW2YBMBHWa3gg2RbMJqtq39buVOjeo0/flUrn2CEYY0mDH+1EU0fqp8plZX9CL53UwTqM7AS2eq0bA6YkmKTVN8/hWc96qYwbP38DBK9zQUS2tuzOYhqApIJwGWdtdi/ra1z0X3Fl8yQ0kyph3TWOV6BUNNvzHIjCkk0mP8+LT3tSc1YTY13MTWrx19zKc5xW8jSX0CvwrVnH3dNxEPg/Gx2YBlNMT7WTPTZjrQelTaih1MHLSb1I8nTH5ZSnCZwIzSoETYV4tLM7p4mfWEqBscp+EkUhIsUYx6bRpkWTW2eoccDp+8icCNJuKpqiMlIdzek3GSiXumsz2CZ0VM9szPNGUp26morniQ= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046);SRVR:CY1PR07MB2134;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2134; X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2134;4:GSbg9Lxqx5JXm8FfPxKayi2XuwRO2Y6IoWqH2tx4Fv1avEAsI1XrjMFbeKVwtZzzEMvPBUZ04o3Bv8+2MerGKy2LlIymbUe2PdRjTGTbcifWw6SRr8gwbuvGyGPUnu07UQLTP+ExLw7kLHmU+BuBUo2P0rCQmxnlTYcgKTmWDrRrqEV+w/0XBShua7adC1C1FZ3h68KKYZny796uhzbSxxAbSCdECvA+WeGS6xiLK7LkOMDG7lZgsgqnlfufXy2AhIqod4f5yE7PNQP+kmtvMrwqnSvmWnRf5nn0V8WGvpjJgEfYuG20nGlkLfWNKBv4ftaXD3pTsGao8xbnvy2tBOUs5/aKrQpdrw9SyiHHKETvN8egAKwTQxU71xBHH3SK X-Forefront-PRVS: 0867F4F1AA X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(24454002)(479174004)(377454003)(4326007)(33656002)(189998001)(110136002)(66066001)(6116002)(83506001)(76176999)(59896002)(50986999)(5004730100002)(5008740100001)(87266999)(92566002)(54356999)(5001960100003)(87976001)(3846002)(50466002)(1096002)(80316001)(19580395003)(2906002)(40100003)(4001350100001)(122386002)(23756003)(93886004)(77096005)(586003)(2950100001)(64126003)(42186005)(36756003)(230700001)(53416004)(81156008);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR07MB2134;H:dl.caveonetworks.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?iso-8859-1?Q?1;CY1PR07MB2134;23:H6L+rFhWBY/6HrdbKI5Ob3yAQHTuhfa4hgRd+DS?= =?iso-8859-1?Q?fGQW+jkedRQ43lUN//tVMUh330gvd4wUwVpj9MQ/BVby+o0/g+27TFptZk?= =?iso-8859-1?Q?df7ey8lDEx5G9JkIbNZvJOezzKQaOQEtd7ocndXNtQE4wT0iv0wCZnhoAW?= =?iso-8859-1?Q?I6ieLi5v2WFm3Z3BFW/aqYGsRA68acMGL5xNjtMwSZLj6hvVtJmh4AMtAt?= =?iso-8859-1?Q?3rPjwbKZcyb3PyJctHaR6VnvTrOmmscC4XU+78HpQuTn6HXDfXyZbPoByK?= =?iso-8859-1?Q?dpJCrDaj64griHu6/PCntbDWbYhAouzJDFH7QV0s883qNy+64IPOCvKush?= =?iso-8859-1?Q?8M/IiN5atSszmi/lw8RwxXFGkJ4hEUIuqHUOVvbaJvQOhuBpu08pJLBTWa?= =?iso-8859-1?Q?EDA5W2Zg1/cSVNajvLrX+LX6G0IcKdOhvuzzDxQWi5jrv+vy5XV1By6IIx?= =?iso-8859-1?Q?MPAgzw67cWvhipcRa5Crk3LWu3XLRjXdjdLrmoG/8n8Wn0Xra1wgmnuKvy?= =?iso-8859-1?Q?8OarCBRuhcJMCLwm2C6JDpwHXtid1upPjBsnsYEVm1A2tiJ3iR272x+/fK?= =?iso-8859-1?Q?R/3XW5a01vxn26NwbBcDNuSxEYS4Ccr0AfNhrmPHBhoWdKNtBr7NCGIGs9?= =?iso-8859-1?Q?0kg3YoHh5esx682G7ZYjG6yoCBH7t+rWQ80MLi5XWYLA9RSp8kOpkBS08w?= =?iso-8859-1?Q?U0j5ped7faF8/HIiXCm5VT/yK9Yjr0Ojhp1Y548o6CYedRD9rV6Nv1Ne7R?= =?iso-8859-1?Q?LOYGFIWglOiOmEPUyhZ7av1s8yezNeK3MxfsFbaf2AMeIwDcAIOKqqVecQ?= =?iso-8859-1?Q?Hd2ktg7hjC+Z5I0FAt49xPcpgSdWPLCUhf0o7D0YXdLDP4vqFkWAKd3QQe?= =?iso-8859-1?Q?vvI5pZHqvi0el2325g41kSL44eO8N1/RkICN8eekTlbLJxfBheSb3lBR11?= =?iso-8859-1?Q?GdGkuUxvOmqC7I+AfXaiFqI+gxwHwmcZ9Ni87oq10/o7SIhcbu+yx10swJ?= =?iso-8859-1?Q?Gw7FuUU5YnFSOetCVKXWnEAzhYnmnAJjiROS5wBZ6MW55WNA27PgLQSwwn?= =?iso-8859-1?Q?EcdY2bIi3wBCCgg5KbaOykVWAYfwQz0d2zIBhnYOO50nWr5jKY7zoxiTz7?= =?iso-8859-1?Q?WM6X+PetNNjaU9OQju9AQ6UJZv3csDW3MASakeL6ppa+5Dy0=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2134;5:MHh4E/ETn/RUjiQkMZ9tpmuyna5CH4lVKQWxEuyomGp1mi3pRKWhL56ToQ/xl9GRHj99gmB4y7TJabzLMbzhMcEkDVQEnyeK/2zbNBz6EJ5a3Lp+HcfeRU6qGbILYmRpoMbenydE6gke1lxjRK4XAA==;24:eoT4JKHW3RtWa32Wx8vNyYLRfPf6TfeBLNru+lJShcJMBNdY7/pw/hcIBbkFwkXKaE9ZVcO2MomdNFdhM+PQXNVLQF86cs8odl7P+2k3Dvo= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Feb 2016 22:56:58.9527 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2134 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/29/2016 11:45 AM, Robert Richter wrote: > On 29.02.16 10:13:48, David Daney wrote: >> On 02/29/2016 09:29 AM, Robert Richter wrote: >>> On 22.02.16 17:58:21, David Daney wrote: >>>> From: Ganapatrao Kulkarni >>>> >>>> ADD device tree node parsing for NUMA topology using device >>>> "numa-node-id" property distance-map. >>>> >>>> Reviewed-by: Robert Richter >>>> Signed-off-by: Ganapatrao Kulkarni >>>> Signed-off-by: David Daney >>>> --- >>>> drivers/of/Kconfig | 3 + >>>> drivers/of/Makefile | 1 + >>>> drivers/of/of_numa.c | 211 +++++++++++++++++++++++++++++++++++++++++++++++++++ >>>> include/linux/of.h | 9 +++ >>>> 4 files changed, 224 insertions(+) >>>> create mode 100644 drivers/of/of_numa.c >>>> >>>> diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig >>>> index e2a4841..b3bec3a 100644 >>>> --- a/drivers/of/Kconfig >>>> +++ b/drivers/of/Kconfig >>>> @@ -112,4 +112,7 @@ config OF_OVERLAY >>>> While this option is selected automatically when needed, you can >>>> enable it manually to improve device tree unit test coverage. >>>> >>>> +config OF_NUMA >>> >>> In arch/arm64/Kconfig you now need to: >>> >>> select OF_NUMA if NUMA && OF >>> >>> This should depend here on OF and NUMA and enabled in that case. Why >>> moving that to arch code? >> >> The dependency on of_numa.o is in the architecture specific code, so that is >> where the Kconfig select should be too. > > If you grep for select in Kconfig files you will see that dependency > checkers in the form of select ... if ... are very rare. You are right... $ find . -name Kconfig | xargs grep -e 'select.*if' | wc -l 1513 $ find . -name Kconfig | xargs grep -e 'select' | wc -l 14179 The 'if' variety is encountered in fewer than 11% of the cases. That said, I am not sure if this type of statistic should be used to evaluate code "goodness". [...] > > But to avoid arch configs in generic Kconfigs, define HAVE_OF_NUMA, > add it as dependency to OF_NUMA and select it in arch/arm64/Kconfig. > OF_NUMA is then enabled with defbool y if all requirements are met. > Really, what we want is NEEDS_OF_NUMA. That is exactly what "select OF_NUMA" means. There is no need to build a Rube Goldberg device out of these Kconfig things. The "select OF_NUMA if NUMA && OF" is concise, allowed by the Kconfig system and exactly expresses when the file should be compiled. Unless there are other objections, I am going to use the the Kconfig changes in the v12 form. David.