mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Mete Durlu <meted@linux.ibm.com>
To: Shrikanth Hegde <sshegde@linux.ibm.com>,
	Andrea Righi <arighi@nvidia.com>
Cc: Ingo Molnar <mingo@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	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>,
	K Prateek Nayak <kprateek.nayak@amd.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Tim Chen <tim.c.chen@linux.intel.com>,
	Chen Yu <yu.c.chen@intel.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org
Subject: Re: [PATCH RFC 0/2] sched: Introduce idle SMT priority for asymmetric capacity systems
Date: Tue, 13 Oct 2026 12:24:36 +0200	[thread overview]
Message-ID: <e7fd7d50-b124-42a0-ac19-ec12cca532bd@linux.ibm.com> (raw)
In-Reply-To: <58c8e6cd-3fbe-4975-a0f3-9a16d5b7c604@linux.ibm.com>

[..snip..]

>> Andrea does this resemble what you were describing;
>>
>> 1-) (steal time == 0)
>> ====================================================================
>> cpu_preffered_mask = active_cpus
>> cpu_soft_affinity = 0
>>
>> All cpus are available for scheduler to pick and use.
>> Idle cores are preferred in case of asymmetric capacities.
>>
>> 2-) (steal time > 0) && (steal time <= initial_threshold*)
>> ====================================================================
>> cpu_preffered_mask = active_cpus
>> cpu_soft_affinity = entitled cpus
>>
>> In this case entitled cores get fully filled (SMT siblings first)
>> before spilling load onto the rest of the cpus on preferred mask.
>> *Initial threshold is a value I just devised. Ideally arch specific
>> and dynamically configurable, setting it to just 0 should also
>> be an option.
>>
>> 3-) (steal time > initial_threshold)
>> ====================================================================
>> cpu_preffered_mask = entitled cpus + steal governor's modifications
>> cpu_soft_affinity = entitled cpus
>>
>> Carrying the logic from case 2 but shrinking the preferred mask
>> according to the increased steal time value.
>>
>> Shrikanth/Andrea,
>> does what I describe above make sense and would it make a reasonable
>> addition to the vCPU backoff mechanism?
>>
> 
> I am confused. Are you talking about
> 1. picking CPU to run idle load balancing?
> Or
> 2. actual task placement decisions?

I was talking about actual task placement decisions. I didn't really
consider where idle load balancing should take place tbh. On s390
even if it takes place on a non-preferred CPU, there shouldn't be
too much of a penalty. Is there a specific reason why you are asking
for idle load balancing case? I might be missing some conceptual depth
here.

[..snip..]

> If it is 2, I am not sure. getting soft affinity is kind of tricky with 
> load balance.
> It puts maximum effort in spreading the tasks. Since you have steal 
> time, there is already
> enough tasks to create physical CPU contention.

I am not fully familiar with vCPU backoff yet, but couldn't the
soft affinity be implemented in form of another cpu mask. We can
traverse the new mask to make decisions there first and after its
resources are depleted there, we can then move onto cpu_preferred_mask?

> PS: Steal governor provides a tunable named low_threshold, which means 
> any steal value
> below is practically 0. So there is no soft affinity there.

Right, my initial instinct was to have an initial threshold like
the low_threshold steal governor already has. I am not sure if it
is a good idea to just use that with a higher default value but
I need to think about this a bit more.

What do you think, does it worth exploring?

Thanks!
-Mete

  reply	other threads:[~2026-10-13 10:25 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-08  8:30 Mete Durlu
2026-10-08  8:30 ` [PATCH RFC 1/2] kernel/sched: Introduce idle SMT priority Mete Durlu
2026-10-08  8:30 ` [PATCH RFC 2/2] s390/topology: Enable SCHED_IDLE_SMT_PRIO Mete Durlu
2026-10-08 12:10 ` [PATCH RFC 0/2] sched: Introduce idle SMT priority for asymmetric capacity systems Andrea Righi
2026-10-08 14:58   ` Shrikanth Hegde
2026-10-08 15:24     ` Mete Durlu
2026-10-08 15:44       ` Shrikanth Hegde
2026-10-09 15:12         ` Andrea Righi
2026-10-09 15:35           ` Shrikanth Hegde
2026-10-12 12:32             ` Mete Durlu
2026-10-12 13:49               ` Shrikanth Hegde
2026-10-13 10:24                 ` Mete Durlu [this message]
2026-10-09 15:32       ` Vincent Guittot
2026-10-12 11:04         ` Mete Durlu
2026-10-12 14:49           ` Vincent Guittot
2026-10-13 10:50             ` Mete Durlu
2026-10-13 11:19               ` Shrikanth Hegde
2026-10-13 12:40                 ` Mete Durlu
2026-10-14  5:05                   ` Shrikanth Hegde
2026-10-08 21:52   ` Tim Chen
2026-10-08 21:29 ` Tim Chen
2026-10-12 10:41   ` Mete Durlu

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=e7fd7d50-b124-42a0-ac19-ec12cca532bd@linux.ibm.com \
    --to=meted@linux.ibm.com \
    --cc=agordeev@linux.ibm.com \
    --cc=arighi@nvidia.com \
    --cc=borntraeger@linux.ibm.com \
    --cc=bsegall@google.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=gor@linux.ibm.com \
    --cc=hca@linux.ibm.com \
    --cc=iii@linux.ibm.com \
    --cc=juri.lelli@redhat.com \
    --cc=kprateek.nayak@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=mgorman@suse.de \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=sshegde@linux.ibm.com \
    --cc=svens@linux.ibm.com \
    --cc=tim.c.chen@linux.intel.com \
    --cc=vincent.guittot@linaro.org \
    --cc=vschneid@redhat.com \
    --cc=yu.c.chen@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®