From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753405AbdEPPPw (ORCPT ); Tue, 16 May 2017 11:15:52 -0400 Received: from mail-by2nam03on0057.outbound.protection.outlook.com ([104.47.42.57]:2909 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750950AbdEPPPr (ORCPT ); Tue, 16 May 2017 11:15:47 -0400 Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=cavium.com; Date: Tue, 16 May 2017 17:15:29 +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: <20170516151529.GC658@rric.localdomain> References: <20170515132205.19622-1-lorenzo.pieralisi@arm.com> <20170515132205.19622-4-lorenzo.pieralisi@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170515132205.19622-4-lorenzo.pieralisi@arm.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-Originating-IP: [92.229.85.173] X-ClientProxiedBy: HE1PR0501CA0026.eurprd05.prod.outlook.com (10.168.27.164) To SN1PR07MB2350.namprd07.prod.outlook.com (10.169.127.16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c6718aa6-77f6-4464-5ea7-08d49c6e6c4e X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:SN1PR07MB2350; X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2350;3:NFqQdSepp6ud0HfnPC52yFMlwU2sOayV/k9b024i2efddexJnSCYVBB9ZMhc9uG7rpPijt1ak37P+r1kUQZfxb+bPQYBjMRW/IydXZuk1Q3VkDz6nH/i04ZlGLWrzZpSs8u3tFGguzyRs8ZODpOvDJYDCmt1T3sjob0Q1wr2ye9iFnhS/R0wX6YiCky02M+/RnLwE4mDNxRHObFFb3c/y04LjcWutc/zAbkdhyhtazkgV4qVzWcCPJMIZhBEaA2RzuYqqrHvQ/orURwctIMQj8qvuQdR+dGWh5HvESOD+6qf/JhUQxU6Mn0YYm5D5olPW9kB9nSNpd8/HLFfWysWTQ==;25:3rXJVDs3JDizecF3+YVXnO9uRDPNMixbjmzcEQL/5jRxBHAjJQsSHWuNL14piicgte/eSubDhPiR3+jghjFk4bW2oW1/wE8QGats82e+EknyoFT1ZNTo1gt98YyiGAIRhm0XH0lDZrcM+q3yK8QXKBIgtUqZTcfIZRlyeyAUdpKwPdW4dbBvjorT9KtyDGjIxXdZfnst8nFNPg6A94uinzmR6wCAZbRBrEFaVtvXMVyDCpXeIexk3zxmU1awf3I5jMrp9PIgXb8Eq+jtgouG50V0wGLp86jC2OxQeCFluVE+Nm1D4gHXQmHbUF8E18L4Wtcw7eVzd00hpCe2K0/3eUwwuNszNSLssBRN5VItTRhaKAD1T3fR9k6hGFvCpk7IZqL50nCwkTwhCu88aurs7zqaIbCPQCwfw0ynSJN16UZ3LYJT6kApFBARk/JDZywxpVVihmvkmJxNIGzye28Pt1TW9OhUeqeT+Nn7ZREzXjA= X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2350;31:X7KSkcMi7HVB2SwTmCw4+oL4OnCKkVO++dcNRUT8cNCgOStdZojNZHgTqBCLTn3SLSWLhXNwHX+Uagrou8QVDOHM6iX1lvWWcdKm0rPk5IVWNFpuzv7GVsRMlN21EgZ7RnYOXY13Slr2ruCF/tuPlbD7yJhDULiUhXMn/fHOlwAJpB+Cmtqzv3BiLhG+HS3iSGhO8kNSWh//XkYCPfh2vZpHinnCjRiqzoKQomLHCVM=;20:IMMeDngYSpc9Cxe1pV/KbOfuFx3AM4IL+U9CptjLKIWquIAimzuVD46xGn8z1Y1TQNDR8S0z9dXKru/EJBsd8SX8C53u2ac3KoHND9Kd5GTi8+nqXD9Jo42x9AZV6aXtJtcwiBl1i0uad/NhqJkw4E5FOsHHMicuNpuHzk48/4nYDSVV9LWTT9hiutQZVKDv9VmmGaP5TiXXSEWnpnn/05HynFnRQAdai/Wfn4CkAifXwLhV1c1rWxASUD1UJgI1Dgn4IMy1YJcuskPkOvmmeFpsENDJxzUX50vSH21tuM1JV36KmEoeFSCI12lfpglzQSZZHFbjQZwT3lAmp2ci1B7Oldo8n8Hwmuid27pofZedspmX0fy0nGqcLaWSD5JIUFkBKneo6/7wjttCvo58CeuXQ23dJnah68nNZlu7nxrRFiAbqlMZ7E+9s5/6w8tgYYlxe1uFzH4SZWpS6ScvTa4A9lYd70+ijD2yI0fKbAMB0MHG4PRzszXCDTkUX4Eh X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917)(211936372134217); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(6041248)(20161123558100)(20161123555025)(20161123560025)(20161123564025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148);SRVR:SN1PR07MB2350;BCL:0;PCL:0;RULEID:;SRVR:SN1PR07MB2350; X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2350;4:ol4QNup6ZQTXJSsJAtm186tJ5Zqvt0USWaqLyNNCFdgeWBVclZNp8q4niuYbqPvJqS6B8zBefnSmYbrgfpSjD2DHOaeL33Eg6As+q57DIBliTvoiGgEJda5J4u8fAkm6tOHU+404GZXNhFhCXK4+pn7xwblXGEA/BMfUcYZxzRH4pXVD1s9UjJWg2rxrVBzF2J2LG054viEB7kh2brllGdX1VLVsqLXea2XCqSX6aYnTq/epyaK2CMSsEhphMkn9fVnJpq4gQK2AjneTWNlzmkGAR2wKeHGuxbr6G2RT3CDXekB47EXPajqMY+30ReUoRm84oLL4wV6Fzk4aAJTYsgEOB0FtNqDoZNAwthOHyvPQujFUUPjoxq0sZ254eQMuAxwQOStwMFnTZJjNfnv+yrCE4GwxxFFLlpY0al/hanaqllNp6FUfs4w1pn6/ZPMwJNEz01NwDDaNEsiBq2qY5z/gmEeEm9+lRjjKaG8TBy4C+ctHn7O+k3IW7LGLhaFZ4utM4Zxe1FCeVyX1hySkOvYgn4nKTCbDwOvDF8AHunhDtDtK2Sz9AYp4q9nNVHBUmAoP3y3A4y0UPgo38QYWDb+qHrr7lgw5Wg1OJEBKStDOMWhFQmIcOH2xR7UHCufSyOkDBqwG/A9kJ45E/+um2gNPjJDeslwbLe1TbqRxaZdTpIQeP2r44pujNcEWE4Rw+dHicZQYfL9SRsgs31eq5FIrisdma7B7aHQK648apoRk11IBWnmBKstOavSgY0YF2bqIUM97bnhdCuoz4u6PryR7ryYVlX/OR2yoBn7xXFBqu6VmsHThNl3SZOPdMFg04MQYUWfnKLDayvxPbxCYI1a7j63jTKo/l6aGuw2sBLc= X-Forefront-PRVS: 03094A4065 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(39450400003)(39840400002)(39850400002)(39400400002)(39410400002)(24454002)(9686003)(42186005)(53936002)(6916009)(72206003)(229853002)(6246003)(478600001)(8676002)(107886003)(110136004)(81166006)(53546009)(86362001)(4001350100001)(4326008)(83506001)(25786009)(66066001)(50466002)(47776003)(38730400002)(55016002)(1076002)(305945005)(5660300001)(54906002)(2906002)(2950100002)(50986999)(6506006)(6666003)(76176999)(54356999)(189998001)(23726003)(3846002)(33656002)(6116002)(7736002)(18370500001)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR07MB2350;H:rric.localdomain;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN1PR07MB2350;23:njvpX+93Y2s5Otneh6UDII9R4gkuPDFsHRLTWBLiF?= =?us-ascii?Q?7LtAY3qEGBWHB87zEOTdm0ljHIvpQ7U0ZtBRSADTWebVSoW9kRVkFLvuDlTa?= =?us-ascii?Q?PMi8TdH2CXow8fjVB3+oKTNJ3bjvekM8W5WUDqzrERBC5ex3H8x16dKuCdGo?= =?us-ascii?Q?tejC3saosvTEyTWfqqQLaK/5z/iTOlw3OaSHALq4cO2jJE/F9tZHs/Dc1ARS?= =?us-ascii?Q?8RAlwTJAfgKWTUZ7cStivNzQTJ+5MXN+TVIcEljvCrILuF15cBWFGzOMOC+L?= =?us-ascii?Q?qkPZCoqfztz/m/ETi9ebDAT4mjSDWAfc9PMhCB24BDpzpt8x4dG+7O3aitTP?= =?us-ascii?Q?rkcbr9jak4SWkCgWED5peR1p+pPST7EEJP/MTbpKt24XTIJbuwljbfxD7KlS?= =?us-ascii?Q?ORzuyQy2PDuxFV5hUeP22z1q2tMaD19otXWbRi3V1SXEfx50jjtd7PaYg7R1?= =?us-ascii?Q?wtoR6cznE5959XU3Wp7fQTG4XUpsYDgtEPOSheGiYSRg2lv0js68EKwdzRAQ?= =?us-ascii?Q?Q4rajY5AJfdjeh6C4Rnv5zt9ai1rJJIAouRim8+3i3e648Lv7GzSFMj/JV4N?= =?us-ascii?Q?tinrKJNRl4faRq5+nfq6BTW7epoQahNg+5mMvprO03Sd+Di0AppyPt4Y6lpO?= =?us-ascii?Q?gSOt8HeCQ6oVVION5n5hyR2Ghh7zabUBSuUyPnntXxr0Ckcy9Roo2ATD9/Df?= =?us-ascii?Q?Eiue1Cr+VC9mk4/t7rmcmTSYkJVcf7EJbZAHNBxTzLLh95jTO+qvwx3YPiBa?= =?us-ascii?Q?3gA8I84FBAe3gDk/SRK+R5JQhmSWGEZEyuYxW/Bmqtlb5fGk9l4zDjOFOSrx?= =?us-ascii?Q?JMhYZy9926ECCSPYb/k+PUnEFwDf/wyMYYAGlxf+Lqvm3YH3A4U8KH6boR6H?= =?us-ascii?Q?Ba6URgM78wYDeABYlWBCwQRdMCEt3qbRbdBKSwB9bwEUUVThsBuS8MKSuMti?= =?us-ascii?Q?hUDndQ7MIbPCDwhSmGHTqbU+MY0kDnDjXP+2fsMOMCk1zHptso5IuULevBeH?= =?us-ascii?Q?6tjuaak5C3P7/iVbQw2ZcPb9LnYHa4K+ugsZb2LSeuq08ODsw8dPPdD+vmKp?= =?us-ascii?Q?UStDj++V/75JU0KRScx3sOHYUsfKOzGw0DpklAriG5ly+iOTzW6GoN/4ti/n?= =?us-ascii?Q?1m9lJN4t19fWavTFxN/yurxTJiUjblEmqNWv/mRLPHpeb4nQlQW+jEajdQtx?= =?us-ascii?Q?lSFRdxCeeCgp1zr+h4gBi4v6+IYWpuNrshFfvSac7hAn5/QR2yLQi8Ho3AVc?= =?us-ascii?Q?Se4o19aaRAUIoltb9Q=3D?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2350;6:r2fZuHZr8cZSucbLym7isNDtTsZwvjns/D/6XBFyiET+4OxA7jhn4chmxqeMafU30eX8TKd27mN1SWOF8/DGanLUJ/N+nLyc2uf/Vp/oi2NKFLPuPjbNHyTAuXV2I6sdOL7Mau1l14hkdfEWaeUoBpiJqaxhkA0FnI2ivpXaw1iWRqkctr5QXOYwy7PT5cJA9vBlG1RvZvp9a2nfG1uSDDVT1NUeSUtgI6L0txdVDPJuORhAKDibSq/NV1jxmOi2QWwGFbyHv5CuQhcXZUoCc1XU/rMuF/NqVRgeBZK40UPhFk3uRFbjGLbLPtr8U5RQTMmZ2TpNnm8BvEFnu2PxONyNCfwdv1bNE5y3Z9NzYBEF8Y3PrLATbLU3pqTSBEJK+ZO+oekFPP7BZ+XNS90O3X3qSbCRF+uQwauZ77Bgui82zpWLHlzzrlKKMkpRRqVpj9r9bTKndu9/Gu9T4293Zl/byTU+zZwTC7Cd+SpnVsGjnigCfewiKcUlr3S8mt0cVysXfKkJMRD+hIoY4YxppA==;5:Ki97xBodHBByMCqHA0CuLC2y/IvHUCJ4+EQmDxaKPm9abx2yQWTqeAVDTgCRyCIkxYuh8N+IFbuY/1xPzyrOepBcq51hxs52TBNcVod54WSz/EdPSjX+/01W0mLLaoNjTfF4JTS2pnvlIGwQvRBwAQ==;24:NbXhphFXRSwFDKVh6o5Ct4DZNjpA4fXe+1jG223vSELftdExCEN9ekYGjjKC4sF7Xns7ft8CuXPdPV0g9aVa52l6QLA6Aql9leeQFoRwxjk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2350;7:NHqEVseM4UiEfeb7+MGjs6GvzLfdREYm4o5QKYtKLdHjUBMKZX7qziWrl/57ZipBM+z8D00bw45IVDqNQ8gTb6MsI+hLiiUcauOhX8n2WPJ82joCzDXif6AcTsA8nQYIAMEF/Kfo37xeU74mLQSjujbqQIQuT3FB3EwcuBYF9DZ04iDMics300qTPDM7yxC4UauHhmrPVX1kHUDkCTA3VVUZdMdD6UEWXPV7eIgAsJiqwR8jmRbOzvR4m40RLqb6h29jugF9vACQU8Pi7vOMLJPGAZEHpxABgTqL81ojZdwpuAUpCM/uknCpdLmKSiAYJ/LFUigu9ZgVb7XcdZXgrw== X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 May 2017 15:15:42.0836 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR07MB2350 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 15.05.17 14:22:05, Lorenzo Pieralisi wrote: > The introduction of pci_bus_find_numa_node(pci_bus) allows at PCI > host bridge registration to detect the NUMA node for a given > struct pci_bus.dev. Implement an ACPI method that, through > the struct pci_bus.bridge ACPI companion, retrieve and return > the NUMA node corresponding to a given struct pci_bus.dev. > > Signed-off-by: Lorenzo Pieralisi > Cc: Bjorn Helgaas > --- > drivers/pci/pci-acpi.c | 20 ++++++++++++++++++++ > drivers/pci/pci.c | 2 +- > include/linux/pci.h | 6 ++++++ > 3 files changed, 27 insertions(+), 1 deletion(-) > > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c > index e9803c1..451342d 100644 > --- a/drivers/pci/pci.c > +++ b/drivers/pci/pci.c > @@ -5406,7 +5406,7 @@ int pci_bus_find_domain_nr(struct pci_bus *bus, struct device *parent) > > int pci_bus_find_numa_node(struct pci_bus *bus) > { > - return NUMA_NO_NODE; > + return acpi_disabled ? NUMA_NO_NODE : acpi_pci_bus_find_numa_node(bus); I looked into how this works with devicetree. With ACPI it is set directly in pci_register_host_bridge() with set_dev_node(). For the DT case the set_dev_node call sets it to NUMA_NO_NODE first. Since in DT the bridge is a platform device which has the node id assigned already (if there is one), the bus' node id is set later in device_add() when deriving it from the parent device which is the bridge. So this should work. I have tested it both DT and ACPI. Thanks, -Robert > } > > /**