From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754061AbdEQQQK (ORCPT ); Wed, 17 May 2017 12:16:10 -0400 Received: from mail-bl2nam02on0070.outbound.protection.outlook.com ([104.47.38.70]:39086 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752318AbdEQQQG (ORCPT ); Wed, 17 May 2017 12:16:06 -0400 Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=cavium.com; Date: Wed, 17 May 2017 18:15:51 +0200 From: Robert Richter To: Lorenzo Pieralisi Cc: linux-pci@vger.kernel.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Helgaas , Sergey Temerkhanov , Sinan Kaya , Zhou Wang , Vadim Lomovtsev Subject: Re: [RFC/RFT PATCH v2 3/3] PCI/ACPI: Add ACPI pci_bus_find_numa_node() implementation Message-ID: <20170517161551.GQ16981@rric.localdomain> References: <20170515132205.19622-1-lorenzo.pieralisi@arm.com> <20170515132205.19622-4-lorenzo.pieralisi@arm.com> <20170516151529.GC658@rric.localdomain> <20170516180200.GA24458@red-moon> <20170517134654.GA8497@red-moon> <20170517143558.GP16981@rric.localdomain> <20170517160424.GA8643@red-moon> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170517160424.GA8643@red-moon> User-Agent: Mutt/1.5.23 (2014-03-12) X-Originating-IP: [92.229.95.113] X-ClientProxiedBy: AM5PR0402CA0006.eurprd04.prod.outlook.com (10.175.37.16) To BY2PR07MB2341.namprd07.prod.outlook.com (10.166.114.143) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BY2PR07MB2341: X-MS-Office365-Filtering-Correlation-Id: ab01e9c3-8c14-40e2-af55-08d49d4004a3 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:BY2PR07MB2341; X-Microsoft-Exchange-Diagnostics: 1;BY2PR07MB2341;3:9NPtQdLnpXmHu8nHVZcP4qcG2Tsp3WOePz9p/N+9wq6Y+7H0XPIMdvl5inv0Yy2Nxer0UuJTnJ+18357VKttZcgdqPmxNx1/5e+duWUo5zpXvK+ZsYR7Fy8DWINJWbEm+QHV9FZA7BB04xErm2Kjx+pFh/N44noCmCPv9CoODTz/RMg0s7zXBP5ft+S09uDxO7vJ39XIuffhwOMQTnJPRq+LrM+1n4N1skdAFzchpjrEO6I8MBOrjiKGHXkVeLX640VvRPhVjkrm/n1RkhnTdWKvb4+FvVHOZKdHyzhmRjnZ071hUrICrZc7qWNCLYWzNkbLePnySHY9QFtABhP7Mw==;25:L9bhcESFYY8dSVBbs0Ru1IGJfdsQd0m3bAST+sYCI0+PyB40NRhxxOKTu6Zhia+KutYe0IUUKq2/von0d8S3rv+zVEeWnCPFZWDHr0bL5+49/ZFs2rC0uxM2090lXdTY64cTpThxgQHOy3CJ0NstM0iKjJeK6ed88VLpVCNQebaAAA6W60Y7HTuD5+5BUMcqpAyzyiiHgPR+8/s3tFb3tBDq3JKHS2TIQeRVycuuslclT1u9xr6MAq01mtOqctKbq43j3Mxenjxt2Qrkj7m0ORA+Y4t/jxIU0o1fllA2aMghVj45pFzMYLgbx7UKNDt91KXV01BNXvvpTslRPpZ2V2YkwmFrJVHX2SjcuJ9zDoD5jU5yh3sJm9gy1UcQvgXrqJlm/zj/gPGwkYmdUGScwmVLVbejKHlkj0eHdpOo00AhVVsfRTmMAq5kFZhJSXJE08cTuMtKxU/vSDLt+W1QwLjGkqVBilpeEaWUUphx8Bs= X-Microsoft-Exchange-Diagnostics: 1;BY2PR07MB2341;31:O9T6/4INItrMP6OJTdfSidxfj/WksqiPE+nCq3B79zLP8f62HKq16OFBHhDwqhlKjD1Ad9uzWWKIQcDI3rBB961rpUhk7Zoez2yiFZuN8yR7yMZLqgQ9QNeZk9k5ujklyj1qdqsWf1TqJeqWAU1nsqNsGdeB28w7U4Gjm/IFTvgkMEYVDIgO56VvlriHiH1sDJB0qN+Q9tn2IwHAT+wO+WcyT5JQb8x2+QqqMNPOmmg=;20:0j6JvUm0YI5X00h5SgB81gQ84bL/KjVu3CQNI4ea/HxQlw4Y4THeO4ZSbmuxqaGNG3HSCLBJluEPWTId/PMD+6vQ5Tz4/tIO3yM2aS6LZwXABx+Bbo7IgT/2+hZswIGQr63B2axmtOaKNy80xqs54tN3Npii8UewoPCbSwbHN9WlT04vYTkyzNdrCSOUucE5FZSHCGrFi2/EDbPSVcTI5hBLKuuwswWO+rW1arJ3tQeA6I2z8nv6qCbzMKB1bdGCSnSABRI/syjIhvv2NCRUD5k4m2fOcIWQsE6J/f7dV4EwaVj6ixazE6qh+u7XZSD0yLhHUJYJnxbQgsMqIq1FzIJBKaaOL8fyDJY09dvabWLbpoZwriG1L+fmuavICkD2MqVJUog7uq4Zcfkf357q7QfbZxn2oCFkzcoQrMUF8b/L3nyBPaTbR7g7A77UJ20rvop5rqfv5lxRTWqCEyw6A1jCP8fb8KihXWSz+7A9uuQe0BUaK1R/Fq7mJsrSUhAv X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(93006095)(93001095)(6041248)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123560025)(20161123555025)(20161123562025)(6072148);SRVR:BY2PR07MB2341;BCL:0;PCL:0;RULEID:;SRVR:BY2PR07MB2341; X-Microsoft-Exchange-Diagnostics: 1;BY2PR07MB2341;4:ICO5X0VxCpN9ViAPCcsxcF3cRra6W0eeU0SVloM62PeaTIRp/cQfsWIb4oyf1pQum66PeiqVd+yqwH4QnfiKoU5ICGq8h3BvxjO6H/7dRSw1klEtu9EMRSySh2qFjxkyWsqlU+YsPU/VFTmin6ph32URvNBEUTspedHbrmg58Odog80WX22jhIUQC1INsNwhgl0PZur8V1LPWzW8tnAXY3OY2iotGsEIEK+T08xQPYgRnVfEUZjv06RpRbgnGI7/gFBMoilX7RMc4ALzBKwZUQdi1mAd4BAyDzr2qZBoUIZ4eW3vcUhvRlh0kP8p0QQfvIaH8Ld+tdrvvsEjAbQAoWZ3B7qW8k11Zl0+2Iq0oiSacCPFXP3f0ImO27HzkGu6hKp3rcDLyruKOm5Ccy/onauijyXvwuzO4YFi97V0VUixCGyvSFR2iIhPbHmiGKW35/T8LU3cszPhNNHJGuh0aY2pELdCSoMs+DwwdQ2Thv2FKMz1+abRioNYvdEVJP6FdpfYcJ3eerhjA2FktCY0NoLI7pZIlyAHI3hgiG9gmXHI6gcwqIzHRXxzcOhIfn7DJAp70WqocV0p8PVx75U4qS0bm0cMZD8olrYzl2mDcWA3+g7b1XRLCHDPZHE3QOEGv0ABs0m3/T05g0hMmfge6Ao52wHgkIseKedjw6yJp6ytAf11/pPT9YK9BstYTWGHPMP1mI2D665QFk6VJPXcD4/tMML2vbt4JcsYJWQFvCKoyNFwx0JLhMm6P6xLpJw+sSU8emApAaKc59aYU4QXSlQNz75T3rJdFDvpFmXdvdA= X-Forefront-PRVS: 0310C78181 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(39400400002)(39850400002)(39450400003)(39410400002)(39840400002)(52314003)(51444003)(24454002)(305945005)(42186005)(107886003)(2906002)(83506001)(93886004)(38730400002)(66066001)(110136004)(47776003)(5660300001)(229853002)(6246003)(7736002)(72206003)(2950100002)(81166006)(6916009)(189998001)(8676002)(6666003)(4001350100001)(6506006)(76176999)(50986999)(478600001)(54356999)(23726003)(50466002)(53546009)(1076002)(3846002)(25786009)(86362001)(33656002)(55016002)(54906002)(9686003)(53936002)(18370500001)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR07MB2341;H:rric.localdomain;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR07MB2341;23:380mkyPmgG/VpUngprTeeXYKkqX/UYILaeMbWL9q1?= =?us-ascii?Q?ou+b360PYZnKl5Ea7ZE6sP39mME0cVHuyInYG7nB3lik+3UVhJwzTry21Pp1?= =?us-ascii?Q?fG6VejXg7z2AI+aK3OLCMJaIi46kJJqd3GinB/VOTdNvXe3//bJK7WF+4SO8?= =?us-ascii?Q?r31Q/H8ofOC4uN4MI+DFWN8bbg8xo6esug6LeUtyeUrFDIEHOt+eU6Kfc6V1?= =?us-ascii?Q?cJPq4fUoCHcTMtofJLYPHSJV12q3m+M8Wovl9J+aE6rYZgUryxCeDoTKV+CR?= =?us-ascii?Q?Vj2oVkgmrHCWjEZJKLZRciMJlHM6nGld5NAu7Xxrv80v7SHvH6pPqGdarhnE?= =?us-ascii?Q?iNiDUpzECnJVvkOoRQvARoBBAsI1Vd9yvDBIrCvZ51nIR7W4YBLNaWjY5V2V?= =?us-ascii?Q?yiw1obKpqKgFViBw0fGSarBpeUhWMtKbVHk4p058yVPvog9m7W1WGQ0PuxTU?= =?us-ascii?Q?1jjBw0lkqqj9kixKz0XdMRL8zAQ17n4HO8BRRMB4S+66GO5cwwDurMi1uFBt?= =?us-ascii?Q?KfS5TjjKyurprZWLMsJgPX8ZBk8ztdc9S76xURoP0TQeSU9D1KEDIDfdXVh2?= =?us-ascii?Q?zHCBmgnG0PRbwBHj/qRaor2xrg5eWG5KoTpE5zB+ejUlexKxk/VkwjCYQLy+?= =?us-ascii?Q?jlkNDPRdudfeGTir5DD5g/buBZk8e3Y3mJWhD3mjyO+IitHpqQ7rofFF2Kg7?= =?us-ascii?Q?wkqhos183PvY36147g78J8a587+Hp/LLyhDotsps4v+4iembQ84IQ8fT+W8p?= =?us-ascii?Q?8M0DiH3sJI7XtyvxNLUHDv8yqFL7ivUWmt9k0VkVAbh+3ZLpmmE5/+YGBOV4?= =?us-ascii?Q?0dLpXuocG0u4QB5BYJK5BJdRyCb/nPFXXSvn7yDEnt0hYYo9k54hlr0accLf?= =?us-ascii?Q?JJ5fwzDFyfruL0xAOAvYQVuhG53pbOZdyiIGq7EXWtQd4vXbsGe6FK16O9AC?= =?us-ascii?Q?7IINs9J1a66z8TOvI5nAdKaiz26/cMhWFT19I+qAJZgZFeCkYOX/Fhh2x7cO?= =?us-ascii?Q?Quzbca+BQY9mBVEiZn5pDmYK/+FEEBS9lC6AeLI/6uYDYciqxGXla2kJ/7+g?= =?us-ascii?Q?iE45EabctLqFHp6gRs9hBHn5G+p2OpLky0GGPCWVx7T6KqOw5gihTXt5vqB2?= =?us-ascii?Q?j21a3Y7NTlnBytgHOjyiBz2brtOOGv1yNJC5SfcNOsWx3qcaH+PGZRS8Yskk?= =?us-ascii?Q?dPkLw51GqXM97nSL3shHk8kREBuyDlJLYaBu4BKX3KRrbn+sp3f6LXqPKkZd?= =?us-ascii?Q?rWb+8aeEAT7lWdGGo5jILGJoLY5wZpMpiMRhEI8?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR07MB2341;6:s9dGQp3FigI4DskMDH3pf3QpmIWFQRIUPNS5+fG0wzeNiOhe1tIa4a2PgA75qx4aKLNy17RNrMHs5dsQbU47izp96yF2rgejarcaCrbvVL2o/A4YB1hWnXi0OxaZEh1cdXel93SK3UVO9SnDkmKSdgBu6rEGKvK504oqLihHXDUb5ZnMMycnQQdfM+lFJUCFSRvm+NIwLt+G1T+WeIWwboD/NJeYGa8vQkXtNuuGnTkZO0J71wafjUTmieFfM0GM8OnVPTxfs69yKoYlJjCpyENbT9+k3VMdhUlxQf7qbTqWeWjdHI8gokBUWAkiRCk1oNZI28Wsmxecqg7nrx0InYt+KpmsdnmBJet5Dztyxb2p7HFu432+AYxRSqT/8X/26+QG9j/av9jeIXxxXHKpqjhliDPd40NzFaUc+nZT7Kc8rxgcKbUUBqKLuhaYvEGfN8Vx7gG5WUm2+vxva/Dk7jTaPvYzxZC86EZeZNCI6mXs9kRaRbZp7ki3gUytgbDdMDSPtDpskit7T72cik2log==;5:bQ7OmeC3JX5ITz87Zct7372SlEGAi0yT8c+fq4bB85ammfvL7XdSPX3Bv8RqDhmqhiwzph74UZFB1Ntd1MtCjhuUIXBSV7xfqNiugx9gV1BAV8HXwnkAqEnsEWRf+9oKZnzpO1oYEnRAYqkZecp38g==;24:UoamKbPXdiVUTRa5W8mq3HHpAL98TqAJ/Zlx2hDqAHKlNPbUf0RlHDWyIgV9fiDdEzs6pnc+/s9Ezq/vFlbPDE9W+uau6PMdgkVgL4SiZjc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BY2PR07MB2341;7:XItmA4L24apYzytLIFf53Hmn8TqSx76TifJhzZZhUEjp9mqIRM5x49y+QTB1XHo6KDTD8O6357Z5GB/F9yIouWiptV7bz1rf2tAO2Ff2lKVa/IWsIJvC5H0pKPXpKETJSGWrfL9822GzaFswiFFZggzDDVD+LFjWGxY25X4Qvw/YJZqa1RPStuxjTQSVIx26yf0c44l+9ATlXVyRZxu64WnVP65ur9PuKwLryKbOh6RMI00hDU9pOQqsQuJFJBUHk4LM+DS32W2O2QcK6s70qrAWAuEThOjVP8dN68N6mGHjDoNuNe3iuwfaVxbCF7zL00CTJbhjb/rmoXk9B6mxtg== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 May 2017 16:16:02.6917 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR07MB2341 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 17.05.17 17:04:24, Lorenzo Pieralisi wrote: > On Wed, May 17, 2017 at 04:35:58PM +0200, Robert Richter wrote: > > On 17.05.17 14:46:54, Lorenzo Pieralisi wrote: > > > > > More explicitly, I think the whole series should work also with the diff > > > below applied on top of it. Side note: for consistency, I do not think > > > that adding a DT counterpart to pci_bus_find_numa_node() would hurt. > > > > > > Thanks ! > > > Lorenzo > > > > > > -- >8 -- > > > diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c > > > index 76c089f..cf0692c 100644 > > > --- a/drivers/pci/probe.c > > > +++ b/drivers/pci/probe.c > > > @@ -862,7 +862,7 @@ static struct pci_bus *pci_alloc_child_bus(struct pci_bus *parent, > > > */ > > > child->dev.class = &pcibus_class; > > > dev_set_name(&child->dev, "%04x:%02x", pci_domain_nr(child), busnr); > > > - set_dev_node(&child->dev, dev_to_node(&parent->dev)); > > > + > > > > Hmm, in device_add() there is already: > > > > /* use parent numa_node */ > > if (parent && (dev_to_node(dev) == NUMA_NO_NODE)) > > set_dev_node(dev, dev_to_node(parent)); > > > > So there are cases where the device has a different node than the > > parent. I am not sure if we can assume for pci that it maps always. > > > > And since device_add() is called later anyway, the above change might > > not necessary at all. > > That's why I _removed_ the set_dev_node() in the diff above (that applies > to patch (2)), I do not think it is a) correct and b) necessary to > propagate the NUMA node from bus to a child bus given that device_add() > takes care of that already. Ah, right, you removed it instead. > > I should post a v3 (with the diff above applied) so that we are all on > the same page and we can test it. > > > But at least we must assign the node id to the > > bridge, which is the parent. Maybe just have in > > acpi_pci_root_create(): > > > > bridge = get_device(bus->bridge); > > adev = to_acpi_device_node(bridge->fwnode); > > set_dev_node(bridge, acpi_get_node(adev->handle)); > > I do not think that's enough, I need to check again but I think that > also the bus->dev should have its NUMA node set for things to work (and > allow the NUMA node to propagate correctly through device_add()) > otherwise pcibus_to_node() would fail for devices sitting on the root > bus, right ? Yeah, maybe another hop is in between and the node id for bus->dev is used. Which need to be set then. > > I will check again and post v3 shortly. Thanks, -Robert