From: Yury Norov <yury.norov@gmail.com>
To: Shrikanth Hegde <sshegde@linux.ibm.com>
Cc: Yury Norov <yury.norov@gmail.com>,
K Prateek Nayak <kprateek.nayak@amd.com>,
linux-kernel@vger.kernel.org, mingo@kernel.org,
peterz@infradead.org, juri.lelli@redhat.com,
vincent.guittot@linaro.org, iii@linux.ibm.com, tglx@kernel.org,
gregkh@linuxfoundation.org, pbonzini@redhat.com,
seanjc@google.com, vschneid@redhat.com, huschle@linux.ibm.com,
rostedt@goodmis.org, dietmar.eggemann@arm.com, mgorman@suse.de,
bsegall@google.com, maddy@linux.ibm.com, srikar@linux.ibm.com,
hdanton@sina.com, chleroy@kernel.org, vineeth@bitbyteword.org,
frederic@kernel.org, arighi@nvidia.com, pauld@redhat.com,
christian.loehle@arm.com, tj@kernel.org,
tommaso.cucinotta@gmail.com, maz@kernel.org, rafael@kernel.org
Subject: Re: [PATCH v4 14/20] sched/core: Introduce a simple steal monitor
Date: Thu, 18 Jun 2026 03:16:25 -0400 [thread overview]
Message-ID: <ajObSdTAPVhTS8QG@yury> (raw)
In-Reply-To: <ed002bf7-ea2f-402a-97a8-5ae8b8a060f1@linux.ibm.com>
On Thu, Jun 18, 2026 at 12:15:16PM +0530, Shrikanth Hegde wrote:
>
>
>
> Hi Yury.
>
> On 6/18/26 12:09 PM, Yury Norov wrote:
> > On Thu, Jun 18, 2026 at 11:31:17AM +0530, Shrikanth Hegde wrote:
> > >
> > >
> > > On 6/18/26 11:02 AM, K Prateek Nayak wrote:
> > > > Hello Shrikanth, Yury,
> > > >
> > > > On 6/18/2026 10:14 AM, Shrikanth Hegde wrote:
> > > > > On 6/18/26 10:00 AM, Yury Norov wrote:
> > > > > > On Wed, Jun 17, 2026 at 11:11:33PM +0530, Shrikanth Hegde wrote:
> > > > > > > Start with a simple steal monitor.
> > > > > > >
> > > > > > > It is meant to look at steal time and make the decision to
> > > > > > > reduce/increase the preferred CPUs.
> > > > > > >
> > > > > > > It has
> > > > > > > - work function to execute the steal time calculations and decision
> > > > > > > making periodically.
> > > > > > > - low and high thresholds for steal time.
> > > > > > > - sampling period to control the frequency of steal time calculations.
> > > > > > > - cache the previous decision to avoid oscillations
> > > > > >
> > > > > > This monitor is the one implementation out of quite many possible,
> > > > > > right? I don't think it should live in the core scheduler files, it
> > > > > > should be a module.
> > > >
> > > > I agree that this tight of an integration with the sched bits might not
> > > > not be required.
> > > >
> > > > >
> > > > > You mean similar to drivers/cpuidle/? a new one drivers/steal_monitor/ ?
> > > >
> > > > Since steal time is a virtualization concept, somewhere in drivers/virt/
> > > > probably makes more sense unless we need some scheduler internal API to
> > > > implement it which shouldn't be the case.
> > > >
> > > > All the driver has to do is track steal-time (which should be available
> > > > via kcpustat_cpu_fetch()) periodically (using a workqueue?) and should
> > > > do set_cpu_preferred() (which needs to be made available for other use
> > > > cases anyways) so it should be possible.
> > >
> > > Yes. Seems like doable.
> > >
> > > Do you think it would make sense to keep the debugfs in sched still?
> >
> > The enable/disable part will be replaced with insmod/rmmod. The
> > statistics part - IDK. It is nice to have all stats at the same
> > place. On the other hand, without the driver loaded it would
> > always read zeroes. It anyways is just a single line in sched/core.c,
> > not a big deal.
> >
>
> I was asking about these debugfs knobs.
>
> steal_monitor/high_threshold:500
> steal_monitor/low_threshold:200
> steal_monitor/sampling_period:1000
Those are the driver defaults. And if you want to override one, then:
insmod steal_monitor.ko high_threshold=400
next prev parent reply other threads:[~2026-06-18 7:16 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-17 17:41 [PATCH v4 00/20] sched: Introduce cpu_preferred_mask and steal-driven vCPU backoff Shrikanth Hegde
2026-06-17 17:41 ` [PATCH v4 01/20] sched/debug: Remove unused schedstats Shrikanth Hegde
2026-06-17 17:41 ` [PATCH v4 02/20] sched/docs: Document cpu_preferred_mask and Preferred CPU concept Shrikanth Hegde
2026-06-17 17:41 ` [PATCH v4 03/20] kconfig: Provide PREFERRED_CPU option Shrikanth Hegde
2026-06-18 0:51 ` Yury Norov
2026-06-18 3:44 ` Shrikanth Hegde
2026-06-17 17:41 ` [PATCH v4 04/20] cpumask: Introduce cpu_preferred_mask Shrikanth Hegde
2026-06-18 1:29 ` Yury Norov
2026-06-18 3:53 ` Shrikanth Hegde
2026-06-18 8:27 ` Shrikanth Hegde
2026-06-17 17:41 ` [PATCH v4 05/20] sysfs: Add preferred CPU file Shrikanth Hegde
2026-06-17 17:41 ` [PATCH v4 06/20] sched/core: allow only preferred CPUs in is_cpu_allowed Shrikanth Hegde
2026-06-18 3:32 ` Yury Norov
2026-06-18 4:17 ` Shrikanth Hegde
2026-06-18 4:49 ` Yury Norov
2026-06-18 5:14 ` Shrikanth Hegde
2026-06-18 3:49 ` K Prateek Nayak
2026-06-18 4:22 ` Shrikanth Hegde
2026-06-17 17:41 ` [PATCH v4 07/20] sched/fair: Select preferred CPU at wakeup when possible Shrikanth Hegde
2026-06-17 17:41 ` [PATCH v4 08/20] sched/fair: load balance only among preferred CPUs Shrikanth Hegde
2026-06-18 3:03 ` K Prateek Nayak
2026-06-18 3:54 ` Shrikanth Hegde
2026-06-17 17:41 ` [PATCH v4 09/20] sched/core: Keep tick on non-preferred CPUs until tasks are out Shrikanth Hegde
2026-06-17 17:41 ` [PATCH v4 10/20] sched/core: Push current task from non preferred CPU Shrikanth Hegde
2026-06-18 4:09 ` K Prateek Nayak
2026-06-18 6:05 ` Shrikanth Hegde
2026-06-17 17:41 ` [PATCH v4 11/20] sched/debug: Add migration stats due to non preferred CPUs Shrikanth Hegde
2026-06-17 17:41 ` [PATCH v4 12/20] sched/debug: Create debugfs folder steal monitor Shrikanth Hegde
2026-06-17 17:41 ` [PATCH v4 13/20] sched/debug: Provide debugfs to enable/disable " Shrikanth Hegde
2026-06-17 17:41 ` [PATCH v4 14/20] sched/core: Introduce a simple " Shrikanth Hegde
2026-06-18 4:30 ` Yury Norov
2026-06-18 4:44 ` Shrikanth Hegde
2026-06-18 5:32 ` K Prateek Nayak
2026-06-18 6:01 ` Shrikanth Hegde
2026-06-18 6:39 ` Yury Norov
2026-06-18 6:45 ` Shrikanth Hegde
2026-06-18 7:16 ` Yury Norov [this message]
2026-06-17 17:41 ` [PATCH v4 15/20] sched/core: Compute steal values at regular intervals Shrikanth Hegde
2026-06-18 4:04 ` Yury Norov
2026-06-18 5:39 ` Shrikanth Hegde
2026-06-17 17:41 ` [PATCH v4 16/20] sched/core: Introduce default arch handling code for inc/dec preferred CPUs Shrikanth Hegde
2026-06-18 4:15 ` Yury Norov
2026-06-18 4:42 ` Shrikanth Hegde
2026-06-17 17:41 ` [PATCH v4 17/20] sched/core: Handle steal values and mark CPUs as preferred Shrikanth Hegde
2026-06-17 17:41 ` [PATCH v4 18/20] sched/core: Mark the direction of steal values to avoid oscillations Shrikanth Hegde
2026-06-17 17:41 ` [PATCH v4 19/20] sched/debug: Add debug knobs for steal monitor Shrikanth Hegde
2026-06-17 17:41 ` [PATCH v4 20/20] sched/core: Add a few check for valid CPU in inc/dec of preferred CPUs Shrikanth Hegde
2026-06-18 4:21 ` Yury Norov
2026-06-18 4:40 ` 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=ajObSdTAPVhTS8QG@yury \
--to=yury.norov@gmail.com \
--cc=arighi@nvidia.com \
--cc=bsegall@google.com \
--cc=chleroy@kernel.org \
--cc=christian.loehle@arm.com \
--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=juri.lelli@redhat.com \
--cc=kprateek.nayak@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maddy@linux.ibm.com \
--cc=maz@kernel.org \
--cc=mgorman@suse.de \
--cc=mingo@kernel.org \
--cc=pauld@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=rafael@kernel.org \
--cc=rostedt@goodmis.org \
--cc=seanjc@google.com \
--cc=srikar@linux.ibm.com \
--cc=sshegde@linux.ibm.com \
--cc=tglx@kernel.org \
--cc=tj@kernel.org \
--cc=tommaso.cucinotta@gmail.com \
--cc=vincent.guittot@linaro.org \
--cc=vineeth@bitbyteword.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.