From: Frederic Weisbecker <frederic@kernel.org>
To: Marcelo Tosatti <mtosatti@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Chris Friesen <chris.friesen@windriver.com>,
linux-kernel@vger.kernel.org, Christoph Lameter <cl@linux.com>,
Jim Somerville <Jim.Somerville@windriver.com>,
Andrew Morton <akpm@linux-foundation.org>,
Frederic Weisbecker <fweisbec@gmail.com>,
Peter Zijlstra <peterz@infradead.org>
Subject: Re: [PATCH v2] isolcpus: affine kernel threads to specified cpumask
Date: Thu, 26 Mar 2020 17:52:40 +0100 [thread overview]
Message-ID: <20200326165239.GD3946@lenoir> (raw)
In-Reply-To: <20200326162002.GA3946@lenoir>
On Thu, Mar 26, 2020 at 05:20:05PM +0100, Frederic Weisbecker wrote:
> On Wed, Mar 25, 2020 at 08:47:36AM -0300, Marcelo Tosatti wrote:
> >
> > Hi Frederic,
> >
> > On Wed, Mar 25, 2020 at 01:30:00AM +0100, Frederic Weisbecker wrote:
> > > On Tue, Mar 24, 2020 at 12:20:16PM -0300, Marcelo Tosatti wrote:
> > > >
> > > > This is a kernel enhancement to configure the cpu affinity of kernel
> > > > threads via kernel boot option isolcpus=no_kthreads,<isolcpus_params>,<cpulist>
> > > >
> > > > When this option is specified, the cpumask is immediately applied upon
> > > > thread launch. This does not affect kernel threads that specify cpu
> > > > and node.
> > > >
> > > > This allows CPU isolation (that is not allowing certain threads
> > > > to execute on certain CPUs) without using the isolcpus=domain parameter,
> > > > making it possible to enable load balancing on such CPUs
> > > > during runtime (see
> > > >
> > > > Note-1: this is based off on Wind River's patch at
> > > > https://github.com/starlingx-staging/stx-integ/blob/master/kernel/kernel-std/centos/patches/affine-compute-kernel-threads.patch
> > > >
> > > > Difference being that this patch is limited to modifying
> > > > kernel thread cpumask: Behaviour of other threads can
> > > > be controlled via cgroups or sched_setaffinity.
> > > >
> > > > Note-2: MontaVista's patch was based off Christoph Lameter's patch at
> > > > https://lwn.net/Articles/565932/ with the only difference being
> > > > the kernel parameter changed from kthread to kthread_cpus.
> > > >
> > > > Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
> > >
> > > I'm wondering, why do you need such a boot shift at all when you
> > > can actually affine kthreads on runtime?
> >
> > New, unbound kernel threads inherit the cpumask of kthreadd.
> >
> > Therefore there is a race between kernel thread creation
> > and affine.
> >
> > If you know of a solution to that problem, that can be used instead.
>
> Well, you could first set the affinity of kthreadd and only then the affinity
> of the others. But I can still imagine some tiny races with fork().
Ah forget that, I missed the part in kthread_create_on_node().
Thanks.
next prev parent reply other threads:[~2020-03-26 16:52 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-23 13:54 [PATCH] affine kernel threads to specified cpumask Marcelo Tosatti
2020-03-23 15:29 ` Chris Friesen
2020-03-24 15:07 ` Marcelo Tosatti
2020-03-23 16:22 ` Thomas Gleixner
2020-03-23 17:02 ` Chris Friesen
2020-03-23 20:31 ` Thomas Gleixner
2020-03-24 11:38 ` Marcelo Tosatti
2020-03-24 15:20 ` [PATCH v2] isolcpus: " Marcelo Tosatti
2020-03-24 15:56 ` Chris Friesen
2020-03-24 16:50 ` Marcelo Tosatti
2020-03-25 0:30 ` Frederic Weisbecker
2020-03-25 11:47 ` Marcelo Tosatti
2020-03-26 16:20 ` Frederic Weisbecker
2020-03-26 16:52 ` Frederic Weisbecker [this message]
2020-03-27 12:07 ` Marcelo Tosatti
2020-03-25 18:05 ` David Laight
2020-03-26 11:28 ` Marcelo Tosatti
2020-03-26 16:22 ` Frederic Weisbecker
2020-03-26 16:32 ` Chris Friesen
2020-03-26 16:51 ` Frederic Weisbecker
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=20200326165239.GD3946@lenoir \
--to=frederic@kernel.org \
--cc=Jim.Somerville@windriver.com \
--cc=akpm@linux-foundation.org \
--cc=chris.friesen@windriver.com \
--cc=cl@linux.com \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
/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.