From: K Prateek Nayak <kprateek.nayak@amd.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Li Chen <me@linux.beauty>, Ingo Molnar <mingo@redhat.com>,
Juri Lelli <juri.lelli@redhat.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Steven Rostedt <rostedt@goodmis.org>,
Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>,
Valentin Schneider <vschneid@redhat.com>,
Li Chen <chenl311@chinatelecom.cn>,
Swapnil Sapkal <swapnil.sapkal@amd.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 1/4] smpboot: introduce SDTL_INIT() helper to tidy sched topology setup
Date: Mon, 14 Jul 2025 09:33:42 +0530 [thread overview]
Message-ID: <0305d98a-0300-429a-adc2-39fd9b3af876@amd.com> (raw)
In-Reply-To: <20250711130601.GD905792@noisy.programming.kicks-ass.net>
(trimming the cc to only kernel/sched folks to reduce the noise)
On 7/11/2025 6:36 PM, Peter Zijlstra wrote:
> On Fri, Jul 11, 2025 at 11:20:30AM +0530, K Prateek Nayak wrote:
>> On 7/10/2025 4:27 PM, Li Chen wrote:
>>> /*
>>> * .. and append 'j' levels of NUMA goodness.
>>> */
>>> for (j = 1; j < nr_levels; i++, j++) {
>>> - tl[i] = (struct sched_domain_topology_level){
>>> - .mask = sd_numa_mask,
>>> - .sd_flags = cpu_numa_flags,
>>> - .flags = SDTL_OVERLAP,
>>> - .numa_level = j,
>>> - SD_INIT_NAME(NUMA)
>>> - };
>>> + tl[i] = SDTL_INIT(sd_numa_mask, cpu_numa_flags, NUMA);
>>> + tl[i].numa_level = j;
>>> + tl[i].flags = SDTL_OVERLAP;
>>
>> Tangential discussion: I was looking at this and was wondering why we
>> need a "tl->flags" when there is already sd_flags() function and we can
>> simply add SD_OVERLAP to sd_numa_flags().
>>
>> I think "tl->flags" was needed when the idea of overlap domains was
>> added in commit e3589f6c81e4 ("sched: Allow for overlapping sched_domain
>> spans") when it depended on "FORCE_SD_OVERLAP" sched_feat() which
>> allowed toggling this off but that was done away with in commit
>> af85596c74de ("sched/topology: Remove FORCE_SD_OVERLAP") so perhaps we
>> can get rid of it now?
>>
>> Relying on SD_NUMA should be enough currently. Peter, Valentin, what do
>> you think of something like below?
>
> I think you're right. SD_NUMA appears to be the one and only case that
> also has SDTL_OVERLAP which then results in setting SD_OVERLAP, making
> SD_NUMA and SD_OVERLAP equivalent and SDTL_OVERLAP redundant.
>
> I'll presume you're okay with me adding your SoB to things, and I'll
> push out all 5 patches to queue/sched/core to let the robots have a go
> at things.
Works for me! If you need a formal commit message:
Support for overlapping domains added in commit e3589f6c81e4 ("sched:
Allow for overlapping sched_domain spans") also allowed forcefully
setting SD_OVERLAP for !NUMA domains via FORCE_SD_OVERLAP sched_feat().
Since NUMA domains had to be presumed overlapping to ensure correct
behavior, "sched_domain_topology_level::flags" was introduced. NUMA
domains added the SDTL_OVERLAP flag would ensure SD_OVERLAP was always
added during build_sched_domains() for these domains, even when
FORCE_SD_OVERLAP was off.
Condition for adding the SD_OVERLAP flag at the aforementioned commit
was as follows:
if (tl->flags & SDTL_OVERLAP || sched_feat(FORCE_SD_OVERLAP))
sd->flags |= SD_OVERLAP;
The FORCE_SD_OVERLAP debug feature was removed in commit af85596c74de
("sched/topology: Remove FORCE_SD_OVERLAP") which left the NUMA domains
as the exclusive users of SDTL_OVERLAP, SD_OVERLAP, and SD_NUMA flags.
Get rid of SDTL_OVERLAP and SD_OVERLAP as they have become redundant
and instead rely on SD_NUMA to detect the only overlapping domain
currently supported. Since SDTL_OVERLAP was the only user of
"tl->flags", get rid of "sched_domain_topology_level::flags" too.
Signed-off-by: K Prateek Nayak <kprateek.nayak@amd.com>
---
P.S. Are we still considering the following for v6.16 cycle?
https://lore.kernel.org/lkml/20250709161917.14298-1-kprateek.nayak@amd.com/
If not, I can rebase it on top of queue:sched/core and send it out with
the conflicts resolved to save you a couple of edits :)
--
Thanks and Regards,
Prateek
next prev parent reply other threads:[~2025-07-14 4:03 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-10 10:57 [PATCH v5 0/4] x86/smpboot: tidy sched-topology and drop useless SMT level Li Chen
2025-07-10 10:57 ` [PATCH v5 1/4] smpboot: introduce SDTL_INIT() helper to tidy sched topology setup Li Chen
2025-07-11 5:50 ` K Prateek Nayak
2025-07-11 13:06 ` Peter Zijlstra
2025-07-14 4:03 ` K Prateek Nayak [this message]
2025-07-14 8:57 ` Peter Zijlstra
2025-07-11 16:16 ` Valentin Schneider
2025-07-14 9:10 ` [tip: sched/core] sched/topology: Remove sched_domain_topology_level::flags tip-bot2 for K Prateek Nayak
2025-07-11 12:25 ` [PATCH v5 1/4] smpboot: introduce SDTL_INIT() helper to tidy sched topology setup Peter Zijlstra
2025-07-14 9:10 ` [tip: sched/core] " tip-bot2 for Li Chen
2025-07-10 10:57 ` [PATCH v5 2/4] x86/smpboot: remove redundant CONFIG_SCHED_SMT Li Chen
2025-07-14 9:10 ` [tip: sched/core] " tip-bot2 for Li Chen
2025-07-10 10:57 ` [PATCH v5 3/4] x86/smpboot: moves x86_topology to static initialize and truncate Li Chen
2025-07-11 12:35 ` Peter Zijlstra
2025-07-14 9:10 ` [tip: sched/core] " tip-bot2 for Li Chen
2025-07-10 10:57 ` [PATCH v5 4/4] x86/smpboot: avoid SMT domain attach/destroy if SMT is not enabled Li Chen
2025-07-14 9:10 ` [tip: sched/core] " tip-bot2 for Li Chen
2025-07-11 5:52 ` [PATCH v5 0/4] x86/smpboot: tidy sched-topology and drop useless SMT level K Prateek Nayak
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=0305d98a-0300-429a-adc2-39fd9b3af876@amd.com \
--to=kprateek.nayak@amd.com \
--cc=bsegall@google.com \
--cc=chenl311@chinatelecom.cn \
--cc=dietmar.eggemann@arm.com \
--cc=juri.lelli@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=me@linux.beauty \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=swapnil.sapkal@amd.com \
--cc=vincent.guittot@linaro.org \
--cc=vschneid@redhat.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.