From: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
Mel Gorman <mgorman@techsingularity.net>,
Rik van Riel <riel@surriel.com>,
Thomas Gleixner <tglx@linutronix.de>,
Michael Ellerman <mpe@ellerman.id.au>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>,
Andre Wild <wild@linux.vnet.ibm.com>
Subject: Re: [PATCH] sched/topology: Use Identity node only if required
Date: Wed, 8 Aug 2018 01:19:42 -0700 [thread overview]
Message-ID: <20180808081942.GA37418@linux.vnet.ibm.com> (raw)
In-Reply-To: <20180808075840.GO2494@hirez.programming.kicks-ass.net>
* Peter Zijlstra <peterz@infradead.org> [2018-08-08 09:58:41]:
> On Wed, Aug 08, 2018 at 12:39:31PM +0530, Srikar Dronamraju wrote:
> > - numa topology on 2 node systems no more marked as NUMA_DIRECT. After
> > this commit, it gets reported as NUMA_BACKPLANE. This is because
> > sched_domains_numa_level now equals 2 on 2 node systems.
> >
> > - Extra numa sched domain that gets added and degenerated on most
> > machines. The Identity node is only needed on very few systems.
> > Also all non-numa systems will end up populating
> > sched_domains_numa_distance and sched_domains_numa_masks tables.
> >
> > - On shared lpars like powerpc, this extra sched domain creation can
> > lead to repeated rcu stalls, sometimes even causing unresponsive
> > systems on boot. On such stalls, it was noticed that
> > init_sched_groups_capacity() (sg != sd->groups is always true).
>
> The idea was that if the topology level is redundant (as it often is);
> then the degenerate code would take it out.
>
> Why is that not working (right) and can we fix that instead?
>
All I have found is regular NUMA sched_domains use OVERLAP flag, which
inturn results in build_overlap_sched_groups(). The Identity node uses
build_sched_groups. Somehow build_sched_groups is unable to create the
group list. I still getting to see why that makes a difference.
I have tried with passing .flags = SDTL_OVERLAP to the identity node and
that works well.
However, I still think if majority of the cases the identity node is
going to be redundant, then we should use hint.
We could fix the numa topology to be NUMA_DIRECT for 2 node machines, by
checking if sched_domains_numa_levels == 2, but then I dont know what it
means for a system that has only NODE but not NUMA level.
i.e what should we say the numa topology type of a machine that has only
NODE but not NUMA sched_domain?
--
Thanks and Regards
Srikar
next prev parent reply other threads:[~2018-08-08 8:20 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-08 7:09 [PATCH] sched/topology: Use Identity node only if required Srikar Dronamraju
2018-08-08 7:58 ` Peter Zijlstra
2018-08-08 8:19 ` Srikar Dronamraju [this message]
2018-08-08 8:43 ` Peter Zijlstra
2018-08-08 9:30 ` Peter Zijlstra
2018-08-10 16:45 ` Srikar Dronamraju
2018-08-29 8:43 ` Peter Zijlstra
2018-08-29 8:57 ` Peter Zijlstra
2018-08-31 10:22 ` Srikar Dronamraju
2018-08-31 10:22 ` Srikar Dronamraju
2018-08-31 10:41 ` Peter Zijlstra
2018-08-31 11:26 ` Srikar Dronamraju
2018-08-31 12:06 ` Peter Zijlstra
[not found] <reply-to=<20180808081942.GA37418@linux.vnet.ibm.com>
2018-08-10 17:00 ` [PATCH 1/2] sched/topology: Set correct numa topology type Srikar Dronamraju
2018-08-10 17:00 ` [PATCH 2/2] sched/topology: Expose numa_mask set/clear functions to arch Srikar Dronamraju
2018-08-29 8:02 ` Peter Zijlstra
2018-08-31 10:27 ` Srikar Dronamraju
2018-08-31 11:12 ` Peter Zijlstra
2018-08-31 11:26 ` Peter Zijlstra
2018-08-31 11:53 ` Srikar Dronamraju
2018-08-31 11:53 ` Srikar Dronamraju
2018-08-31 12:05 ` Peter Zijlstra
2018-08-31 12:08 ` Peter Zijlstra
2018-08-21 11:02 ` [PATCH 1/2] sched/topology: Set correct numa topology type Srikar Dronamraju
2018-08-21 13:59 ` Peter Zijlstra
2018-09-10 10:06 ` [tip:sched/core] sched/topology: Set correct NUMA " tip-bot for Srikar Dronamraju
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180808081942.GA37418@linux.vnet.ibm.com \
--to=srikar@linux.vnet.ibm.com \
--cc=heiko.carstens@de.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mgorman@techsingularity.net \
--cc=mingo@kernel.org \
--cc=mpe@ellerman.id.au \
--cc=peterz@infradead.org \
--cc=riel@surriel.com \
--cc=suravee.suthikulpanit@amd.com \
--cc=tglx@linutronix.de \
--cc=wild@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.