All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yury Norov <ynorov@nvidia.com>
To: Shrikanth Hegde <sshegde@linux.ibm.com>
Cc: linux-kernel@vger.kernel.org, mingo@kernel.org,
	peterz@infradead.org, juri.lelli@redhat.com,
	vincent.guittot@linaro.org, yury.norov@gmail.com,
	kprateek.nayak@amd.com, iii@linux.ibm.com, corbet@lwn.net,
	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,
	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, rdunlap@infradead.org, kernellwp@gmail.com,
	linux-doc@vger.kernel.org
Subject: Re: [PATCH v7 03/12] sysfs: Add preferred CPU file
Date: Fri, 10 Jul 2026 19:09:35 -0400	[thread overview]
Message-ID: <alF7r_dWfUHKEofx@yury> (raw)
In-Reply-To: <adc1793e-694f-4531-ae61-b6b3eef568c5@linux.ibm.com>

On Fri, Jul 10, 2026 at 10:30:43PM +0530, Shrikanth Hegde wrote:
> Hi Yury, thanks for taking a look.
> 
> On 7/10/26 9:11 PM, Yury Norov wrote:
> > On Fri, Jul 10, 2026 at 03:26:39AM +0530, Shrikanth Hegde wrote:
> > > Add "preferred" file in /sys/devices/system/cpu
> > > 
> > > This offers
> > > - User can quickly check which CPUs are marked as preferred at this
> > >    moment.
> > > - Userspace algorithms irqbalance could use this mask to send irq into
> > >    preferred CPUs.
> > > 
> > > For example:
> > > cat /sys/devices/system/cpu/online
> > > 0-719
> > > cat /sys/devices/system/cpu/preferred
> > > 0-599        <<< Implies 0-599 are preferred for workloads and 600-719
> > >                   should be avoided at this moment.
> > > 
> > > cat /sys/devices/system/cpu/preferred
> > > 0-719        <<< All CPUs are usable. There is no preference.
> > > 
> > > Signed-off-by: Shrikanth Hegde <sshegde@linux.ibm.com>
> > > ---
> > >   Documentation/ABI/testing/sysfs-devices-system-cpu | 11 +++++++++++
> > >   drivers/base/cpu.c                                 |  8 ++++++++
> > >   2 files changed, 19 insertions(+)
> > > 
> > > diff --git a/Documentation/ABI/testing/sysfs-devices-system-cpu b/Documentation/ABI/testing/sysfs-devices-system-cpu
> > > index 82d10d556cc8..ac1dbb209cc7 100644
> > > --- a/Documentation/ABI/testing/sysfs-devices-system-cpu
> > > +++ b/Documentation/ABI/testing/sysfs-devices-system-cpu
> > > @@ -806,3 +806,14 @@ Date:		Nov 2022
> > >   Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
> > >   Description:
> > >   		(RO) the list of CPUs that can be brought online.
> > > +
> > > +What:		/sys/devices/system/cpu/preferred
> > > +Date:		July 2026
> > > +Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
> > > +Description:
> > > +		(RO) the list of preferred CPUs at this moment.
> > > +		These are the only CPUs meant to be used at the moment.
> > > +		Using CPU outside of the list could lead to more
> > > +		contention of underlying physical CPU resource. Dynamically
> > > +		changes based on steal time. With CONFIG_PREFERRED_CPU=n it
> > > +		is same as active CPUs. See sched-arch.rst for more details.
> > 
> > This should mention that it's about paravirtualization.
> 
> Ok. I will rephrase it.
> 
> > 
> > > diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c
> > > index 19d288a3c80c..4ac990efee7c 100644
> > > --- a/drivers/base/cpu.c
> > > +++ b/drivers/base/cpu.c
> > > @@ -391,6 +391,13 @@ static int cpu_uevent(const struct device *dev, struct kobj_uevent_env *env)
> > >   }
> > >   #endif
> > > +static ssize_t preferred_show(struct device *dev,
> > > +			      struct device_attribute *attr, char *buf)
> > > +{
> > > +	return sysfs_emit(buf, "%*pbl\n", cpumask_pr_args(cpu_preferred_mask));
> > > +}
> > > +static DEVICE_ATTR_RO(preferred);
> > > +
> > >   const struct bus_type cpu_subsys = {
> > >   	.name = "cpu",
> > >   	.dev_name = "cpu",
> > > @@ -532,6 +539,7 @@ static struct attribute *cpu_root_attrs[] = {
> > >   #ifdef CONFIG_GENERIC_CPU_AUTOPROBE
> > >   	&dev_attr_modalias.attr,
> > >   #endif
> > > +	&dev_attr_preferred.attr,
> > 
> >   #ifdef CONFIG_PREFERRED_CPUS ?
> 
> Not needed no? It will print active CPUs.

If I didn't enable preferred CPUs, I'll be pretty surprised having
them in my statistics.

  reply	other threads:[~2026-07-10 23:09 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-09 21:56 [PATCH v7 00/12] sched, steal_monitor: Introduce cpu_preferred_mask and steal-driven vCPU backoff Shrikanth Hegde
2026-07-09 21:56 ` [PATCH v7 01/12] sched/docs: Document cpu_preferred_mask and Preferred CPU concept Shrikanth Hegde
2026-07-09 21:56 ` [PATCH v7 02/12] cpumask: Introduce cpu_preferred_mask Shrikanth Hegde
2026-07-13 14:53   ` Yury Norov
2026-07-14  6:30     ` Shrikanth Hegde
2026-07-14 13:01       ` Yury Norov
2026-07-09 21:56 ` [PATCH v7 03/12] sysfs: Add preferred CPU file Shrikanth Hegde
2026-07-10 15:41   ` Yury Norov
2026-07-10 17:00     ` Shrikanth Hegde
2026-07-10 23:09       ` Yury Norov [this message]
2026-07-13 12:00         ` Shrikanth Hegde
2026-07-09 21:56 ` [PATCH v7 04/12] sched/core: Try to use a preferred CPU in is_cpu_allowed Shrikanth Hegde
2026-07-09 21:56 ` [PATCH v7 05/12] sched/fair: Load balance only among preferred CPUs Shrikanth Hegde
2026-07-09 21:56 ` [PATCH v7 06/12] sched/core: Push current task from non preferred CPU Shrikanth Hegde
2026-07-10 23:02   ` Yury Norov
2026-07-13 12:35     ` Shrikanth Hegde
2026-07-09 21:56 ` [PATCH v7 07/12] sched/debug: Add migration stats due to non preferred CPUs Shrikanth Hegde
2026-07-09 21:56 ` [PATCH v7 08/12] virt: Introduce steal monitor driver Shrikanth Hegde
2026-07-10  1:27   ` Randy Dunlap
2026-07-10  4:28     ` Shrikanth Hegde
2026-07-10 20:53   ` Yury Norov
2026-07-13 12:06     ` Shrikanth Hegde
2026-07-09 21:56 ` [PATCH v7 09/12] virt/steal_monitor: Add control knobs for handling steal values Shrikanth Hegde
2026-07-10  4:27   ` Shrikanth Hegde
2026-07-09 21:56 ` [PATCH v7 10/12] virt/steal_monitor: Provide functions for managing " Shrikanth Hegde
2026-07-10  4:30   ` Shrikanth Hegde
2026-07-10 20:00   ` Yury Norov
2026-07-13  5:13     ` Shrikanth Hegde
2026-07-14 12:47       ` Yury Norov
2026-07-14 13:15         ` Shrikanth Hegde
2026-07-09 21:56 ` [PATCH v7 11/12] virt/steal_monitor: Act on steal time periodically and decide on preferred CPUs Shrikanth Hegde
2026-07-10 20:37   ` Yury Norov
2026-07-13  5:48     ` Shrikanth Hegde
2026-07-14 12:31       ` Yury Norov
2026-07-14 13:08         ` Shrikanth Hegde
2026-07-09 21:56 ` [PATCH v7 12/12] sched, virt/steal_monitor: Keep tick on for faster push on nohz_full CPU Shrikanth Hegde
2026-07-10  6:35   ` 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=alF7r_dWfUHKEofx@yury \
    --to=ynorov@nvidia.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=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=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=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 \
    --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.