[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aMK27L52yLpohO0p@localhost.localdomain>
Date: Thu, 11 Sep 2025 13:47:56 +0200
From: Frederic Weisbecker <frederic@...nel.org>
To: Waiman Long <llong@...hat.com>
Cc: LKML <linux-kernel@...r.kernel.org>,
Anna-Maria Behnsen <anna-maria@...utronix.de>,
Gabriele Monaco <gmonaco@...hat.com>,
Ingo Molnar <mingo@...nel.org>, Jonathan Corbet <corbet@....net>,
Marcelo Tosatti <mtosatti@...hat.com>,
Marco Crivellari <marco.crivellari@...e.com>,
Michal Hocko <mhocko@...nel.org>,
"Paul E . McKenney" <paulmck@...nel.org>,
Peter Zijlstra <peterz@...radead.org>, Phil Auld <pauld@...hat.com>,
Steven Rostedt <rostedt@...dmis.org>,
Thomas Gleixner <tglx@...utronix.de>,
Valentin Schneider <vschneid@...hat.com>,
Vlastimil Babka <vbabka@...e.cz>, linux-doc@...r.kernel.org
Subject: Re: [PATCH] doc: Add CPU Isolation documentation
Le Mon, Aug 11, 2025 at 04:38:53PM -0400, Waiman Long a écrit :
> On 8/9/25 5:42 AM, Frederic Weisbecker wrote:
> > nohz_full was introduced in v3.10 in 2013, which means this
> > documentation is overdue for 12 years.
> >
> > The shoemaker's children always go barefoot. And working on timers
> > hasn't made me arriving on time either.
> >
> > Fortunately Paul wrote a part of the needed documentation a while ago,
> > especially concerning nohz_full in Documentation/timers/no_hz.rst and
> > also about per-CPU kthreads in
> > Documentation/admin-guide/kernel-per-CPU-kthreads.rst
> >
> > Introduce a new page that gives an overview of CPU isolation in general.
> >
> > Signed-off-by: Frederic Weisbecker <frederic@...nel.org>
>
> Thanks for working on this document. It will be really useful for those
> customers that need CPU isolation.
>
>
> > ---
> > Documentation/admin-guide/cpu-isolation.rst | 338 ++++++++++++++++++++
> > Documentation/admin-guide/index.rst | 1 +
> > 2 files changed, 339 insertions(+)
> > create mode 100644 Documentation/admin-guide/cpu-isolation.rst
> >
> > diff --git a/Documentation/admin-guide/cpu-isolation.rst b/Documentation/admin-guide/cpu-isolation.rst
> > new file mode 100644
> > index 000000000000..250027acf7b2
> > --- /dev/null
> > +++ b/Documentation/admin-guide/cpu-isolation.rst
> > @@ -0,0 +1,338 @@
> > +=============
> > +CPU Isolation
> > +=============
> > +
> > +Introduction
> > +============
> > +
> > +"CPU Isolation" means leaving a CPU exclusive to a given userspace
> > +workload without any undesired code interference from the kernel.
> > +
> > +Those interferences, commonly pointed out as "noise", can be triggered
> > +by asynchronous events (interrupts, timers, scheduler preemption by
> > +workqueues and kthreads, ...) or synchronous events (syscalls and page
> > +faults).
> > +
> > +Such noise usually goes unnoticed. After all synchronous events are a
> > +component of the requested kernel service. And asynchronous events are
> > +either sufficiently well distributed by the scheduler when executed
> > +as tasks or reasonably fast when executed as interrupt. The timer
> > +interrupt can even execute 1024 times per seconds without
> > +significantly measurable impact most of the time.
>
> "significantly measurable" looks odd to me. Maybe "without a significant and
> measurable impact most of the time".
Makes sense.
>
> > +
> > +Tradeoffs
> > +~~~~~~~~~
> > +
> > +In terms of cost, this is the most invasive isolation feature. It is
> > +assumed to be used when the workload spends most of its time in
> > +userspace and doesn't rely on the kernel except for preparatory
> > +work because:
> > +
> > +- RCU is slower due to the locked, offloaded and threaded callbacks
> > + processing (the same that would be obtained with "rcu_nocb=" boot
> > + parameter).
> Should be "rcu_nocbs". The '=' is optional.
Ok.
Thanks!
>
> Cheers,
> Longman
>
--
Frederic Weisbecker
SUSE Labs
Powered by blists - more mailing lists