From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751905AbdDNKsO (ORCPT ); Fri, 14 Apr 2017 06:48:14 -0400 Received: from bombadil.infradead.org ([65.50.211.133]:49762 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751278AbdDNKsM (ORCPT ); Fri, 14 Apr 2017 06:48:12 -0400 Date: Fri, 14 Apr 2017 12:48:05 +0200 From: Peter Zijlstra To: Rik van Riel Cc: lvenanci@redhat.com, linux-kernel@vger.kernel.org, lwang@redhat.com, Mike Galbraith , Thomas Gleixner , Ingo Molnar Subject: Re: [RFC 2/3] sched/topology: fix sched groups on NUMA machines with mesh topology Message-ID: <20170414104805.lwpo6ywkdrtflkx3@hirez.programming.kicks-ass.net> References: <1492091769-19879-1-git-send-email-lvenanci@redhat.com> <1492091769-19879-3-git-send-email-lvenanci@redhat.com> <20170413154812.vrtkdyzgkrywj2no@hirez.programming.kicks-ass.net> <5166d6ba-c8e6-c60e-61af-d32124234bb9@redhat.com> <1492126685.8850.189.camel@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1492126685.8850.189.camel@redhat.com> User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Apr 13, 2017 at 07:38:05PM -0400, Rik van Riel wrote: > What do the sched groups look like for these topologies, > before and after your patch series? > > > 4 nodes, ring topology > > node distances: > > node   0   1   2   3 > >   0:  10  20  30  20 > >   1:  20  10  20  30 > >   2:  30  20  10  20 > >   3:  20  30  20  10 kvm -smp 4 -m 4G -display none -monitor null -serial stdio -kernel defconfig-build/arch/x86/boot/bzImage -append "sched_debug debug ignore_loglevel earlyprintk=serial,ttyS0,115200,keep numa=fake=4:10,20,30,20,20,10,20,30,30,20,10,20,20,30,20,10,0" (FWIW, that's defconfig+kvmconfig+SCHED_DEBUG=y+NUMA_EMU=y) Gives me: [ 0.075004] smpboot: Total of 4 processors activated (22345.79 BogoMIPS) [ 0.076767] CPU0 attaching sched-domain: [ 0.077003] domain 0: span 0-1,3 level NUMA [ 0.078002] groups: 0 1 3 [ 0.079002] domain 1: span 0-3 level NUMA [ 0.080002] groups: 0-1,3 (cpu_capacity = 3072) 1-3 (cpu_capacity = 3072) [ 0.081005] CPU1 attaching sched-domain: [ 0.082003] domain 0: span 0-2 level NUMA [ 0.083002] groups: 1 2 0 [ 0.084002] domain 1: span 0-3 level NUMA [ 0.085002] groups: 1-3 (cpu_capacity = 3072) 0-1,3 (cpu_capacity = 3072) [ 0.086004] CPU2 attaching sched-domain: [ 0.087002] domain 0: span 1-3 level NUMA [ 0.088002] groups: 2 3 1 [ 0.089002] domain 1: span 0-3 level NUMA [ 0.090002] groups: 1-3 (cpu_capacity = 3072) 0-1,3 (cpu_capacity = 3072) [ 0.091004] CPU3 attaching sched-domain: [ 0.092002] domain 0: span 0,2-3 level NUMA [ 0.093002] groups: 3 0 2 [ 0.094002] domain 1: span 0-3 level NUMA [ 0.095002] groups: 0-1,3 (cpu_capacity = 3072) 1-3 (cpu_capacity = 3072) [ 0.096004] span: 0-3 (max cpu_capacity = 1024) With patches it looks like: [ 0.080006] smpboot: Total of 4 processors activated (22345.79 BogoMIPS) [ 0.082545] CPU0 attaching sched-domain: [ 0.083007] domain 0: span 0-1,3 level NUMA [ 0.084004] groups: 0 1 3 [ 0.085004] domain 1: span 0-3 level NUMA [ 0.086004] groups: 0-1,3 (cpu_capacity = 3072) 1-3 (cpu_capacity = 3072) [ 0.087007] CPU1 attaching sched-domain: [ 0.088004] domain 0: span 0-2 level NUMA [ 0.089004] groups: 1 0 2 [ 0.090004] domain 1: span 0-3 level NUMA [ 0.091003] groups: 0-2 (cpu_capacity = 3072) 0,2-3 (cpu_capacity = 3072) [ 0.092008] CPU2 attaching sched-domain: [ 0.093004] domain 0: span 1-3 level NUMA [ 0.094004] groups: 2 1 3 [ 0.095004] domain 1: span 0-3 level NUMA [ 0.096004] groups: 1-3 (cpu_capacity = 3072) 0-1,3 (cpu_capacity = 3072) [ 0.097007] CPU3 attaching sched-domain: [ 0.098004] domain 0: span 0,2-3 level NUMA [ 0.099003] groups: 3 0 2 [ 0.100004] domain 1: span 0-3 level NUMA [ 0.101003] groups: 0,2-3 (cpu_capacity = 3072) 0-2 (cpu_capacity = 3072) [ 0.102007] span: 0-3 (max cpu_capacity = 1024) Now let me try and reverse engineer those patches ..