Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751184AbdHXBPQ (ORCPT ); Wed, 23 Aug 2017 21:15:16 -0400 Received: from mail-sn1nam02on0069.outbound.protection.outlook.com ([104.47.36.69]:52037 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751112AbdHXBPO (ORCPT ); Wed, 23 Aug 2017 21:15:14 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; Subject: Re: [RFC PATCH] sched/topology: Introduce NUMA identity node sched domain To: Peter Zijlstra References: <1502378452-6632-1-git-send-email-suravee.suthikulpanit@amd.com> <20170810164149.2rkkp55km5cxcarg@hirez.programming.kicks-ass.net> <20170811091527.wyngvvq2dy3yzik2@hirez.programming.kicks-ass.net> Cc: linux-kernel@vger.kernel.org, mingo@redhat.com, bp@suse.de From: Suravee Suthikulpanit Message-ID: <13e885b6-ce95-b39b-9530-d5fdced8d4c3@amd.com> Date: Thu, 24 Aug 2017 08:14:55 +0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [110.169.70.255] X-ClientProxiedBy: SG2PR0401CA0003.apcprd04.prod.outlook.com (10.170.128.141) To DM5PR12MB1740.namprd12.prod.outlook.com (10.175.89.145) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8101cbcd-7811-4eea-56fe-08d4ea8d9221 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:DM5PR12MB1740; X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1740;3:P0apP+9MOOajK3x4/LDT5UgoDXw6kcrDMy5T0GjNLceAefcZMZkMfBtxcjMa7CZ8MZMEaZaAKJ1wotG7Qk92/tZ3SKMTqHRfz5w9YiPl63ycdrrc7AzAYWwxFVWZGvjj/CVoHUr+R/Lo8KQc+FE2uDWDtBuyk3U35olwofsQ9VvxFXIIF1jMc9Hdpp/OvEt+iSak3RLRVpAECZSdE54tizVVxQi6dBx2QCfsEVVQ9LQ3OQ4RbOVT8kcrfgctvqCD;25:v4dd4VknKHi1Lr+ixZredaqvGvbdLzuuxiSrCpvr1lXRy3cp8TnjK5IveRGzgPQQcB/7x6I/kMPcGLfORirhX5Adl+kByVbZWfl2q1pm14V74Dqj5zrDCrQmy7oR0o6h2LCoiEgsxvyYSvV6riHhBjmogpx91thYpn7cVYIgw0LAJZBSV89gRlgkTVLI/vyUMmiC6/sMNbemfRqqpC+74lW9XwThi3EkxDlC2ywjbv0vKiyg0G1tBChq8SgEnifgC1QnSUAtdp9WLtHNQ5gm0xVw2kCTbhWUcqW0St0gusJwbagWhbadogjZnQrD0kF1yP/dGZW926RWHYMSeNqkeA==;31:/Ho2ti1BnHeoMqGqV/sCVVKuyD8K11GUtzRrNa4XUT3E70dEwCe/brPfs9LLekX7CUWCES1OiuZbHhKo7HVmqN2JkBQY3Ca0kwt4kbivqN9k1oySiC9LGWrfz4xuAE2RRJcFRGW6C0TsyiyQsd0uIifKJ870eyfTy0cswDtcWdT4FpHHNVCULNEk/8OcWx6W9Fn5tEyLoW7RAMylAJtOJ0Hx+E3As5PB4ycujQaLGb4= X-MS-TrafficTypeDiagnostic: DM5PR12MB1740: X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1740;20:QBgdL0xQ+wur5NNQUlE9Z8HtgHYt4XvMRvYxS+RHB64SAXh/1aF7B7fk8TmO1zO9NVnoi2vmnnWdi+Vk/ogqPyclUOLzjIG5UAxJZ+rhrWOdip+injwGmEvGc/HXwtliKzsEsOZE+DxgQ+O7NGbkKXWmL1MhTTm/y7dZPou6qmPJPR0KGi7yDhM+9OlDwbG6Oy4oLzK7ig4srzaaqhGennkHEX2vzXWOeGNBwYW7SIk8+Rqn9RbzyhsTmq4DV2dAtKso3cjJvjiClhW/tBhWkYIWO0EiFFVJVNtso6X8+yGS9p4IdUTk7IqmD1yPg+ANdxSZdXkfX6RG/4Oz9fw9WSJU31espTq9zzAhcZq1yHlUrP/3QfKktkdYfWuZtsxnyYS8nenPISNVp77Mcb/yXKyf1fget5FndewKlL+wmzhjGizl7iF+UKJnDqhSHeHQRvT6LGwHnTki7Xx1wOZxha8zqBPcwZhKL4Uev2h4V0R2kghxpGpETVdioyWBExN5;4:+q9j5raRXPgMxYSkwOQ9kFkiE+igIGJN9ja+M0SrE59zDW42IjV+wk4FK3Gbb6Axs8m+vwqXHMRfWVqfBTogKyoIVdvK0lq+mWoKa34SkOvZpf3YSZyHq+tnOaNttwzpJVCeqPnoHPPanbcSgjmrFFd2Xwl11dReqgoKnJN+1AbyxFyNnYbpCen5wRGH8/YyBTth89xfDRZ9cTHEtBfIKZmMgG6m16OAg7iMlNpHIemu+xfMfXYk9411slsB9ia8 X-Exchange-Antispam-Report-Test: UriScan:; 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)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(3002001)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123555025)(20161123560025)(20161123564025)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DM5PR12MB1740;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DM5PR12MB1740; X-Forefront-PRVS: 04097B7F7F X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(7370300001)(4630300001)(6009001)(39860400002)(24454002)(199003)(189002)(23746002)(6486002)(54356999)(6506006)(7350300001)(5890100001)(83506001)(7736002)(305945005)(189998001)(2906002)(6916009)(229853002)(6666003)(230700001)(31686004)(36756003)(76176999)(68736007)(93886005)(5660300001)(50986999)(65826007)(53546010)(2950100002)(97736004)(6512007)(25786009)(6116002)(31696002)(65956001)(33646002)(65806001)(47776003)(66066001)(42186005)(4001350100001)(3846002)(478600001)(72206003)(106356001)(81166006)(50466002)(8676002)(64126003)(81156014)(86362001)(53936002)(101416001)(6246003)(4326008)(105586002)(110136004)(7756004);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR12MB1740;H:Suravees-MacBook-Pro.local;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;DM5PR12MB1740;23:Mui5dRGYW4Z9p6KLkDPj5sRG/926Y7AiOJGXK?= =?Windows-1252?Q?RNmfqsbFy7sC02oiZJtD8Q5p2HTjPzKFjHYDjfMBRBhxWD0mH9fF2BHs?= =?Windows-1252?Q?qzIlOIWPr6guLMCZFwB/l/O64cOQKe8cSK8zA8XvD6O4vOi9RqknfGOo?= =?Windows-1252?Q?0YUInTiO+Kw4WTesnUwuyS5IKDDRshuHcLIYAJKrke44TfvaNG/5Jh/E?= =?Windows-1252?Q?mTjKfDseXsXnx/UD4V3VZNgALtw3IK9W9/XbfsTs49/QyMANl9orTTpN?= =?Windows-1252?Q?y69/wUEHbStKf0IbczV/gqynlFsFSwe9/5VRDR6QjfQFly44sMwaKEYC?= =?Windows-1252?Q?MjNOKZC6kfqtYQDeZtGty75Osooh4WesogYJQREcF0K22w7G0hwawR4S?= =?Windows-1252?Q?YE+1iZYqZyg3hzlaqaIJpzBhbwnU5WCCdStbW8xVTms5dMTJhulnUnfV?= =?Windows-1252?Q?OlO4RhB732+jBBrRbSe0auJX0fiyvg1bZ64xzBo/TqST3yVuvmCGylbK?= =?Windows-1252?Q?JEWVjooOBkwFucVicpzd/HlvUJF9PGMt88EPomnVDzTpgO9oOy/h6LiK?= =?Windows-1252?Q?FURbTVedISw2px8tgUMQp7CvZTMO5yMqKK8Z76MdZbUVmbEkxBASIhZm?= =?Windows-1252?Q?ypzarjhS02matrZzmoIDsZr7+cSkergmVgxAcuEl4a1Rt2EfM3tS5i1g?= =?Windows-1252?Q?9jYS1NOrFgHQrpUu+ZCgGwF2vx/FvRSP7ZQFHEa+5/RI7y1XZLlTXFHa?= =?Windows-1252?Q?sRxqosRfRm9fkFTxiNfbuQj44E/tLNd4Yu3UzP+XAnHA1tP4lK033QMA?= =?Windows-1252?Q?mxRwE1J3oZMupBZoAnWhJMKUJ5lyWPkVclojOTxJb/RX8MvhfBl4makO?= =?Windows-1252?Q?su++dcmcb9NjllNWuq0KxV43Oh9CffhYVW+yV1DXCLR3JsqgfPppT521?= =?Windows-1252?Q?J4jRo19U9u9ZFtqMoLl9721NiYGHOdLbcaykf0BA4eIg3VmlVQTmD39y?= =?Windows-1252?Q?IshVaEQe9LVlBTp4TiHCkF0yJvy3SADjuHuhfW32VF/XyXov6qciez3R?= =?Windows-1252?Q?6XtKqdJE1YQC09YLQJeFmhBkNhdNe1ZXIknafVtG5VINqZP+pCAKNLwW?= =?Windows-1252?Q?0RieQFFWEObusdcSnf0rdqr48qh1Dt+mM7///u/7h2WECLBzJxzO0yaG?= =?Windows-1252?Q?x6svGXp7clh+lQV17hPwnXhBHKVLeajAITG0tO0hFL/JxwqwgZR2HEx2?= =?Windows-1252?Q?BObMxlC3totRk/OcUbs4qzZ3shS4TQSvHVOmKkuWjJBphDNtJ62L9rA0?= =?Windows-1252?Q?p2/FsNWF1QdBrbOkzx1CeyAV/e3FV3z376jFZgtY5/ZNT1+fGarxIsXL?= =?Windows-1252?Q?ojy1XQBc0cNF2IgfEJ70hGdjC3o3fW2UVvAYzZRKj8gyqpwBn7GFi+Jq?= =?Windows-1252?Q?v30tin0MpBllshsZgQu+3nnuCjq0VX4DoWIJl2PdnGIUkZJxJQlnRTNY?= =?Windows-1252?Q?LbEclYmoWd+4eKCE+rehmDBEY5wIaYGI/yG1NIl5ck4eLBCml47uXA3a?= =?Windows-1252?Q?gp2jTPLxoa8xuk=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1740;6:ECLfgFsca42kqV2PoaFPY1T5zfvGjmo+HBAzP4h9e7+LGD9oVDtDPNeQgW5UuWEDsooPwvhIJX4nxnje3SR0pgNfwrxhQMFjXEUHDM5BId8VVzcGcpAIGTgBqWWuqkC0Zsg1Q5GLQ8lbtNOzzR2BQDX8bPH7piMByMprEncX95Z9UhAn1RifXyS0p2NET2RQ/g9HJcePn9lCbjs0+MfsCVj1PFaSvgiNkHY28FeIsMzqukPX2F8uyFJqJz0AYugV4YssIK5CtyH1HRDZlJeLBpeJSQddNiPdWHbk7dVOpfqZqjY9HH55X/nYS8/opGOVhsZ8bRdr/BKvAMNmoILKNw==;5:miqGYveRpH0FQpBrTRANwZKk1RpmEnMZuJY5Ld2oNR5edcIWATIkavnyKDagdvWTeGc+UPHyT/A2uihcdNgJMWwunzxmFlW5/LU87a5OUaGZv+kAR8oN8H4VMIOXORV9TfcqPdSOJ8pAGBJTAFJQsA==;24:KQNafjyZePjsV5QAAtjv/JK0aCmE3EmsOROQAC7qBzjsx2SDIba7C5BmtKhKiFO2VKUZWHbj5mCPa7EGzKyvPTFRdQ4dXVvASHLldjeIoWg=;7:SEHkZdULFofsSdkuXu991f8+rv9+yKh/QC+QuvM939eeH4za4pL7TsDlAvP1c7UQR4+aIlfV7ulW3B26lIRzh2dNlTzNQ2KRE5TaJk49vDLJK2yNxEThppk/0nwYFckjUc4LXlILytSJjwLO6dHDeCiRM/FRlo6VEF6tpfmqpGc2n0XHi2ocwuDsP3bhUEEiNisbQV87zVC4KSuvJH5Stj/SApmS0BASajMhBCjk/Qo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1740;20:LboTLZQpHaJ/151dd7WKMuYsxLZm1crz7rbWMu1NB+mbENDa6Q1Cp9MYV6SDG3w/ox2SBvPxRbixpbT5CJnf82kd2i5QULCoNl8fWyzODswW7pru//2C+gMJrfRuCTLmuGYYyU4ql0DyikDl8SkE65H76Zxy8HPFLsw4KW7uDH9OJkggR0Wsfxe/pV1to6FEipN7lnPIpTj+YS0Zzs0Dwt9IKe6GU+wR7RYFXe5tY2X9FdqIMOI9CjQWJbcuu5BK X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Aug 2017 01:15:10.8091 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1740 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2290 Lines: 61 Hi Peter, On 8/14/17 14:44, Suravee Suthikulpanit wrote: > > > On 8/11/17 16:15, Peter Zijlstra wrote: >> On Fri, Aug 11, 2017 at 12:58:22PM +0700, Suravee Suthikulpanit wrote: >>> >>> >>> On 8/11/17 11:57, Suravee Suthikulpanit wrote: >>>> >>>>>> [...] >>>>>> @@ -1445,9 +1448,24 @@ void sched_init_numa(void) >>>>>> tl[i] = sched_domain_topology[i]; >>>>>> >>>>>> /* >>>>>> + * Ignore the NUMA identity level if it has the same cpumask >>>>>> + * as previous level. This is the case for: >>>>>> + * - System with last-level-cache (MC) sched domain span a NUMA node. >>>>>> + * - System with DIE sched domain span a NUMA node. >>>>>> + * >>>>>> + * Assume all NUMA nodes are identical, so only check node 0. >>>>>> + */ >>>>>> + if (!cpumask_equal(sched_domains_numa_masks[0][0], tl[i-1].mask(0))) >>>>>> + tl[i++] = (struct sched_domain_topology_level){ >>>>>> + .mask = sd_numa_mask, >>>>>> + .numa_level = 0, >>>>>> + SD_INIT_NAME(NODE) >>>>>> + }; >>>>> >>>>> So what you've forgotten to mention is that for those systems where the >>>>> LLC == NODE this now superfluous level gets removed by the degenerate >>>>> code. Have you verified that does the right thing? >>>> >>>> Let me check with that one and get back. >>> >>> Actually, it is not removed by the degenerate code. That is what this logic >>> is for. It checks for LCC == NODE or DIE == NODE before setting up the NODE >>> sched level. I can update the comment. This has also been tested on system >>> w/ LLC == NODE. >> >> Why does the degenerate code fail to remove things? >> > > Sorry for confusion. Actually, the degenerate code does remove the duplicate > NODE sched-domain. > > The logic above is taking a different approach. Instead of depending on the > degenerate code during cpu_attach_domain() at a later time, it would exclude the > NODE sched-domain during sched_init_numa(). The difference is, without > !cpumask_equal(), now the MC sched-domain would have the SD_PREFER_SIBLING flag > set by the degenerate code since the flag got transferred down from the NODE to > MC sched-domain. Would this be the preferred behavior for MC sched-domain? > > Regards, > Suravee Any feedback on this part? Thanks, Suravee