Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752740AbdGXEgO (ORCPT ); Mon, 24 Jul 2017 00:36:14 -0400 Received: from mail-bn3nam01on0057.outbound.protection.outlook.com ([104.47.33.57]:64216 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752155AbdGXEfr (ORCPT ); Mon, 24 Jul 2017 00:35:47 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; From: Suravee Suthikulpanit To: linux-kernel@vger.kernel.org, x86@kernel.org Cc: tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, bp@suse.de, peterz@infradead.org, Yazen.Ghannam@amd.com, Suravee Suthikulpanit Subject: [PATCH v3 2/2] x86/amd: Fixup cpu_core_id for family17h downcore configuration Date: Sun, 23 Jul 2017 23:35:23 -0500 Message-Id: <1500870923-2154-3-git-send-email-suravee.suthikulpanit@amd.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1500870923-2154-1-git-send-email-suravee.suthikulpanit@amd.com> References: <1500870923-2154-1-git-send-email-suravee.suthikulpanit@amd.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: CO2PR05CA0064.namprd05.prod.outlook.com (10.166.88.160) To CY4PR12MB1734.namprd12.prod.outlook.com (10.175.62.144) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5a48eb0a-723c-4881-258b-08d4d24d72cd X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:CY4PR12MB1734; X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1734;3:iaoju/c63pSkmR0GXiXUBtjg93rshQu+HmtQhjCH7ObovXCURzDVamW9u9MFX/7jBIxaYkHFabR2H2VMgFpqLsqhO1gikIuhej85umRxCGI86tkPjEpFF7fWMFuury8HJn/jmJNlDIJy9r3xVpQWpebv/QSZM4BnrUIayeknd0tCAk8iYsC0wmXyQ8bAHYIMYnCyoY/6hAxqvPxsJ0XtT+v3ztgaMgpF9gcqX+UBGVOQxEvcZWIzH8ZfjD8bA2iFXMkMtpEY1K3Vnl2ZvytPBmUjdsjnCFM6IkL94xzGBfJTUIK4IznQycJrso0TGgBeSEuBL2f/Y6DO+oxzuRXVH9o6BptOPDFKcQ+Un7cHojM97PKp7Lb3VInU3OTFSAAl12yvhtZcWJLihLLf86IVVEhBeiMHkODoi1VRkNULc0oZ3S2A0wqtPTXnNtvNrClKTyf4rJq5Wjwidwnsl5/nf1EKu5bHo+QE3Tu26yeluFMrAbalkx6t9xoFm/U2vl8IlNzVEtTtpeYecX2UTdKV3LOna70VtIJ9mO/3abtxfj2csdZpC74ecbLJ3dsZSIs1c8W5oYV/vcyRhIZFX8J4gG4f/xuf4H+k9kD75xc/LKyzjXyNsXpQHchg/gnju44fnLC7Q1vI+Grjq66oNos0FRzN6D/+Xk1VURQjnoHY1JaWDizMT2Rs8ediVcKiogmmVNicjFyWtAtfTdtDpHl/OLjpLx/RIBpCJxdWEvwD9i+AqZNZSC34QT9Gd9iiMNK3tcc0vAbSlve7CRvVP1lxSA== X-MS-TrafficTypeDiagnostic: CY4PR12MB1734: X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1734;25:5PM39L6d5oVLNLc4Wx/wO58MFFLsxKS5BNBy3n1Jeze0COluoc/mQ2XrFs/f21yI47v7cXwI9LYj0l7gmbbGef1WX0Qsmo8G9uJaxq571USODw9oRwyQZdi+S8grL/XHYZypRyqoxk00fPLPbmf8sNqK+FrkdA+QVCvFtqdyeXROQJ2WozinhgJfPJ8VDnLW4IzmugX6p8Pil2XAINjo8GwMAG6QvNRtG5+Hq/82/hjSieQxfyV9XQnLTx8WpEcZsO/ZTeQ1Cv2qLKWFPToeBYhrpGMwyAgaZ7UHPXvEao1yYDDRNq5uyK1Heen7PFQfQqY0Yl6ZSwxchlGJeR1ub9p0pB9jdSmiFW7llG8Jd/Gtrq/J2guOgn0cmgJSsQFJ0ke/WSBDRlTnE2aN4XYIwpb61Wv4gFPAhegGrHzuU2MKM8lN+zp1EIszrJtaVO2qJIsP84SBlKfnS6MCfBmklc7KIikjQk4lc8PSWdJhiJjPe6hNvevUOHUs7frDC8Pf2J95PeOIaj36NqelT2r/Mdde1CIAL7pqACUQNDH+VlSnxl+a3OcnTTpDo1ih2W+FT4QsBXrbSaAf4saZo4NEmfcGE9cRfeTDM2S+Ael/gllr5HFbdOVnKSe3ZvRzdT+P7aFUdmw8jyRorQCcIchBWIECSaFEzfR71vON8hBBqDPML73Mubt8M5HS5BUynCpzc34ENQSmzqhCGJcaFBYn2n7eH496znEHFylRiGI2Ur/i3MilnRJ3dRubdNps/Uh+G1YgIs/yGLEQJBajnWXn2Ek2K2blRzua1vbWAaDowKp8uThS5+yAPoET2H1hBYLYHMo0iESg8LdgMmIZCD1iXVmfoBx8ktxPC3vUJdXYchU0IqZrHr2rNnDTePXZpAAE7qd2z0/KTn5MMACuIse2gFJfKKWBcM6kVXsvBG0JPfA= X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1734;31:Ue73BePJiXzuNonTOPT/uhUV+ThXRL3GJhIpxSWh/pmjrgXqBl8I7Yu9y/9/cI3IfKZAph9TqJ+Vx5OeQVs6jqe5KFebwu3vBBeKmZsaHNllk/fKTmz/XMRLkF0mGe8t8O0jsHbaw/ggsSAHaSZwV3RVfIz2gQiY5gktrS/gTI9Q+IMO42yT6CdwrBl/KjgcVsAaP+9j/JcePzfhUs2N2jZO3gfwbw4v2Kg8h8fJcLhSOFtQ2a04ottItxK7pYUq3lFNmlomYFnuKdATaUAg//i2ZAouxRzWs4SNZPzfr7Wc+c2GJGotRr9JCFc3GXXpd7FJyA2slbSfyBO3mK+QYAea2m+ujJarQvVID3yZsNvFHH4b4tS/sikDH8UZWHlKIEsQKbz1nxi4PVeOwlykmbOxAxlEQXaQxnwTf3leuRvJd/peoLXNAH9Bgf73qFq82AgJltUXFS4s1VEOaCy+B3QXAshoa63HccwtXyiL8/cXBTtifVX8njAdJc0jjchlBsUxa2oVde7ZdxiiVGZMPafgFK9uXuKnvQ2aS8pBoPCG7LELRBD1mK7EFXP2JQZUj1eo8eVUAI7er8iaVQ2n8XiCNW9BlRCYVgI0t0fbGkj/2ueZsg6KnIU5wxAEL3py8B5dkapPDVY6pttotbZbQLEmCRaLFKL2fdwExrlq/zY= X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1734;20:2uWd2ar5ztIRl0TIW/gt90+fVFfW47r28HmrmD/dwq9qKfmb1Y5pcGANP2H4rf2jrF5CUa90Z1oVisp2BJ+0K3TeUSxNBLcZTWBe6SWV4mABe//r1KRoSpmEW7hAp8Qk3DYKIYfvLFMNdy3SdvJHaTUcfMPAjkeryftboFirJZP2scrO6urJHd4PKzl3/FEfESvN+2lt9e0rucd9dsRDH+Ol2vUnziexihu3HXy/IvERR+t206LKUTEyPF6pasziS5BdOPIC6r4klkzg6z/zhE8/+f8t6U+FAqKlJVSxI45QyxZUnDI4uM0p9qBErpucBxUUS/Pwu2eX4ZCyLkvUjtJnvT1OUCOi+88VEABfhmrVj8lP2A5GAPZo1HNnGyna61/NQgdERwg+GkozKlTUUtWNfaz4+aLZQHOhdAx+Ufb4FkawCFNb+t59NVexefm7/P1qo9Tw1RSQ69e7g71JjCPVbYOkA+0rIDX1maeMhopH5lezRZMPn5EpTYqkYlBi X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(3002001)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123555025)(20161123562025)(20161123560025)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:CY4PR12MB1734;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:CY4PR12MB1734; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY4PR12MB1734;4:NwrVDz/78yG6s03KkKjsgj4gf28eJLr7AkaoryW3Lm?= =?us-ascii?Q?NFFEsURIXgX75SP7f01OVJoIJmKarVx2WR6wmGNJiuGRr07qUzr1XLeTOnGI?= =?us-ascii?Q?Tu3zQUOBRjDfzSNTl++qo2PXb10YwgwepoJhcFK0u72c3SwWzSHY29kCNl8f?= =?us-ascii?Q?3vR5iz75nKoeersLd51BvbEWSYFpQ3u1nsvrn9i3geO3VX630UofA1ZZ974L?= =?us-ascii?Q?sl07RGv+mF06kNFdAo+Se7G+nB8P7WKMp5CJZR6E8MI+VkQj0WxLT2BpyD05?= =?us-ascii?Q?Njgfmt0J84UQYffL55zWs7hOxoUDcw1mMBRTU06aWj8eKbhZt/5vI9+hWTCF?= =?us-ascii?Q?Xu+a27hu3bw1eXLPgfuvcwkXpmNWtFq1SR4j52SX6IsacUZYDCnNghNK7ej7?= =?us-ascii?Q?RMIUuNyHA00XzVQ8DgzUexCFVqDm0eJdEkLcB87QzF1Laa0QaDvn2j5ikkYF?= =?us-ascii?Q?/2qiePtLxkAna6dvk7tHy6YzSwA5ne7YjZlKch4QL6ndzGWANkCvG4/Az4LB?= =?us-ascii?Q?rHh5o9G+GLKYbVCMkGXRvn9Jiz1MFd8KBwSf2hDXlZOpbk9HzrwN7wTu9+0x?= =?us-ascii?Q?ff5FaAJ2kerj7mR0lK6RUUnZdhDkjONVRD2hsmVnDHjZENSNuJsez8NElTVr?= =?us-ascii?Q?JUJh/GeaxGau2Ep7EK+RUVJStKFWwO4ITfpzE54j9hbeWeuFV4QDytWU40b+?= =?us-ascii?Q?+CDWwvZD/HpTNX4Vkx1evZeAFLZKV9BHycDTr5Lc9A2TEDixMg+0MCvnTijQ?= =?us-ascii?Q?fAxuLUuwLe7xh5BYWu0aKpU96WZexg/QTG4Qf9unBpevpNojJRFA9I3WdsHc?= =?us-ascii?Q?vuDt877osxRG+TvzVI5G1qUq8mtnC90P/u1PJRJooLnM4tUqZ2pvFrbYscyK?= =?us-ascii?Q?/wW7bKHXZWbo9oq5/M+yJ8azsp8y/SmNRkZffp6j/SPgyHvV+wbeOS+LBxWe?= =?us-ascii?Q?55x3GxJEtfJaJ1LnD/Fsh6/yElATJfnRd12PRQ+0RhuYzrxQV2ZICk2m0zAk?= =?us-ascii?Q?MUsw7Y5ZaBJ8UnLVLVA3tQCpWLNAHwCdln7LCPlekyICTo8KiceTrhrr2ixR?= =?us-ascii?Q?lJXyWfMufTDD8mgd33yFLOJwM/1/BkL9yDGkaUm7C853jI+hRGToCqn7yh8Z?= =?us-ascii?Q?c+06olF7B0WzR1mMAr14K84LkZts/4XYDK3jcxSfMlBVn9fsBaFf5TAxQVBv?= =?us-ascii?Q?ZV0P2KKPpJLK4Cc13h27Sgcjof6A6AGFSx?= X-Forefront-PRVS: 0378F1E47A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(7370300001)(6009001)(39850400002)(39400400002)(39840400002)(39410400002)(39860400002)(39450400003)(189002)(199003)(5660300001)(101416001)(106356001)(6116002)(6666003)(76176999)(305945005)(105586002)(478600001)(7736002)(47776003)(50986999)(66066001)(2950100002)(33646002)(7350300001)(2906002)(68736007)(3846002)(42186005)(72206003)(53416004)(25786009)(4326008)(5003940100001)(8676002)(50226002)(48376002)(53936002)(81156014)(81166006)(36756003)(97736004)(50466002)(110136004)(86362001)(6486002)(38730400002)(189998001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR12MB1734;H:ssuthiku-ubuntu-b2.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY4PR12MB1734;23:+jOG1ZvMoGRmfDYpXjy4Noj/lG7zYIHc+bJrzcDqF?= =?us-ascii?Q?4neHiRvY97m6zy0A+P7FewPlTeB9IobuKH32YQemtI0TecqH5Z+ugBiBkZEz?= =?us-ascii?Q?mXJkRjwdJ2XJ+NL8MYliNlm+uO28G5Ie0RtBkXEoMcrjWvPORdN+yO4+X5+5?= =?us-ascii?Q?hN8QMyO9raZEuNoPJSKajVu8Uv+fTXlgjOSGS7XZKdiAwVbXUiatzSYVOgs+?= =?us-ascii?Q?uLzf1JiYSho7uJwetyYSRggVOX9KZKUxpOMEKhIZTT8bhoBXzbyZz4pg5IO4?= =?us-ascii?Q?ifD+WXsoxQYAHJk012rFvzNAnNxMeHOBefAdzY3Aft1sYS2MvBf27aA7RKLc?= =?us-ascii?Q?yY1DKLFCGP3+vfxW6QGmmc/U0LwV98m9Czsp6ARbpF0zqO5DAG3iw6Nzd2VF?= =?us-ascii?Q?4/8usHo6nLiuk1RmToZrm2kwIG62IGyEV12Zwka6uqYxwlvNnwPUxFzpsmw9?= =?us-ascii?Q?EJkklZpob/rHyAvN82y+qSrMkC90UXqzppA37rwgL7a/AU6COOi8/rIBkodM?= =?us-ascii?Q?8nCF4euCcHANAmu1ieeGMMsln0rwbHXMDRf1QsRDKvN99tWOJr5Cvdf9eO5U?= =?us-ascii?Q?RQGTc0xUmtSbkvz9Ey1gdFiuHP2PfZrnn9ERHU88wB8r06X4Sc32H/P3CK9M?= =?us-ascii?Q?YzhHTaugzSNqDxLJvdnPfjIryhYLv/mHAbCgn9Fz7wz+C04Wi+fqZzT57/SK?= =?us-ascii?Q?WKS5FeGRQx9T2NwfDi+geHF+TS/5l1m95YuLtFFjJPmR92NGLodueYvYFiNi?= =?us-ascii?Q?Ve7R9PEPs+pr1zdtk01fP69kmdxDHfgmj0KykExIRn1UCdbAJSSv5ZcocejZ?= =?us-ascii?Q?PIcoD3qGyfwUI4apTRS0HdMvfKPdD2gFs4+Tt+nx63stnFE3MDRrTknaVtYa?= =?us-ascii?Q?nFFKlujCmeypkr7K08iViOnzscv8CsLIMVu3ejRnup/HK+UQZNG3Sp+tsBHy?= =?us-ascii?Q?/weihXiMm+cgi/O/z3zuq2KOwGCBlTFvaOL4i842Zfj+Cpj5IlfjF6CqBoQi?= =?us-ascii?Q?Xa+vS/Yy0INTnrbPEOGEj0N4HJTXbuCTZSfHGhorkbQfnUPhx+o7Se84jLeg?= =?us-ascii?Q?4jubTmJuILuveKTkXNCWE8/cHNK6zCGF29gl4YToDxTjOtOyMuXWtgamDRq+?= =?us-ascii?Q?taGVt3zZo8qKAWE7xx+Mp8hrSGsRrVcJUfvj8FV+piFRNvgN4SE61TV3lvZV?= =?us-ascii?Q?IZ3OQ3obaws6qgjjx3xbD1M+FIsGlIwDpYkbxelaDYS3aHqN4Yg2l8RhWRu/?= =?us-ascii?Q?i2yqCg+S/uvsjJ5h6o=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY4PR12MB1734;6:axUfSiOqLUipYw63KXCZ8fjspfzw1CquRhuNEtUcNX?= =?us-ascii?Q?lf8L9r9aUZARfJuyTVVxTayi9dkdRD4m6D00mD89AmspdXDvgPPImjnF1oqc?= =?us-ascii?Q?H0ocf7qMPsO1xe5oz9uQb16z3H1Enkkmqkzb7Ruq3XyeVekJ88J3gTBYwLbl?= =?us-ascii?Q?2cZTTmudkHD7RRPZc9/wJupS6l7qwb7pV4pAN5zL+ob+oyRqdgfLGLSDLRwD?= =?us-ascii?Q?G86Tiir/Vtsyu51td84bA/oTUHRrLxGpQsnhPZRVeSpnVFYa0pwiBE+oqHBC?= =?us-ascii?Q?SYANscQnwY3LT2Ox4iSNVDATbtWO6dkz6lxEKgFtagkva2AzDCg46Gqfxq+Y?= =?us-ascii?Q?gXqA+tM8b+rMPCTw+1FxPIz/5oQEK/19RlTNHk5HjE9lyZcreNhpdTGxbtZ6?= =?us-ascii?Q?mVhS04fX5YFFw2bFVDsPkFg3SbwqKCuWDX9rG5D5+TudtbPLO7k9+B5H9kcM?= =?us-ascii?Q?HnlUFKK8sTNzgOIy91AxL60FE9gVUJK581fbHtXnF/9Q8q5vEBgt9F/7LFGk?= =?us-ascii?Q?r1vJjLWKZCWuYs8NrqGDqEjWfTgdMElME86ssOPgiOcdy7Ni7+ZJu1QQufyF?= =?us-ascii?Q?k/R7iNPB2ptdaw99Fck3jrQKjWi67Iw2nyRQ9TM9uHrEcmlEwM5iT6mlRnEk?= =?us-ascii?Q?LZJvy+pHN33Qecd9L9cGiDFF4ze5FIe1H1gHAr9HBUBIY8oTd6tgRKXR/zLD?= =?us-ascii?Q?lwfBzjRKfCUga1yhQy9bZdPS8FFzrxpmdKRZO3Rl/lGRO7inZfDL3LolRJU2?= =?us-ascii?Q?Ko1sftmEuySrNwc7CivlaiprIjehs5XikFd1P1JitPTY3GK34H1L18yVgX0n?= =?us-ascii?Q?JPtNNT53lwBrevAXtTplVGuDF+1EfpM9owTFXZuKgHLnR7/tisLidu+QBgOV?= =?us-ascii?Q?3+mwvvRSM/EfU0SBqiJFgGa6962prIOB/2HRRUuc2KQhNUJFPfrPzR6kt4I7?= =?us-ascii?Q?gD9R5/YhGnnY+pFcrhRhA4hEjkd+hjSSzuBRG4OER4zmAm5RGz9kkBWYyIjk?= =?us-ascii?Q?0bzqZyt+fGq46gS3pwPYe5?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1734;5:eOxSBvKJ0Axna4LRdXoXY/QvtL7qZG06S+d6FYdU88ZLI+LhH/S7/yTI/nxnxYqiBNliKpaRZQvhVM/HYQxy/Iz95+v5P7tjl3o3I4IVKeaHDp2qWsdWcprF6gQFTk+LxTcS2unjsCSfBcMIqhMCUjK0oOzYNwlbR38EEl8Y1j9i4DGekAd5+vYVBdQ2i0TMySbxHIWDeI+C1Y4F6QnemDhRMnlaGPPj8f8LSfJXneG6BVhNtz9SUyZf5inZrLXViqT3kh7HBj4fNv+cfNDltp1Sw76+66WdrXbgMvctmuHjYHrTxa5dbm238rxIHIvt+nq7LaNV1/s14+bS6IipcWtnnet2oJaYtlmzzib/3EG+wiyUwuhMLHPZRlwdWBgP4FToGjj8FBY8CgIU+TJiFEh8reaUrwDxvJcVUn6cBjWNNkpAt949dwO3gTbLIBRTuQrHJ17M3zNEZq7WVmhxX3VJaiMaynlJCczYHo9FfPv+Q1KEhmPkPdGXfRU2c/kP;24:0AAsuCQ5AUh6/2NthqNQUcZpdsXjRq31sKhh06UWOPUKlKTtZbkgbniVBw0ahsE1b92Q3PucxUNlamMatzISNGICOpO6F/ShFodEZcn8s6A= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1734;7:Dv3sKDBnajpWgU24zjZyV8kZbjtQgk3M/lIYZyqLLgT8vvemSxZGO+p0OMeKO3J0/s7GasFqyMMZF8g4bTP8T4wD7V3RwIG2CDJ9waHuAwvvjM2dGVdfq6t6Ua3rZKgbCkiHPovXp3uYDms1gfQENIXjkIdOQ0waz8LGOUZNZX5j4y/ul51VTMWmEpx+jUKCVi/sAgtsK+jynJMu17HWbgngQ2rT04NfM18Ht3hpyY3LIe19xzmKmy+Ap+U1+LomIGzkTEaeEdoxW7lkyozK6vMETLzfshKOdOvIhGDKoYYAk9YaZstLqSzZ/78GmJt3IWHqrBP6MseSd9BYn1br12yMu5yZdxyScpbdt1HYg2uv/LHVd9f81qEFQ2QfuNYLRcD5tkCXkjHQqyCb3vpF/7Mzb8jcoIHYKbUJQthVRxg6UUmPC8I/EvJdNyeZFhkVaKXQ/tF+jxUqn5wUfZ7lK2S3NO5Hf8J207oo4zZiUHOn5IsBzpaXtwAuFzEJGQFFV63lAMnt/G7mm6zY6i5Wu9reaP8x/AfIN6Zjrlj9pYzrnyILeCF6F9zxfvKdMn2Zglz4i4Fw2vFbGvhX9QqAC3TF6+i9n3Z3vLQJ4QmgBMFXIKVNpb1NFPRqx+ceiEIdOGK3/G2U7Pm0KTlZMU2Pz3rqTxQQD5axQmrSbe8xXayZWpyz4av7a526rjkYoUs24rLhecuUDkrL92h1T/zkytkf2YnYj+ejbzIzOSzIJ4Ij+Bf+qnbDvbvko0cY72pP6F5W3nGdCJ85c/KmousTxF8M9uecQCCD7SCcbmUtb58= X-Microsoft-Exchange-Diagnostics: 1;CY4PR12MB1734;20:qYbQ5G2ClZQ+PUeuSI+TMO+YkJhvzh1tKr1/a9kD6nlxG7vVYs6tXqaLjiQEkly3NES9Zn0aE6VZlanXAft2RsFSeFKTxlDmAq9hKANajfOL7NnZdeSJtzZez7NIcC7nGnCopg0GVjSw4a+5J+qsgo60qqaNF+/BCCHraZqVAslNFx6j7QJ+MREL+vLqU2G63syEn6vAvOBCAN6SbXEXzQ4vGP8rUT7V4EhPsW3kqGymcCDmhv9Hufi44gTQ3Okj X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2017 04:35:43.5663 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR12MB1734 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3215 Lines: 115 For family17h, current cpu_core_id is directly taken from the value CPUID_Fn8000001E_EBX[7:0] (CoreId), which is the physical ID of the core within a die. However, on system with downcore configuration (where not all physical cores within a die are available), this could result in the case where cpu_core_id > (cores_per_node - 1). Fix up the cpu_core_id by breaking down the bitfields of CoreId, and calculate relative ID using available topology information. Signed-off-by: Suravee Suthikulpanit --- arch/x86/kernel/cpu/amd.c | 77 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 56 insertions(+), 21 deletions(-) diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index b481df4e..62a4814 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c @@ -302,38 +302,73 @@ static int nearby_node(int apicid) */ static void __get_topoext(struct cpuinfo_x86 *c) { - u8 node_id; + u16 l3_nshared = 0; u32 eax, ebx, ecx, edx; int cpu = smp_processor_id(); + if (cpuid_edx(0x80000006)) { + cpuid_count(0x8000001d, 3, &eax, &ebx, &ecx, &edx); + l3_nshared = ((eax >> 14) & 0xfff) + 1; + } + cpuid(0x8000001e, &eax, &ebx, &ecx, &edx); - node_id = ecx & 0xff; smp_num_siblings = ((ebx >> 8) & 0xff) + 1; - if (c->x86 == 0x15) - c->cu_id = ebx & 0xff; - - if (c->x86 >= 0x17) { - c->cpu_core_id = ebx & 0xff; - - if (smp_num_siblings > 1) - c->x86_max_cores /= smp_num_siblings; - } + switch (c->x86) { + case 0x17: { + u32 tmp, ccx_offset, cpu_offset; - /* - * We may have multiple LLCs if L3 caches exist, so check if we - * have an L3 cache by looking at the L3 cache CPUID leaf. - */ - if (cpuid_edx(0x80000006)) { - if (c->x86 == 0x17) { + /* + * In family 17h, the CPUID_Fn8000001E_EBX[7:0] (CoreId) + * is non-contiguous in downcore and non-SMT cases. + * Fixup the cpu_core_id to be contiguous for cores within + * the die. + */ + tmp = ebx & 0xff; + if (smp_num_siblings == 1) { /* - * LLC is at the core complex level. - * Core complex id is ApicId[3]. + * CoreId bit-encoding for SMT-disabled + * [7:4] : die + * [3] : ccx + * [2:0] : core */ - per_cpu(cpu_llc_id, cpu) = c->apicid >> 3; + ccx_offset = ((tmp >> 3) & 1) * l3_nshared; + cpu_offset = tmp & 7; } else { - /* LLC is at the node level. */ + /* + * CoreId bit-encoding for SMT-enabled + * [7:3] : die + * [2] : ccx + * [1:0] : core + */ + ccx_offset = ((tmp >> 2) & 1) * l3_nshared / + smp_num_siblings; + cpu_offset = tmp & 3; + c->x86_max_cores /= smp_num_siblings; + + } + c->cpu_core_id = ccx_offset + cpu_offset; + + /* + * Family17h L3 cache (LLC) is at Core Complex (CCX). + * There could be multiple CCXs in a node. + * CCX ID is ApicId[3]. + */ + per_cpu(cpu_llc_id, cpu) = c->apicid >> 3; + + pr_debug("Fixup coreid:%#x to cpu_core_id:%#x\n", + tmp, c->cpu_core_id); + break; + } + case 0x15: + c->cu_id = ebx & 0xff; + /* Follow through */ + default: + /* LLC is default to L3, which generally per-node */ + if (l3_nshared > 0) { + u8 node_id = ecx & 0xff; + per_cpu(cpu_llc_id, cpu) = node_id; } } -- 2.7.4