Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751758AbdG1Bwv (ORCPT ); Thu, 27 Jul 2017 21:52:51 -0400 Received: from mail-bl2nam02on0062.outbound.protection.outlook.com ([104.47.38.62]:58369 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751697AbdG1Bws (ORCPT ); Thu, 27 Jul 2017 21:52:48 -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, Suravee Suthikulpanit Subject: [PATCH v2] x86/amd: Derive L3 shared_cpu_map from cpu_llc_shared_mask Date: Thu, 27 Jul 2017 20:52:35 -0500 Message-Id: <1501206755-2396-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: BN6PR08CA0070.namprd08.prod.outlook.com (10.172.144.32) To BN6PR12MB1729.namprd12.prod.outlook.com (10.175.101.14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fa7fc5d2-1546-4875-7ef5-08d4d55b58ac X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254118)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:BN6PR12MB1729; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1729;3:oqVT1ACWafQRrd5UZHqWby/w+8KA+p2jC5qgCQhngAmfq5M5zXeaLWpwH87J4yRydpZV9cKLBV8KzSyodqQaVjR1Hg8yzn65ekWpeEy+kUEIpbXT8VMyzScCG7n1/MUN4gzXiQqBPImhbtl/sbTjggGkaJX8/qWTUY9Afy9WAu2frR1EccoJ8B9JDijceinse+Hbep5FDBZAcuvJT73FwRcwFk5bUddvCVOXTbcsJKV7WkBRUHk+qWQrxuqoeB5erGvg3AMUYkWY/fk+Msg8GIAp1WgbGb1VRzocl6XkPnZjjvEoU4TEGfbGCOW5yT+A7iufhfA05wI7H0OFPbYFZPdLHYZOiIfV7+TSCsRjOdEE/TyBbc5a6gLiiRX6ZnjlN0uTY3UBNaGJJGf64Kr9k9CajiHbCzuJa9yvFhxJCEejSHdj9Vq/t/3hpMY94Puz/uUgiWihXKPgrQrcHaonQe89cwnu9v4I5mQZu7U3CHNy9ldMBIZ+burbBi14rzK0FzMdbafv9M75xpZMKkScK9PXD7tx91lFZI9lMKxU6lmEcIAbIPmvgPqLzKD6etVRHhJq6DP8QICIsTtDO516wwBT0onoVXgHjEDJ9xRPCWYdNfgtFYRusaZjQ51N8pF6lCG4nL4gM2pQvsouga9gHKOlVXMEb+2gyVjb/jKNPH2EEOZhC9RIfXii4zU4z+jXt0yfBf62LrwPb1c0a7djKtH+wB7HN1dlrjO6d5VbA1WS4J1SFT4GXjndzbW29272Ns6RkNpJLVT695ker1Pz1WneWEQLwFI0Xhuf9y1ExdJc+hHCjBYc9MLgVGDzKTqgpZTRB19SqejL9z9jxqstQw== X-MS-TrafficTypeDiagnostic: BN6PR12MB1729: X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1729;25:8mycMnIHsmgiH2XWjGCcaDS4pwKEuvOgKgLVkBFi4MlHidSQo7g/uJsNqFdP09Sh8qFhbqCz57ydfskkd7l99VnV2agF4KRs5/hAfDPpq4J+KdlbRKgkiBqNYeU6HCK8e4oRIOkSRBEQy23k8BsA43g+q0TVIr4jYK8RyY7s/zIC63xEnGQ+mFowjxf8gbcT9J+HC12xexdKKPyr3EEGDgDL5BNNCPYIhvlPAMIW3GC8PP+daK6Fpx8thI7gbGWnTvgUUZ36PIUFRrcPwq2Gb29dZ1Em1FpDMVDYgNJJXUneuUFCfvXaxq0HQHY8l4OwmnVfIDcRUxSKxUbO5IxLY5oNe0nqQj7BCZY5AgTuPcjx/syNHohrRxs7q9S0igrMqWUa8DVZuJPRF/x1DMs/5K3JdDZGBW16vH8gQoz8PKOYWtT7ACQbroqu3Tt5YlLnUJHnU7z3CQB3LD5UvAqqAVpo2uTH7IYZcSWj8edOBNL64KsgPy7rOKCiq6rTJ8UShPrIHpJWB47vCNWbM63v9iZ/TLBZ5O4tiYINr7IF27fQ9RF/ROPxJ1QW1Hf8QiGpj7Say+49faoqqbI2y5Arjt0dRVZMgp+GQiFh4TsZhNtSw8v5k6Adc46Ft+lgbVuEMjRZkU8uCYu/aebPinpUJVnLDhMduVXLkBVIhu/eE+4i6xOKKpi+N6/+xnlBWMwKZ2UpH0xzuUIwvhX5Jaj28VOH9gtcexBXqRKrKnpI1UH+vwXpre4wgwvSxhgYHD1X8iZWFONAudcBTH3lhzg9PHSUFHpcNESquCFdwDTr9vFgkxXq7FwYe8HBNT41eceS+fFzlqDLwnkqwdmY3uEEFQAViSrhLhO+P67//hd9yYO9b93nsnXbcPUiElbK+vAt2kbDeEL7Gp3xuCuz3qViz339DqfbBHW/b23dkqJXATU= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1729;31:+J1/5wjFrgsa/vvWQfFTFnpvFg1gsOC+8i+o4PaeP02gT1r4/vbpwD1tfAhvIyS29v25J4rv1rKg0TrZ534Iy0o0ZbSB6LzrtEwgDqAU8X8dMDKKG8YmeOcYJy29tsvvspHnD20zWAYQodH2YBETsDwVk1aLY3TPA5+b//DIF842SPxlGWDON6AysocoL4sk2wUwIS3rPWyHZ4n2A1j4s3GpFxMBgmBnWtEw2DPWo2s7dIpvCyZyf8kXGJAfWkG55VCLuuXmFQ0gB/bkc9SjRtSgw9E9G42RCfWFhS8udgPFyQ5se0RHNrYBRg8nSthCu/lXo8m/yoKzWkjCLrVH4sACLAKZFMQ5oUHRrsMxhvl/s2KV1Hm/MULswZ2vqmOlktsksOL/9nhjJvw9rrHSzdoK0YrnLl91j4eygSdRqgMvpdfvKBKZN558QiMlklmDvUsw5U9oyuSbi3gCtf9N5cuxW8npjWNUzwXW92CHEtUb8st7qxFJUBRAM3Nh2PCjtN0RVDOJz/c2jzD3Gz1Ev9ID1Lid0n6vBkeF8NiIOt4hthg/PGG0FRoPlHF8zGVusm+umvzzKhGBoW8cRPqCMUDbK18cJtW3c/iEM80x0VpPmNLGmUQ/akDqZcrH/TOCZiqCjKf1AdH7Pl4d1pC4cjlKuKKiW7TfE0KFcVKnFac= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1729;20:FXuvBq2+nK/m1Jj+HNklWGnfNemdgj6ftBCbc9AtM0adZ421P67KeS6QRemiS0YTtvj3LiKJrgJY0i8M7VGgZpz+ggzhHDRaTKUqouCBsttJZenil8HwlNhys88JRVjKDRyDOwYcZO6DDyw0GtfDpJipPOUeQEL0QAeJb1VF+T6cwlyOTIf7Kh9gke8tRCdYIwMRtjVPgbOZX9LGs8HsKlNgo6EnzCnpzc0op3CtCxAwECBK3oORhnlvueqH6XO0xUrofj4itM/rDxrb7khuKhbgjy7IPMyoR7T1b6KZejQtC2Bh29qvtKc20JDcdhOG3X3YBLLxXjofJA3k6cvyH6JcsdbEZQyBm9KuuJL+lwFzglQOvX6jsg7ndm/SfFj2SWTEis3iVi4GVm0MFCW5vDY/jIEYsQeTR/S7HBR4HeKGdJCXbfsX2NzMjxbHqj1awBVuizd7MpdbdF3yyLXCqClJojvNpt5XHwMs55xZb5gIsw0xmafab1Nc358sonTI 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)(5005006)(8121501046)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(3002001)(6055026)(6041248)(20161123558100)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123555025)(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:We8MDF1AlGrCBSKoQJfr/rZaxLt6+12bXnuiOY+Ry/?= =?us-ascii?Q?lbVwQuTAhYwYlZ7XKjbmnQyX40A+odCNSRK6wnjwxo0y1cUnaPkSRnSk/GrP?= =?us-ascii?Q?aYp0amB6yd0vFdpXpXAL7fxi2MU6anzqbVpfzxvR1XLqZxUSXB/6pp0izkcI?= =?us-ascii?Q?+8tluoH+FPRMBiH/JuefbIz4Kg1QmGoKdZ0oQ+OWZ8G0/C4feM4G7tIM73XK?= =?us-ascii?Q?YQIwbcqFJNsOOzn7N8L17Ox+u7LxfzezmYuJoF5Hn/n8ojBY5EDLZ3GoxLSt?= =?us-ascii?Q?AO901G8CLdKIAXiRvpjsvYrKkBJxUqNJ6Pj8tqr6+WeJAxAwe5Hm8HcrSCtD?= =?us-ascii?Q?gAzugRxr8ckZ8+o7VeDU4Kj9VQmPOkfcZ2+RmdnzflGfC7rx9NfYc8CmRrmI?= =?us-ascii?Q?VCwR9LRdFzUpEcDFFPZqynQRwbba0Uh+m3xfFhW5CPSWSzL8f+mGfDu7QwLM?= =?us-ascii?Q?x5yMbCaGrXSbFxKUc9p5dXv+f0nhcsUOUKbxkQVeWTpoIwg7mfvxbNFzlxhN?= =?us-ascii?Q?+G/Z4RxbhDLzrUtKGg792OrKQVtwONRp502WDzB+RqLMgxtlFty0D6m5vXw+?= =?us-ascii?Q?XncVvsRS4b1M5spqFWU+hG3jpq8PdCL9+02no4jbgQn8DbJs7xPZpkR7d1mh?= =?us-ascii?Q?LByvoaJkyknl6ewqmorH/lbSpzgrm2L8Z8rYiZR9UXjEVBP8Nbi1tcO4YPAs?= =?us-ascii?Q?ep+iba5kEWByQ1Ga3S8PfwPEHFZRaHDbd1uPFs/QHYv0t0WOx1ccvX7dHKpi?= =?us-ascii?Q?Jbp0IzS/aSTk0kxSbgQCxL6VOUPmWN1PkpzKjBuJy5vntfbDY8pt9XKhW6eI?= =?us-ascii?Q?Y9w+EVweonQOl14aQjqhI+xkxyhm7r0CSzjIum3foGXksHI2XHszQYUz9ONM?= =?us-ascii?Q?lAYqCawhygQl9K4AFjHM9QrFL722jmZ1kMoNqPgu0jMRqMxG0BBXBfWkxzix?= =?us-ascii?Q?grqZKCQwoLY1hobcYpOiP7NKAs/Wo5fqvJCfJnBEejYbF5iylZ1MiQsTBZBj?= =?us-ascii?Q?Xi5zsmOq9SBu6IMVHvClLXHE7v8yIKfXtR8x0l/DX0chdKve9AHFpeBZT0te?= =?us-ascii?Q?4rX4zikGZGgdjylxdn2HuMp344HiN9IfNTH8yotRoaP7w/EuRT4ArNdWTVxW?= =?us-ascii?Q?eHAb5M2/2RHQ/ApMJFjYp837gFysBkoiZXoOXGc8tlHNpPIR8KNL0TbmLAh5?= =?us-ascii?Q?rbyldxPPftMOsaGKAeHkv9hZAZnaS2TSsL?= X-Forefront-PRVS: 03827AF76E X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(7370300001)(6009001)(39850400002)(39840400002)(39410400002)(39400400002)(39450400003)(39860400002)(199003)(189002)(5003940100001)(7350300001)(8676002)(189998001)(68736007)(53936002)(305945005)(7736002)(81166006)(25786009)(4326008)(6486002)(5660300001)(81156014)(53416004)(6116002)(3846002)(101416001)(36756003)(42186005)(50986999)(86362001)(33646002)(50226002)(478600001)(2906002)(97736004)(105586002)(47776003)(106356001)(72206003)(38730400002)(48376002)(50466002)(110136004)(66066001)(6666003);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR12MB1729;H:ssuthiku-ubuntu-b2.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN6PR12MB1729;23:gaLTeB+gSs7wqZA2ba1Khdm0jm9FJcMZz4r+AVISN?= =?us-ascii?Q?0jguEzn5ioTr544udbutTjWcVcBLJOgNQ3ULRUfvbWX4yBdM0tWYi33sKALy?= =?us-ascii?Q?kymjyLvqvyrLC1Lh27ke9NisWsR2sxAUBITP4dWxYRSVJYW2G1RBVAEA0F05?= =?us-ascii?Q?JVjCB5PrLS9HwXJ4plhNhZEmYfqlD+Cn18UnM+NZSYjIIUCyc1ZnC8ySaRpQ?= =?us-ascii?Q?7B9qfdUUpa5kKtFBuSw/ZLAz1d/D0lfRdc4pQ96gNc46zKwVcGbuag6zsxmv?= =?us-ascii?Q?iBbSeyM28bAGMhBIog4cBLHMMF2VimZQ0Z8QHI6JmJnVFFfqlqXr4z0m3qen?= =?us-ascii?Q?ggXW073u2dQ83hWmYtOMJP+of+ogmpKo+sS41DcsL3YZ+tlfPvzTVxSYOkjk?= =?us-ascii?Q?4JXSDeSF/g734H6gbg/+WP4gRz+PXCik6KR9TUbNGfkmIwogsrfJh3bFtS0p?= =?us-ascii?Q?g0XDu9ZBYes2gRFkLMatwUN9uYVUWfVS6+CH5k0xj9w2Y/IDCatcJizFWQbp?= =?us-ascii?Q?5E5v9osN4Wr64bd8Hhd0aALYk35KCQEzEWGH3hksFKABq1soEKb+N73P07QD?= =?us-ascii?Q?XKLv17vYNdBS62jawALB9PGqz+pw+cINIgyAKJ0QLxkJ8HB6Q7+9njAMUojC?= =?us-ascii?Q?wt0Q3jas+LGJk2pPRBDA6Xnk+gCjGqd7mc36WbuvFn8TW2ScF8LNoPlfgNcf?= =?us-ascii?Q?UwVjvDVdDCoUmhDJKZMAJAMY3naSbkhbGrk1Trqs+6uamEocju7iwnWiyhYy?= =?us-ascii?Q?DhvVFOelwcVHbw5sT1lv5DihpiuUui4Y750xr6MCXH++n2XtRkQjBKYP/vv5?= =?us-ascii?Q?LyZGjuWrIGkmhcyCFdGOW9I2lKzmoFpmpikpdiGypi71NFxeczPIaXeEhHTs?= =?us-ascii?Q?Uk+zHMUNFfU9b5kQPvB0CVaVkd26NEMm5THq7IUvDsnGTxXd+oIuDA3Nwiaw?= =?us-ascii?Q?/44PJZMhoAnOvlDJ9W8KQ0HUjEsI4YVo3NdV8NLkNoqXPdSoN5KhYItkl0U9?= =?us-ascii?Q?Uj1LCFRN2gxc60N0//2SUXXdGM/Cb9qN7ohH+jDwaXR2lQ82DZbWc5aO8jFu?= =?us-ascii?Q?fwYOA261ee3401VS+Wd40kHHoZOuubP2VuUlOLQewGFa6y4oGimBG81DIIO5?= =?us-ascii?Q?04AwnLGAulAuUtfJhjSpCtXhuPkE1DRU/63qgDQizc/PcKMH2KB6LetIkybw?= =?us-ascii?Q?BTv2KrpDN0XJVGPPT9xrZV4ykXcaXL2EvSC?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN6PR12MB1729;6:EYt571+TwTJroCd0uFVb5E3qQWGlyLR26CE9VT5icJ?= =?us-ascii?Q?MecNd9nCaF1AAThfH3k8uQ7fIK9miD60ilST7QH4UGonJ8csplpBfuRUSgT7?= =?us-ascii?Q?nFoeqxHq+CiNNPLjVkY8+sB+/N3de8vNd3qua9YIPzyBz9TaWSgbPYgduyPd?= =?us-ascii?Q?oKqtRC1bub4McHpCY0FW6AnwovcqugWlqXfexTklRA8OTeEIHkzIfxTqGie/?= =?us-ascii?Q?Q7uTWh7HA8nR6/aLXzBOBjrnyQdRBWDAzc4tx7BlJQZsGqYJNfc98Q4FRp8Z?= =?us-ascii?Q?2h5fYHYEOZMtPoDXTGWwoXP+B2zesmFEjb2V0NzKIHLnuvnKjb381bF9N4Ln?= =?us-ascii?Q?M1deWgYdmhm0ndAF6KLstzfRecMree1r194MUfhgZ8iAdfSQJMzFqF1y0KUu?= =?us-ascii?Q?4P5Ge3htrRbIlYci9C+ftS0KRJGEq0e2qB5rOsMeuInOL9e9xq7caxW8gARi?= =?us-ascii?Q?2MWpGO8N7IE3xIRNTebi51dV+astowWW+xe/DjZLFr0ujhmNGH2yHvZ1EFRW?= =?us-ascii?Q?/zDuuZtr4rcvqt6uFfcd304x9p75Vf393luTmzquUBRbq9oD1RBvvXBvS+n/?= =?us-ascii?Q?DhE3Z9KuXrOzTlFuBr05112jSQnlDxnoRisqCWQs+As//upVBTgSy/V8U9ld?= =?us-ascii?Q?OV78hAdjgKEPnBqIhpoX9tWmGkOPgwDOwrq/7b05oCFWt5UyRrM28qAMD3X3?= =?us-ascii?Q?UuhTMxJYucskfsmna5cimxFM+2/MPipFy+G2fuiQqAAizsaC5c1QvRi7OlMZ?= =?us-ascii?Q?OWTmHod95W2+QjB5vBcAPIWU8YEJRE0EqDhfhMfAWw/P/GO7QVWxyIx5lNCl?= =?us-ascii?Q?DS93eaoQ4tK0Us5Ou9zxiOlxF5RSGZBc5ISTXsBOPIED2w8QJr84ak7FCgBB?= =?us-ascii?Q?NoiERcchEQhGsBaQ9uqU3m1GcEa6liLWIwuFzeo4a7W/zT1sS1H9KwWlvkne?= =?us-ascii?Q?SZ/0ukQS9hdLyXeJVzqJRZPkol7z/faeOKx24ez+31E+1UBACli2Ca1NLbUv?= =?us-ascii?Q?172JqwoxXqdw11ArKJ4r+9?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1729;5:FC21COpMBAFAqUmYuKfOS4MeflQamv22tR9YSJKuxgHCIWgVfzxoUXDBMf4//WjUin0y8XP0UGaPbMAiab5KMakCBm+mZpzdlkzMymtiEmOGhMesDuL8lz3YfHLqqjthWHodHGKIHSoW3T7OnWuVhNKTL6VObo5kITJYmbYujdbdSPlvMwF5Kxhaiia2yjtqka5m3Ex+53w7LDFN9X7ObQbNyuEKzTWlcDyN/G9ogbdhBAtL+LHR/pfj5ix33wm57bvYPS6j8MkbquLwonGuiC3p+yJpSiwSzS0w1ZZREZt4S3SPkbCBObhVJyX/IyEIjSdfjOj9Eu19yUeY+41xzn6XcxbqYwV0HYYA/lIHUJegWebY2yXW/Pzgfa1mbsDDe4GevgYihFCvy4RXP81ABlqQ5w3V2qzX023LvpYXBJGCtI4olPQ7IEzqYqTHscsa7AvhTW4O7b6vJLEA655pF8w1JimJa7pS551pJofEGk1O5HeFbeDWKQiEPpXwMx5Q;24:VFLc6VSM4XSkfnLvk1D9ThsjMoNuduKT6D5a0Xzb5hCXxEY6nuUh2OvvX9cyqDqitVNURW+4ql2ndYbsYegHvFIptCsdYkU5cozjc2WyIO0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1729;7:2L6Y2rlTrBPYVMVjA5ggoUP3YNUdAnDgNEsRtC0SJM49tOLx8UqMcZmrzilypcpqEOuw6T9AeM3A0OpBpH27TLloapZ3BmQhVLJv38C9M3Vsls+qFtPxGqWpA2zkr5BV0P506AtonyKGuND04Z0dv1evIaKLfaNB+o3O61i2wIrzZW2K0HlGJ2KMWX/82e9SJFzm3UhjhyyWbIE06dYGPvUlOLYCyPT/7JKx8Tct2sET6TKqwCbP9eJfTsD5JPDcmoJXPbY4QJdZIlIFZG/YKv8xEnHBZpwoNDgvD3m978dMSuZcf35P8Q7U8LNOppOaHQSFRylVkjd+YQPpAczdC58QfzLQUYMfHg+z2QtaiHfGRLoErsBhn+NRXBidTP8tnez3Oh+9yBsni80i8z0RcTYbOSjTBEn0xkBe/Y/cBEyGt/Kq3dXsRZLh55OMqFyiMtFJvuI7+H5QLRugrzs8IY8mQuZy1BWZAnqrSEsH3xp7OlPFcPoSr4H5lfYtCujQx9ayjnpOyurTIMI86z2MiOrWkjkxEVl/ZzInmIu0gE/UF89qq+UFokxrUUTTKFXzxfXafvVpwhE+oqA7pxlIukWaxfphLHGO3Z+iOa27dazzX/GHiP6fNnBEvYS2Qffhmz3qJNIQuNdNLj1c38rn3XpVGgoRepVQcZl/hm2bnkK+Czp4ZfCzFQEOOHASjSsOUoBdh0qS4Sd3S2caF6qIDDKkTBbSfgUOWHcqIDRoN5wP/3iSdQI80twJ1BQbnF6Cpc0cyrDMmwFj9qIypkOh/TMaMTK7GsMlXX8Da2RHAPE= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1729;20:M8x2D1rmg/i4l6sf8Rf6tS7xht1BuIexw8iMp7ES+2axOwpnIph1wFkribtyZbo89lRJZCY2YV9Wy7cz19k8Zt9RDjGtxdFDsYy/iGtmuS+6YTo69zBUNTmxKZdRvsNTLeRwMp0yRE5dzjENNO2hlOjC03J+tzVMS6UywYUlsHEPscKfBjRBmYCib9rV3Y36Eo/RifE5VWFidn9H6DOfuyaKjkceVLVG7Ca1KXA8Y1jKL+NCDiyDNjFavm6JQld5 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jul 2017 01:52:46.8168 (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: 2290 Lines: 68 For system with X86_FEATURE_TOPOEXT, current logic use APIC ID to calculate shared_cpu_map. However, since APIC IDs are not guaranteed to be contiguous for cores across different L3 (e.g. family17h system w/ downcore configuration). This breaks the logic, and results in incorrect L3 shared_cpu_map. Instead, always use the previously calculated cpu_llc_shared_mask of each cpu to derive L3 shared_cpu_map. This has been tested on family15h and family17h systems, which has L3 and support X86_FEATURE_TOPOEXT. Signed-off-by: Suravee Suthikulpanit --- arch/x86/kernel/cpu/intel_cacheinfo.c | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/arch/x86/kernel/cpu/intel_cacheinfo.c b/arch/x86/kernel/cpu/intel_cacheinfo.c index c55fb2c..24f74932 100644 --- a/arch/x86/kernel/cpu/intel_cacheinfo.c +++ b/arch/x86/kernel/cpu/intel_cacheinfo.c @@ -811,7 +811,24 @@ 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)) { + /* + * For L3, always use the pre-calculated cpu_llc_shared_mask + * to derive shared_cpu_map. + */ + 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 +856,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