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@xxxxxxxxxx> > > 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