Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965020AbdGTJwf (ORCPT ); Thu, 20 Jul 2017 05:52:35 -0400 Received: from mail-sn1nam01on0086.outbound.protection.outlook.com ([104.47.32.86]:48192 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S935653AbdGTJwa (ORCPT ); Thu, 20 Jul 2017 05:52:30 -0400 Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=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, Suravee Suthikulpanit Subject: [PATCH] x86/amd: Derive L3 shared_cpu_map from cpu_llc_shared_mask Date: Thu, 20 Jul 2017 04:52:08 -0500 Message-Id: <1500544328-2132-1-git-send-email-suravee.suthikulpanit@amd.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: MWHPR12CA0030.namprd12.prod.outlook.com (10.172.49.16) To BN6PR12MB1729.namprd12.prod.outlook.com (10.175.101.14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d6fc4c27-de0d-42e3-2cb1-08d4cf55080d 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:BN6PR12MB1729; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1729;3:nuNUCHA6Y2LIJv8+wKInI6bXWhqGwKSfHPEcD7pXlJHfYH1rX+EgJKjY+788D5AkKTE/2DeRJJqy66+u/Mf6kHcBWlEz2xL1D+KmCCYRlRcLMQ6oFXhTpGZHid+xOUtkqPcoOTHhey+gYasFmNHdfc9rq9K1DbwrWfD+PO9IW3eLE7CNDM/MYJ1qQls/OxvIeIdOmk0RPZfknR0t1CaGAYoAIDoGEJFV1JkFcUOMvlgmoDRLEM0TW3imc0aiysyBV7ayUkEfX8T7+3eljeHSG82CSCjfeYVpWAtBhblEkWc0LiEVyCp14ol+UfhiH5E3jSAK624TdvjfgzzG7ZFE11FaIClyeV8rEo6M1ZgK2yUwMMpIFTmQgemur6vRnHAX1BE29vHqv2FplI88aR0d977k6a8ei0dqF5c5SzHfj+5arXSXdDIEvi8n4pZk6NR2uDFgnguKFTlzrGL6J6nQ4sg+p+xNdMV6aCB8Twg1GZ2S2F1brfRxmCNkRdmRY/CjzrO/UWo8PcHJb75SvQIA/ya5R7S3jDum1KkSRcM6ETne4RU2pWaMyqj9Ov5aL1m5kys/9xRec0vlTA4Qc9LSZQIQKdG6VaYyhO34nwSIb2zBNJdZafo1iO/V3EPIHsqteGUL3RizUMEpgNaf0rl5r8vat3DIvZAW7OwG5BMbSrMsCKB521GX3S6fKPQEfifzuOohNQOM35oniRBNpxTR7P4gldXxV0jImGIn7hvOSLA1tgEoRQqWR48dTkeb147n7QVNLQ1/+1VovL9dRBRU7A== X-MS-TrafficTypeDiagnostic: BN6PR12MB1729: X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1729;25:zsYahoob4BiSGXIlvk8HxikaE43k9Gs7MIgeC/odNbRoI8lCDvGHTfMTJLznDyj2PIxj5SUbl7Lh5T8lUvbJbASxO0oqP42VGbt6NpAJaPj+Lao/Q3ujJR0KVYwRL/BfexuoXSYtMVB43F/1KDhuWpBB27fD6nRmyUwGs7hCrCFey5TpP2zTFKpsKendM+abKONmNwdlvNtud6QMghN6Mpx6U0YAgVHjpCqHOW6kJOWQGjzzI49xO381rH+QwDQOI0hANJYyQfaVsOaxSvAzymtk0JvuFhyKfst6lLUp8Lm0rGRw+sFjJr9tF0NYViRdM28FF40qsH1SHuknqXKa4cEue7ki/JmxSQz2XqdCMBQniS0QUH7RQI8r+BnMwGuHc8FA1JbplsibyHkUeLqnS3alQaqIPwlGVROzcThxnGP2yAb80WbQyydj1l+y+jioY2KJnEScpPCfN75CeSPHpoBusGcZugv8E1S2lspp+nU3Av0cKpF7CMug/ctBWZdzGMpjZBd7tZKjxZfoMUALkN0ugUwcjuuvWNM2qZoJ2PKVBLEVmMl4o+1id14axXOqJVUNQ27Lt7LvI7zLB4sG37zERRNePoi1hSIRXf6ClC/9ZqWhXbuhRny5FpRVJhStOvberA9x5YkR5iBH3nqjyEmKceeNKDpFRinE5j8xCiAPPR7g9ZQ3GHrZ0q0t/70vmDF+4mbOB2BqdBJ6D4xTBQhhn4hcwYRJouErZBE4OL5C0xfOgAkZUWTKuwjfvQVwhLojXuG/bKNhnrO4WbWpLQICsokh7QmQOGlUQmufObfw7ONPoMKzyzyj0EdJEHpPiXc6M7EVerZ3p0IesKkGLHo3Kupwqo9/gL1FMymuG3FY0qnlet0vhLQKLsV9Cp8xkmw7d175oBI966yCfopv/S0+unV6b19/fJoduXtCUEU= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1729;31:U+vwN08w4IpzV8Gmv7fZ5h5lbitE6Phu3PSkfWj1SAQR0pxVpmpVhYwTRQFgNYjZ2Nr+SncxgiyS85IcLGlaJ7k26uIHf6MEnie45hxb0a4s7HoYSDZUJLHX85odh99UrJvZSJpbc0a4hG1hRr5L3ubnAnzZHIJs6zUS/hy3narxYqGRx0nkvAo/9FZoLTq0OG2wesrCxXD8UaISMHtVeMPgQGOaerrKpdvEIRg5aLz7b7p1LGlfb8OZVxh1XMKDh32n3yH2lj///TY6rLR0oWkHHWdSPjWhDWbwi3/b6NejxlErQAg/aGauVgDcsiXrfgLZ/3IJpe+xr0Ge+bgxkBv9q876C4oR9OYwV37O5IIB4DNLbFFD/X94VhDUQDyf2BzmRvDFSTz0Uxk+N7n11P33b+QvX2JL1GUm+0l50OVeiKpJQ2YbAz9mv3sCEN+itpGFtX1I05piUGICZhiGa+1gNM+rk/5gFuLjQN3c+lLTCIZvdpBSEK/lL2MOJeZLyRpvLVINeNwaLXCtNyx0y9G6yR2DJrJHwhwJmLRblc7LWbnzjAuo8AvfIzaSb3vZOK7lZhfEdRMiHditUPjx8/l9CSWoHmTkcpWDloVN1rAZmZmtucGv+fJ08DmxIgJYikr7yxdVpmo2EH0KiRktQHF/Qxrp+7S71V9Vkh6aPgM= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1729;20:/5qzuVSkf0LGVfhpq6QR6Jb1BX6Zwg25HgTFlsUfn8lRYukDFJkDK5yF31m958x8DlAaSkhsXVcrtACqVwwpnSbaDBBbT+qAMl240q2+4Ky/p04SaiaW2FIlMxg3b2BbmjWI2qTdthuO3m/mgmAaRmIOZ0NJntSJ7iXZGbVCcYMrCBEQ7AaDLaeyFTWEw4dJzbWMA45cQMJu2AST4OXvg6jd7wOWZnkJbFwAGzDvDCTAx3Zwtyc6y8JAM90PjxROT7O6MI4V0QUkKXxDK/gd/hXecJWf/4Y7oFg1o1lanTYpvO6kRVpy1FRT4RJh87lCPLs3vVKYltpklOPh6tzw6hLm166H8sH2uH44W7Qg4xvcNTg6NFS3+4PwcewY4BLWRiggG2GHn0orMtIbd8O8+zEeniN2f7m7EIuNfAagOTv4LtDFqoPH3e6ZMUrLoxphYixZ4jabKuhNeVmDzemebhtzuWrnbtPqXTP5n9q2ytfb1ccNNn9BEgnDM8A/N9aK X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(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)(2017060910075)(10201501046)(93006095)(93001095)(3002001)(100000703101)(100105400095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123555025)(20161123558100)(20161123560025)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:BN6PR12MB1729;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:BN6PR12MB1729; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN6PR12MB1729;4:dJdYvPWh23F5xnODqWJ4RqvRS26FFkqq/shoBwbWKW?= =?us-ascii?Q?oo4Ts5PVVLNEYVXAhOZsj40UUj4eb6dftAZFHHttUZDZNr9k09uj3LZj8A9t?= =?us-ascii?Q?RStVXmQwpvtYXjB2X5SLb5xootW6rao9Wsv09BL4SSpcKkUb6gxT6jvN/fTC?= =?us-ascii?Q?JU9OOYnjc12DtfQX0e5ZHnwTGQThppg6MxIQtSflENLJzGcwuHs2oTxToTt8?= =?us-ascii?Q?z29IooUOPyXV6gAJr0MkEw66plS+808yBZszqRmYX5F9Y9JHOfAQJpn5WqTb?= =?us-ascii?Q?E6Vy7Ko7l32qcOnmgxGtgOq8VLGNevU6uZwUB6N6AibRs0XeGXrH+3PuKXbR?= =?us-ascii?Q?PkPJ3QqboRmyk34fqiKT9ymXJcftKvkP7XxiJ5ndROh5AzfjzEppNQlpJJqv?= =?us-ascii?Q?zlzUc/wDAn42LqzIsi7TbCJxyM7XmLlo8KlId06p0G/IzaCkiYjDsvm+F0A5?= =?us-ascii?Q?RMeHr/rjx+lh/89/KwHtyxnZIB9FXNMi60CgfKAQ+Ofb/QD8vA7f8sVbxPq2?= =?us-ascii?Q?J3wTHkNzPZ5zeEeO5o+33SrukOPeDisVqIbPHm+X86Y6L+r60cXVt2MajqF5?= =?us-ascii?Q?LWMRQdMeBEjoY91ME4/1bJoCCbiOaQtLQ3XuztCpm86+bKVgklOCkPPwACuh?= =?us-ascii?Q?Vk4BZnBM2SXfSAYteRilhJ70oiaNmovqF4iW9BfaGK8PpU6GshHrSyn5rqH4?= =?us-ascii?Q?5LmXG7UWqotgrsIibT49+OSM5FT+eigstYm4uSdyjWJcTOgZjX7ltO2Clbtn?= =?us-ascii?Q?JB/SH4X+NFbBy+ruaysDJqqJmroUdk1t/gLDOrHo6ATKalzfDkdCmT2RyP8B?= =?us-ascii?Q?eodXY++9qiVkwkaXg3oqvvTezY6dNLDqUu9PYMHAxV1gHoWUtKm0XZ6V70Tu?= =?us-ascii?Q?gwcR3nwrizoaOCIeNQY5aC9PeRz5x0AY8b/yZOqTtuZ5ilxfuBDzQlVleGwS?= =?us-ascii?Q?HuK+GqBnCg8JmhifLAlZSKBPkDb+byg+HF1zZouPMjs1L4N5gxSZoDv0vuko?= =?us-ascii?Q?apGH5J05IlrT5bh9XJkEO8DDrNdki5Jj6pOFGJzbRb5380w8JCQeH25OoAfr?= =?us-ascii?Q?oLu6BVtfray4wqHEfxJU8m2MZeE58Yb15wNmXlroQFd3dNpHpd9tvFym+dlS?= =?us-ascii?Q?lCp6xHisYz4aGLHCJcMBXgKreHkwfK66rNsLB+Ztn/Cb8ThyMT788saLulOM?= =?us-ascii?Q?TLhkDKuIiEbKVEA/RjhkJy1KtRUKEIX5rMAxycldmbaojmn6+092u8JNqdZ/?= =?us-ascii?Q?rR8lIDhXJvOWXfmEK6N2Ec8nB7UWTpE9Fqh/9l?= X-Forefront-PRVS: 0374433C81 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(7370300001)(4630300001)(6009001)(39400400002)(39850400002)(39860400002)(39410400002)(39840400002)(39450400003)(53936002)(50986999)(53416004)(5003940100001)(33646002)(110136004)(42186005)(72206003)(38730400002)(478600001)(50466002)(25786009)(7350300001)(4326008)(81166006)(86362001)(66066001)(50226002)(47776003)(48376002)(189998001)(36756003)(8676002)(7736002)(6486002)(2906002)(6666003)(305945005)(3846002)(6116002)(5660300001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR12MB1729;H:ssuthiku-ubuntu-b2.amd.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN6PR12MB1729;23:eVX3eHndBZ2vPDKN+hMS5+FsJpCnOtk+d3dKXImCK?= =?us-ascii?Q?TqK6IO37WWV5yPZtSlEaQyqfzB/Fdevk/3WzJGsdhHMk2gFWG+J4JeLYSJ2n?= =?us-ascii?Q?9Ux67NxyoakyIw9POZVnujbSrLszvv9uYxeDe+qLszQwrEeacMjorYAXUBEL?= =?us-ascii?Q?D82iMsMcX2jFUCAjZ9z+d09VJLAKcDXPgyZNUUKh05ek64Vi27YTCPR/XDza?= =?us-ascii?Q?PQi37VUFSmh5DYKLvQt4XnJpMPg8PpJvIaXeNefqjqeO7cVttO5QhdzKvbXR?= =?us-ascii?Q?HG1brzJ/hZ8QCNByVkD8vzjYNn02OsL5whxSVGrpDSFHhTFJjpkQS5fwAFPN?= =?us-ascii?Q?BZX5DP96GwuIMsR7Z+FmybGXtm0Mfx0cLBK7qO6hR3rnjbHCbtrdbeFtOAJI?= =?us-ascii?Q?1BPmsFxCWEtHfJV5X2LYxf6b/5FzhQwYzvgW9ocC9RlIXZydYQMCyUx1C6hq?= =?us-ascii?Q?wSPbys9SFEAsRdbrKjxCLAlVSZjdhA0BXg7mZ48pqD4OPYSpre5WSkOolPes?= =?us-ascii?Q?RPeNwqhuVlDtuy+2+xdwjWOxJK2ZjVWf9cIF0L9luvjC1eEGwPOhSta5UTCL?= =?us-ascii?Q?UQUj7W5uTj36Ty9pyYTnY7BaMIFLmAyrB9nV+DpCW9+iQudkxlR60hZEE7p1?= =?us-ascii?Q?JwwS1fG/YMoxrz+M1yAlDuC8MVgi+4pEs95WMno8hFiL3sobESZIrFIpR5ek?= =?us-ascii?Q?RnHDzp0lGMIGc5mLUZowgrMURMLTpVd2HJHv4NHGhYk9T2ROSG8A0Tel/uyR?= =?us-ascii?Q?RMS+ghS0OO8TsNL5iSU7Run6pKTT0k470hOS+xX/yjHtOi8Pc7XmPJS2bo11?= =?us-ascii?Q?sno4i+JejU32caZWwpsA+5r8N6g7beAuiFZH//YHgxQL52f3m3I6Iu3NSTs8?= =?us-ascii?Q?iRqZ5vdJbbGZ+Oq3Qg8MxHWBPMBifvrVMeQpxGExIMBSgezHHIqXSOP6xWF3?= =?us-ascii?Q?FhR8mYf8Qro8SwD+Jx6SA3FoCkpeutiJTi921ZmysJCFrMzgUDJTvK5xFNEi?= =?us-ascii?Q?Dc3alM+7sjiu2WN0ysfp0i1h+TDqI2V7l+eOm5Ss8pPP2fFQpiEq5m4ccSh0?= =?us-ascii?Q?ZIy8oQ=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN6PR12MB1729;6:r6E/UFmbfB5crLp2FfyWvDOkDgdV9QKAjnTnOQ8HN5?= =?us-ascii?Q?9zPCTjWFDtiqmVa2rK3QhOQo4voCtTfBX7rvfPaLALEAScFZTUkL2UHv1eNZ?= =?us-ascii?Q?Bdj4z73dLdzHiidv0wXx03LvhMBfvvN4X1V5m6Hx+QXGDRrCUVLsq66OsQe+?= =?us-ascii?Q?fWLWQ/3KhRMha186fqGQ4mcn0jHfIkL96PPCkZOSHhu84r+fJiJ64cRrhLAs?= =?us-ascii?Q?sOTaZw+bYuCUosYL5yHhhUsqxdNcld6aShcKNwXjWw+1OEuywpvF9CB/qvLl?= =?us-ascii?Q?sS/Gw2DJYGvoDlmJScRrTvTKpzWbNlHYmQXhhb/PQrr9Yen6cRBts4O1fGeX?= =?us-ascii?Q?p5PGerdb8V6zcHRXfewEdH+sisDVdCu9oIIOimoZgy06cAuTOkFDRViIqWq6?= =?us-ascii?Q?3PiGDo3WkF6jAkcqR0nCw1qyx1hkPFvxBlGcAx+dqMJ9TJGwUAHFfl/T+FEG?= =?us-ascii?Q?hHMDKAyGy6n6+5/i8byC/bYGrygxruEVpVABIf8F8wysyQIiB7oWXBhc7VzW?= =?us-ascii?Q?E9oQDwiI+1ZNHxVOnmc17Mg0UEX+rhGBQSfQsFUHauP9d46RH9+Wy2g9f1y4?= =?us-ascii?Q?SczlNn51j/UBRFWMo2cUVQhlFFY3YSBuHrMyhk03EcpciP+66/Nu/6vWHuCH?= =?us-ascii?Q?YmNnwraYzr0VRZ7xAaXUnymdlrXM1QPsQJYdTxMsaZvWbP5rzLhUKa4YP//4?= =?us-ascii?Q?W0IYoPwvUDU8iLT19Jeyn1txPlO9+xprZfjHX6DJBOQPV4rWFOstmFhKQAPJ?= =?us-ascii?Q?i7WCPW7OajWUU5u+C12nkt/JzeHnm8w8Jsl/uo5HP0NHvLpVWbODGFAbNgFX?= =?us-ascii?Q?J2XhxLpqyI3KFF56pYA0m1gOnrzzoTg2EUIOuwtQ85SM49VK2g/yp9lJAWLi?= =?us-ascii?Q?d7nRxP/5O/5eZTa8xORebz+B3vGL+L3hnc6mMQ48H8NMg5qKQ5Ijfm5FHqKe?= =?us-ascii?Q?s3Mn5uUdg5cKB5StQWz2foEXLLI9uudf5LILHjmfGBjQ+D+5Cf6fCQS6wavT?= =?us-ascii?Q?LpaBahWCQHROKjDH3Ql5Ox?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1729;5:LxIFeI0p8FRagGfQ8HhbNNRj3gFDPOXW/tTQX3DQSkZz6UcHAP4riN5D6E2AB+9TT+CvdXoH4ZDpCm3pPmdFaRJmbbcZIBGllT1lh3yAkxPfnWnMu/TbemeWsetbWhIM2/v6IVt7KvUIF+wDkk/F76+HD1hApEHvn1mZeetpGJB3bEwoiIrisNKtqzXGAStA840LU3gIPv7lczlZRg2yNY5rUKRahOEvD+2NcUNy0UfxdfAzPofCwyum2uOvSiikEd2LzSzkPJ3WY0JEtjEUOE+mJxChebXc1bpfQiqhmdxQUIu9INWAoyE6vz0HPkPX0twsqHYaz6CzpzqHbOlJMONBdH/FW5qR5AX5TLnnQQ57su1ahcsv5e1siW85G83G6xu0XeD9HEml35JVnd8RHa4jcp9ZUaGl6pnvtHgdi8jECOUbaOK2cX9n7hqTCg5hefyDf2KYUrRrxdktK+zMB3wbweAFBMOkf13PYDI4i3RqmTH/6ptgLdw4ypftMih5;24:nwTPpQYdBLAK+GkqiIkRw9KojUQacCfC+NS9NwIC1HT+GMYkC6zZPFhxvm4uM8D/2P+iSRjJz4QKRVoG+10kDPif/BRrSJNNpr7uhfR24Jg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1729;7:B6UJY8yRxizrMweYDWgxPI782betHyDFzgbf4j/oXyMQHnMglraF0N7t76pHqB460EovyXiSih4TNLY6682ZGvibdoSVORaU/oWMs/hYMbu3jiEyvmbpyq+7x3x/Gj9AOsvXSuTAAMQqc5AggFrciizQPVmOQIy3XrASqgcuHO+rUFaY2njK9DXgpCYj/X0w63yoH9AoN3R6Tlqv6WAmxYoaTDkRaYajxYqBgR/FejaIKzPj0S+nq8evlIng4FP74NzVtviex7heS6aEe6ZpOA3hD1V9tsQDgu3JXzxTWc07/5fJcfUuJuLvXxxRUciEE5T7f0QY25uccJYbLv2mEnWwzUEFfqXcZD6UDQIfqKW9CTM1uaZBDoJxez/uTY9oMxho/SAkbLu155Bbx6REwv8BkNvL4e8emdWQPAOweduxagjXNZfwNCE2U2ByDoWmIRXKBPyT2e9JeBA8mxJt80sg82HmzrttcJ58Si0luPv1gLmUYpOeCGw324UbZTaVfyiqrS9MlnzOpOwwI+RP+Enb+aVxx0NyaOHTbJlbL3FpygDGkQkUpXlvLIjdbDCTdYzvDZYod8c6SbMQd1pYO00RnMTDdamsuWZzQPPrLnQLLC2vJbh3e20tO/qy56VZFOIt/vbGefNjH5rK8cz81LMjVyW8q8io+6HvHt+W6hUwc1byJFf5JLLEN/WvRzBvMP/HCELWtY0OMf1FpcBSvnzfXu8Dymx7uuWt9rrITkynP/32hAXKE1JmQMlg2nZ11/HMHPLThtiGwqJwainTEOOgGSfJRQY5/7SdSxSdnhs= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1729;20:rDfCJmcowkhJv4t/J+sp92NE6tBETz79887kO1ON/LwZZd/rUIX0Bg9A1JDECzZOsezJJ6HTXLxNzczFxY9At5E5DI0RRRAB5dEWJJgpxWMVjIMhb4ErZ/qGW0qWwh/CroB7bsakHCzasJcApVNtrF5a5hECPSTGe0VBmgoElglNi1YE2h0eYtmIFR0MPzm1cVs6BEa8KPX4iAgxsgi13JmAxVbLFFdShmapPWOsH6oiyu9HGzh3xvocK2cech2h X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2017 09:52:26.6583 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1729 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2075 Lines: 62 With X86_FEATURE_TOPOEXT, current logic default to using APIC ID to calculate cpumask for shared_cpu_map. However, since APIC IDs are not guarantee to be contiguous for cores across different L3, such as in family17h system w/ downcore configuration. This results in incorrect L3 shared_cpu_map. Instead, it should be safe to always use the pre-calculated cpu_llc_shared_mask to derive L3 shared_cpu_map. Signed-off-by: Suravee Suthikulpanit --- arch/x86/kernel/cpu/intel_cacheinfo.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/arch/x86/kernel/cpu/intel_cacheinfo.c b/arch/x86/kernel/cpu/intel_cacheinfo.c index c55fb2c..10427bb 100644 --- a/arch/x86/kernel/cpu/intel_cacheinfo.c +++ b/arch/x86/kernel/cpu/intel_cacheinfo.c @@ -811,7 +811,20 @@ static int __cache_amd_cpumap_setup(unsigned int cpu, int index, struct cacheinfo *this_leaf; int i, sibling; - if (boot_cpu_has(X86_FEATURE_TOPOEXT)) { + if (index == 3) { + for_each_cpu(i, cpu_llc_shared_mask(cpu)) { + this_cpu_ci = get_cpu_cacheinfo(i); + if (!this_cpu_ci->info_list) + continue; + this_leaf = this_cpu_ci->info_list + index; + for_each_cpu(sibling, cpu_llc_shared_mask(cpu)) { + if (!cpu_online(sibling)) + continue; + cpumask_set_cpu(sibling, + &this_leaf->shared_cpu_map); + } + } + } else if (boot_cpu_has(X86_FEATURE_TOPOEXT)) { unsigned int apicid, nshared, first, last; this_leaf = this_cpu_ci->info_list + index; @@ -839,19 +852,6 @@ static int __cache_amd_cpumap_setup(unsigned int cpu, int index, &this_leaf->shared_cpu_map); } } - } else if (index == 3) { - for_each_cpu(i, cpu_llc_shared_mask(cpu)) { - this_cpu_ci = get_cpu_cacheinfo(i); - if (!this_cpu_ci->info_list) - continue; - this_leaf = this_cpu_ci->info_list + index; - for_each_cpu(sibling, cpu_llc_shared_mask(cpu)) { - if (!cpu_online(sibling)) - continue; - cpumask_set_cpu(sibling, - &this_leaf->shared_cpu_map); - } - } } else return 0; -- 2.7.4