Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752401AbdHNHpO (ORCPT ); Mon, 14 Aug 2017 03:45:14 -0400 Received: from mail-sn1nam02on0056.outbound.protection.outlook.com ([104.47.36.56]:10142 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752316AbdHNHpL (ORCPT ); Mon, 14 Aug 2017 03:45:11 -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: Date: Mon, 14 Aug 2017 14:44:59 +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: <20170811091527.wyngvvq2dy3yzik2@hirez.programming.kicks-ass.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.53.123] X-ClientProxiedBy: DM5PR12CA0051.namprd12.prod.outlook.com (10.175.83.141) To DM5PR12MB1739.namprd12.prod.outlook.com (10.175.89.144) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c85b41b9-03a5-46fd-b6f1-08d4e2e86243 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:DM5PR12MB1739; X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1739;3:rPQMVDrJkFNEQJxCOTIWiUmorzh7pfxWpApoH1SrJ6JjfiexvoSOzxoizhGjLqQ1FGvY4jqVFKRru+QT6fVWO1eUzhDMoXTsaB3ryp+t2zwLYEPue7d7lB+OqK9q5fbghqrbTHWJXxUTwc62o0lfCNKzIHPUxKsVHO1HA0yBIk+nYpDu7lZFBCpp9uYymOp6kHlvPQ2btw5k9WYqBjsTKEkmZKodPZQXdU1XykbUCCMPR1CPwPrYB0xrVNeDNu+e;25:7cUXAZhNaOQZefsM2PmV01GgWGtyJ8JFsqc9Ri3SmAbZ4Tni6Ln93d0e2wUmuhwiE2yZ3J8H4bZhkk5n1Zm/X2HGWVgjnx6pMvB0ymUpP9ox/H2aGe44MhqKgG4PTHX5FmZmhF6hb3HchGd5d1g4BiykFSGEAalxg+01VTPHmy7oiD+afCBIEfgLfIupDryfK/M35h+ltWwT/hM3moIMS40knMwUPVxmGXNRHVPcOaUfVahROVr8jpj12lhYqbj9gJTszneHqz+APJATlMLR4WxrR3hWnk6IQIrsUOzoiv3F79oiwZY10VBvP6FPQgk6B4sm9gQwhdrTern7XJWZbw==;31:z1FtEzF4u1kCQRyLRBD/R3YamazsGY0vLrbwUb35xQ5wDHP7kfXiRYBZBDQxOVRXTCenrg8WnO1bcolPD9hG+YtSfIoF6nPnNmYPqvo5dYjZ/ezzmq66vQzharDqWJDOy1sgDsrlTr8GJc5QCSYAJ0Ll7ld2YnMOU9tMGV7eCCbdYdlfGEk1irJr8XYswnvUn4ASl1yTuc9DSgY+wo6UvKfHf0RF0DjcoI+Y0k1WjYg= X-MS-TrafficTypeDiagnostic: DM5PR12MB1739: X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1739;20:wvzWGUc68sC/dqaUbcGv+PXHuD4gaD7VXQ4Q5OB15UVR6yUnS4/8dA52Jy0EO6UUMEABRfAJu+CjK4n2RhAJMA8/UQ7kqEbc9q8eEDNwExel5EeoNU2V6gbQ2wJDmiTKH1Xe26yXr0RRH1omfZ6HG5HG4bBf8NmyJs9eQvUdHzTBL6Lc0IjgBAGhTQ5IJE7S7CtvmdBdqri7dEi7i13RIgt6tjGPG6pvwty4+jK/t56QFK5GePxjzKouM0KI7/4mGos1HGfLxwrOGf2c9Fd3SG1YrfucOEkGlCMJF+KsQMWdvWCa2ZIA4MfATl5U2eun6Z9AzWP1mZEY93oqyAhdxUl9r3+TSTx3plHQdgLK12kTGCxMgoBHM2nvllKqmeF/md7M7OnRXrt+iiozD7+Zl6WvKE6BLMAnF58gqMta7r2OfXnu13TMcFLF43ZTWVKZnO1Yeh9eAA0iyeOZPFMPczCylPqWbuIMiusPuxf6pRelv8p6aDxZnGAQnKoS38Sq;4:/7j4QLXztybRP4j/EY05TfME1KHaC2G7lX61bc+VOFkdegL/QSQsidJeKDSIqNxrJ7YG3WTT4XGxtQRWactRf/OVxegHn95OCJbgNKqRHMMKVGRIDWhVuDecphyrkxbUh/qhlf7XAnp3fjt135JKccahloyiw1ueSrehpcOGgJj445GPkaD1SN7YF3xoanuN8Es7oHkcXh0c2bZTI7IC8vDiRCMIUkQ1aNW5xSkNUDUbjRtejQbjnD0bN+MMCJOj 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)(3002001)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(6055026)(6041248)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123562025)(20161123558100)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DM5PR12MB1739;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DM5PR12MB1739; X-Forefront-PRVS: 039975700A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(7370300001)(4630300001)(6009001)(39860400002)(189002)(199003)(24454002)(7350300001)(66066001)(65956001)(230700001)(50466002)(81166006)(50986999)(8676002)(4001350100001)(31686004)(81156014)(54356999)(97736004)(76176999)(93886004)(478600001)(33646002)(64126003)(305945005)(53546010)(5890100001)(6116002)(7736002)(4326008)(65806001)(106356001)(53416004)(42186005)(110136004)(25786009)(3846002)(36756003)(105586002)(47776003)(83506001)(189998001)(101416001)(72206003)(23746002)(229853002)(6666003)(68736007)(5660300001)(6916009)(65826007)(31696002)(86362001)(2950100002)(2906002)(53936002)(6246003)(6486002);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR12MB1739;H:wsp092923wss.amd.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;DM5PR12MB1739;23:+4zZEukiI9F0Es2u1dm4XBOIO/9iJOtd9AGpd?= =?Windows-1252?Q?dNk6q15RUI64ooBnnk9FlE6NFdA8oh4aO9aaC5VPdhTa6XZuMKzSltrA?= =?Windows-1252?Q?/Z0HfzG3ZvkKxzOgloLxO807a9Zu84x/uMGGY0K+N3+i24d/zAHGYzJm?= =?Windows-1252?Q?ExOvopYDEZ6vyHrtebYEbus77ucI6VIFE9bruTd13FmL8sFUfUnau9Ov?= =?Windows-1252?Q?uL2LWsekvdtRBMNCGfeQk0Nny9ugH/X4eat/IAj/+2u2yXFl/WIrk3Ds?= =?Windows-1252?Q?CrEylx36SpzzEVf+GBYa0AXhMPDBD9R8tGqlLb7hOGIrcWHzYDyVBxKJ?= =?Windows-1252?Q?yksPzoK1MFXt/nLp7heBcC8SjjpEwZdjar82HwzWKqH3zRGg+InppoIA?= =?Windows-1252?Q?F/CB/dn5JXKcIfhw/idnDjarL78e4NwmK+hNC+pUvKHtv9r0i0PbeXNA?= =?Windows-1252?Q?WsYEdQY4R+91ohy2EaYVx3bAn1g6dO0Abv7AWfxyx4yU6YbKVFqBqChj?= =?Windows-1252?Q?2WVpLiw/2OPcpp1KnUoA6QC1mkX78yN4lEgw/VlWJv3ScQczb7pkT7nb?= =?Windows-1252?Q?4pimri/7C/fDA6SCP1DmkZni8ZVlAeZQBk39n31hY5fxyACep1KXdxr7?= =?Windows-1252?Q?NAcpHVGRS4w3HS7zc3LJm52EsQwvMsOzK321A7arX95URls6kmrZHDJ6?= =?Windows-1252?Q?Zo4wAxhAmhXzwF/fkG9KhjRWkSxim/qjKEyQxgtgu/auxJ8G1ZuYecGa?= =?Windows-1252?Q?BSJKt6mKA5SNTohKFdTxs8izdaD41sWJAFNZ+vvu/3urwS3OM4fqOfjx?= =?Windows-1252?Q?baRg5FTYBPDYiVKECz3iAVBHWwKCQ67cYsV0Z8hsunx0onh4UlyZQqjf?= =?Windows-1252?Q?t5H12TVK0JEa2vb6ZJhptxI0c2fRyuZ1IjVWb0gYzZwag8ZppOUFcFTE?= =?Windows-1252?Q?/51TpNG5T8K+pxvvhLVxnE5tGA2L9RK5TT7hn1evhqcV/FSGZip8bb3S?= =?Windows-1252?Q?2V3xUpMRcTPKAtMeQ5UJ1CvUKB2oNWYkoWvYVNoFwAd3LI+aomHaXg3Z?= =?Windows-1252?Q?QM6btkfFPADcIP0MjGtXjGWJKiKGMEz2jCNmAJ0XUowka1qDCypy0tCP?= =?Windows-1252?Q?8rysJR8+QKThpBKmG2i7nt1NozZWw7KjSgXxqcpOOSLSHHbQEenQy8Pf?= =?Windows-1252?Q?DI0ltdIXQcsKou1I8p6CMRt0glZ7P6AN6iHgbIVphyT4taqWYaQLA70I?= =?Windows-1252?Q?DZ+9tBz3h0GR6+kNN2smYK1FYSzz0DdZTJTSMIOy1NBN/RWjCxK0ouEf?= =?Windows-1252?Q?uM14FcR0VpHUEoVdk1g1oTNRB79iCKwX/XVuaTaksUK+LR2bjGCTjXu0?= =?Windows-1252?Q?R/pPz98p5bGt3vRw1u4y1ySpYxzAkukfRFy/EORceOrT67nqq/c3Inw3?= =?Windows-1252?Q?t8O3GaIAvlnTqxU99kfxK/HU7RIzlwfmYeyqrq7hYfnveOh47Jnf0XOs?= =?Windows-1252?Q?9bPCMvDyIKO46YCCZhwH+6OhETXZnQsEU/x52DQOaZ80Zd/YA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1739;6:OZqpUElajGjK8rcniKsvDGMMW4riEbCfDqtjLRKGodo6dm7giL3FMqJwoPmsr0N8Fp7VKN3wKrDUWqWWJgsP1Nc22gIiP5JrnVwxpWB8Ry6630eAnveKFe7zW9jF4o3hP+o53GZr6tYiXaKmf0coFSo7qHDFiM5VzE9O9kSgh+5JqrvsMWrU+XcwUKtjBiBxVVF0JkoM4ZEIhnofBpkCYLWq6ChujZvhpu+j9eAtdHOt2QglKjeLeSEWkhZQtknPTHaeIDh3qIHwQ4bNMRn+4Gd7fYm1biLJvRMScTK7th2CsoP9QkXAOKY+JKtBPdDUTqrrTza5RCVfS+lpo6wHuQ==;5:YynuRJSg7NC9RuFibOIAe+gcITkEaoc3u8T0xt/cqrPSkDQkew7JmpYMDzj4eqxVxQHr6R1INN7WbZcaauJnPiyXmktr0WoPral71NrDJVLTNn94d/UPJyCk3u2uB0yBNi1xi610sHpXg77Lf/rtGg==;24:h6c4fBg6SsKXv0cwYc+OL95oWHaSvP/Ie4bhemvfOb4rNGgEgUu1/F5epGDTb73tD20T/E1sZfYFsQusraxF5Os05iXO8RjPrkVLZz2EIJA=;7:ObIV/kvBTphhNTroHVrkB6kK8mMQF3ylEAH9A/sHTtttxpAuXhV3U2hpVd3h7GmDH2r2T13KLq7HzFaOor0FWnLTotKXAe67V4+3RON0HtDz/uhS76XFxFvapvrZXvWW0xKaxppdNDsafmjT3vZqQiYNyTlogiRPdILljVRPwVMlae5gDvYK6JieeEaN+xm4eHp2j4Q96pAs6arJP6Iy+PE2tTzOKR0V5bTKB/lRsow= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1739;20:WytopojgownwzNN6lAr4n/lDMaAtPudI2YBqezQDKAEy9r0RQ6d+vnS9SJIVBoZf5WwHE+5+D0lFXHx2zlmlhXYLWNxFexIskBvkW6eRSeI5YD+LHSTp0dETb9nfPG0x8kJb6q5yK6bWR05mrMkRHT97wN1gXdfJZ5QPrxM6a0jdgmby6tKfDpzdQzY9Dk7MnRidHr3OHktprYZKK8OHWbpWWENqkFjAvakx7N5UkW9YenouOiRCoCMkO8Llevm7 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2017 07:45:05.6071 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1739 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2129 Lines: 53 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