From: Shrikanth Hegde <sshegde@linux.ibm.com>
To: Mete Durlu <meted@linux.ibm.com>, Yury Norov <ynorov@nvidia.com>,
"Ionut Nechita (Sunlight Linux)" <sunlightlinux@gmail.com>
Cc: arighi@nvidia.com, chleroy@kernel.org, christian.loehle@arm.com,
corbet@lwn.net, dietmar.eggemann@arm.com,
gregkh@linuxfoundation.org, hdanton@sina.com,
huschle@linux.ibm.com, iii@linux.ibm.com, jgross@suse.com,
juri.lelli@redhat.com, kernellwp@gmail.com,
kprateek.nayak@amd.com, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, maddy@linux.ibm.com,
maz@kernel.org, mingo@kernel.org, pauld@redhat.com,
pbonzini@redhat.com, peterz@infradead.org, rafael@kernel.org,
rdunlap@infradead.org, rostedt@goodmis.org, seanjc@google.com,
tglx@kernel.org, tj@kernel.org, tommaso.cucinotta@gmail.com,
vincent.guittot@linaro.org, vineeth@bitbyteword.org,
virtualization@lists.linux.dev, vschneid@redhat.com,
yury.norov@gmail.com, frederic@kernel.org
Subject: Re: [PATCH] Re: [PATCH v10 00/12] sched, steal_governor: Introduce preferred CPUs and steal-driven vCPU backoff
Date: Fri, 14 Aug 2026 16:38:58 +0530 [thread overview]
Message-ID: <78ded4e9-d771-40a0-b28c-3ec984f6b5d0@linux.ibm.com> (raw)
In-Reply-To: <3668e964-4605-43e6-b528-07aa74dc231e@linux.ibm.com>
Hi Mete,
On 8/14/26 2:52 PM, Mete Durlu wrote:
> On 13/08/2026 13:12, Shrikanth Hegde wrote:
>> Hi Mete, Thanks for going through the patches/discussions.
>>
>> On 8/13/26 12:20 PM, Mete Durlu wrote:
>
> ...
>
>>>
>>> I think all of these points can be addressed better if
>>> Xen used said framework and implemented their own governor
>>> module. That way we wouldn't see an overinflated single
>>> steal_governor but instead nicely separated arch/platform
>>> specific ones, that are tailored best for their needs.
>>> The current implementation could be the fallback option
>>> if platform does not implement their own and would also
>>> serve as an example.
>>
>> For now, I prefer adding a defensive check for dom0
>> and keep the driver simple.
>
> Fair enough.
>
> ...
>> I prefer we defer the arch specific hooks for now, until there is a
>> need for one. If you guys insist it should be done, then i can start
>> looking at cpuidle framework. But it will be a bigger rework.
>
> s390 plans to adopt and start using the preferred CPU approach along
That's nice. I am happy to hear that it will come in soon.
> with the governor. The concern is that there are some enhancements
> planned which would not really fit into the current governor.
>
> Later on, s390 will probably introduce its own governor module and
> for that I was hoping that there would be a framework similar to
> cpuidle drivers.
>
I was skimming through cpuidle logic. The problem with steal_governor is that,
it is not a built in module. For loadable modules, core_initcall and
device_initcall will evaluate to the same thing,
which makes a direct cpuidle-like approach tricky.
However, as you mentioned, we just need a common infrastructure for the
init/exit/methods leaving the decision-making to the arch.
I've thought of a few ways we can cleanly pull this off post-merge:
1. ifdefs and ops function pointers:
We define a struct of function pointers and a bit ifdefs for init etc.
The core initializes ops to default or s390 depending on the config.
2. __weak Functions:
We define the main routines as __weak and let s390 simply override them.
This is the lowest boilerplate, though its usage is not preferred.
3. Multiple Modules (The cpuidle module approach):
We split it into steal_governor_core.ko and steal_governor_s390.ko.
The core exports a steal_governor_register_driver() symbol, and the
s390 module registers its specific ops when loaded.
However, this would still need elements of the first approach to
handle Dom0-like cases natively.
Depending on users and adoption of the feature by different archs,
we can go about it which is more appropriate.
> What I mean essentially is a common infrastructure to initialize
> the basics required for the preferred CPUs management and maybe
> the update loop mechanism. That should ideally leave just the
> decision making part to the individual arch/platform to implement.
> I imagine the whole thing being much more simpler than cpuidle
> drivers as it had a lot more moving parts involved.
>
> ...
>
>> If the driver eventually outgrows a single file, we can work on a
>> modular framework post-merge. But for now, let's keep it simple and
>> get the simple version upstream.
>
> I understand the concern and I think it's the right approach to keep
> it simple initially.
Thanks. Yes. Lets keep it simple for now.
Once this series is merged, We can work out the
framework for s390-specific enhancements.
>
> Thank you!
>
PS: I will wait for few days to hear from Ionut/Yury on the patch addressing
all the comments. If i don't hear anything back, i will post v11 next week.
next prev parent reply other threads:[~2026-08-14 11:09 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-12 5:40 [PATCH v10 00/12] sched, steal_governor: Introduce preferred CPUs and steal-driven vCPU backoff Shrikanth Hegde
2026-08-12 5:40 ` [PATCH v10 01/12] sched/cputime: Add kcpustat_field_total helper Shrikanth Hegde
2026-08-12 18:44 ` Yury Norov
2026-08-14 9:04 ` Mete Durlu
2026-08-12 5:40 ` [PATCH v10 02/12] sched/docs: Document cpu_preferred_mask and Preferred CPU concept Shrikanth Hegde
2026-08-12 5:40 ` [PATCH v10 03/12] cpumask: Introduce cpu_preferred_mask Shrikanth Hegde
2026-08-12 5:40 ` [PATCH v10 04/12] sysfs: Add preferred CPU file Shrikanth Hegde
2026-08-12 5:40 ` [PATCH v10 05/12] sched/core: Try to use a preferred CPU in is_cpu_allowed Shrikanth Hegde
2026-08-12 5:40 ` [PATCH v10 06/12] sched/fair: Load balance only among preferred CPUs Shrikanth Hegde
2026-08-12 5:40 ` [PATCH v10 07/12] sched/core: Push current task from non preferred CPU Shrikanth Hegde
2026-08-12 5:40 ` [PATCH v10 08/12] sched/debug: Add migration stats due to non preferred CPUs Shrikanth Hegde
2026-08-12 5:40 ` [PATCH v10 09/12] virt: Introduce steal governor driver Shrikanth Hegde
2026-08-12 5:40 ` [PATCH v10 10/12] virt/steal_governor: Add control knobs for handling steal values Shrikanth Hegde
2026-08-12 5:40 ` [PATCH v10 11/12] virt/steal_governor: Implement steal_governor policy loop Shrikanth Hegde
2026-08-12 5:40 ` [PATCH v10 12/12] virt/steal_governor: Enable the driver Shrikanth Hegde
2026-08-12 19:45 ` [PATCH] Re: [PATCH v10 00/12] sched, steal_governor: Introduce preferred CPUs and steal-driven vCPU backoff Ionut Nechita (Sunlight Linux)
2026-08-13 0:13 ` Yury Norov
2026-08-13 6:50 ` Mete Durlu
2026-08-13 11:12 ` Shrikanth Hegde
2026-08-14 9:22 ` Mete Durlu
2026-08-14 11:08 ` Shrikanth Hegde [this message]
2026-08-13 10:56 ` Shrikanth Hegde
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=78ded4e9-d771-40a0-b28c-3ec984f6b5d0@linux.ibm.com \
--to=sshegde@linux.ibm.com \
--cc=arighi@nvidia.com \
--cc=chleroy@kernel.org \
--cc=christian.loehle@arm.com \
--cc=corbet@lwn.net \
--cc=dietmar.eggemann@arm.com \
--cc=frederic@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=hdanton@sina.com \
--cc=huschle@linux.ibm.com \
--cc=iii@linux.ibm.com \
--cc=jgross@suse.com \
--cc=juri.lelli@redhat.com \
--cc=kernellwp@gmail.com \
--cc=kprateek.nayak@amd.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maddy@linux.ibm.com \
--cc=maz@kernel.org \
--cc=meted@linux.ibm.com \
--cc=mingo@kernel.org \
--cc=pauld@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=rafael@kernel.org \
--cc=rdunlap@infradead.org \
--cc=rostedt@goodmis.org \
--cc=seanjc@google.com \
--cc=sunlightlinux@gmail.com \
--cc=tglx@kernel.org \
--cc=tj@kernel.org \
--cc=tommaso.cucinotta@gmail.com \
--cc=vincent.guittot@linaro.org \
--cc=vineeth@bitbyteword.org \
--cc=virtualization@lists.linux.dev \
--cc=vschneid@redhat.com \
--cc=ynorov@nvidia.com \
--cc=yury.norov@gmail.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.