doc: update Linux core isolation guide
Checks
Commit Message
Update Linux core isolation guide to include isolation from
timers, rcu processing and IRQs.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
doc/guides/linux_gsg/enable_func.rst | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
Comments
On Mon, 2 May 2022 12:54:14 +0530
Pavan Nikhilesh <pbhagavatula@marvell.com> wrote:
> Update Linux core isolation guide to include isolation from
> timers, rcu processing and IRQs.
>
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---
> doc/guides/linux_gsg/enable_func.rst | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/doc/guides/linux_gsg/enable_func.rst
> b/doc/guides/linux_gsg/enable_func.rst index 1df3ab0255..f567c713e6
> 100644 --- a/doc/guides/linux_gsg/enable_func.rst
> +++ b/doc/guides/linux_gsg/enable_func.rst
> @@ -90,16 +90,16 @@ Using Linux Core Isolation to Reduce Context
> Switches -----------------------------------------------------
>
> While the threads used by a DPDK application are pinned to logical
> cores on the system, -it is possible for the Linux scheduler to run
> other tasks on those cores also. -To help prevent additional
> workloads from running on those cores, -it is possible to use the
> ``isolcpus`` Linux kernel parameter to isolate them from the general
> Linux scheduler. +it is possible for the Linux scheduler to run other
> tasks on those cores. +To help prevent additional workloads, timers,
> rcu processing and IRQs from running on those cores, it is possible
> to use +the Linux kernel parameters ``isolcpus``, ``nohz_full``,
> ``irqaffinity`` to isolate them from the general Linux scheduler
> tasks. -For example, if DPDK applications are to run on logical cores
> 2, 4 and 6, +For example, if a given CPU has 0-7 cores and DPDK
> applications are to run on logical cores 2, 4 and 6, the following
> should be added to the kernel parameter list: .. code-block:: console
> - isolcpus=2,4,6
> + isolcpus=2,4,6 nohz_full=2,4,6 irqaffinity=0,1,3,5,7
>
> .. _High_Precision_Event_Timer:
>
Also cgroups is often a better solution than the kernel command line.
There are also caveats around some of these settings so worth reading
the
kernel documentation.
> On Mon, 2 May 2022 12:54:14 +0530
> Pavan Nikhilesh <pbhagavatula@marvell.com> wrote:
>
> > Update Linux core isolation guide to include isolation from
> > timers, rcu processing and IRQs.
> >
> > Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> > ---
> > doc/guides/linux_gsg/enable_func.rst | 10 +++++-----
> > 1 file changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/doc/guides/linux_gsg/enable_func.rst
> > b/doc/guides/linux_gsg/enable_func.rst index 1df3ab0255..f567c713e6
> > 100644 --- a/doc/guides/linux_gsg/enable_func.rst
> > +++ b/doc/guides/linux_gsg/enable_func.rst
> > @@ -90,16 +90,16 @@ Using Linux Core Isolation to Reduce Context
> > Switches -----------------------------------------------------
> >
> > While the threads used by a DPDK application are pinned to logical
> > cores on the system, -it is possible for the Linux scheduler to run
> > other tasks on those cores also. -To help prevent additional
> > workloads from running on those cores, -it is possible to use the
> > ``isolcpus`` Linux kernel parameter to isolate them from the general
> > Linux scheduler. +it is possible for the Linux scheduler to run other
> > tasks on those cores. +To help prevent additional workloads, timers,
> > rcu processing and IRQs from running on those cores, it is possible
> > to use +the Linux kernel parameters ``isolcpus``, ``nohz_full``,
> > ``irqaffinity`` to isolate them from the general Linux scheduler
> > tasks. -For example, if DPDK applications are to run on logical cores
> > 2, 4 and 6, +For example, if a given CPU has 0-7 cores and DPDK
> > applications are to run on logical cores 2, 4 and 6, the following
> > should be added to the kernel parameter list: .. code-block:: console
> > - isolcpus=2,4,6
> > + isolcpus=2,4,6 nohz_full=2,4,6 irqaffinity=0,1,3,5,7
> >
> > .. _High_Precision_Event_Timer:
> >
>
> Also cgroups is often a better solution than the kernel command line.
> There are also caveats around some of these settings so worth reading
> the
> kernel documentation.
Most of the performance tests that we advertise include these parameters and a note
In docs would helpful if users are trying to replicating those numbers.
I will add a note about cgroups and links to kernel documentation in the next version.
Thanks,
Pavan.
@@ -90,16 +90,16 @@ Using Linux Core Isolation to Reduce Context Switches
-----------------------------------------------------
While the threads used by a DPDK application are pinned to logical cores on the system,
-it is possible for the Linux scheduler to run other tasks on those cores also.
-To help prevent additional workloads from running on those cores,
-it is possible to use the ``isolcpus`` Linux kernel parameter to isolate them from the general Linux scheduler.
+it is possible for the Linux scheduler to run other tasks on those cores.
+To help prevent additional workloads, timers, rcu processing and IRQs from running on those cores, it is possible to use
+the Linux kernel parameters ``isolcpus``, ``nohz_full``, ``irqaffinity`` to isolate them from the general Linux scheduler tasks.
-For example, if DPDK applications are to run on logical cores 2, 4 and 6,
+For example, if a given CPU has 0-7 cores and DPDK applications are to run on logical cores 2, 4 and 6,
the following should be added to the kernel parameter list:
.. code-block:: console
- isolcpus=2,4,6
+ isolcpus=2,4,6 nohz_full=2,4,6 irqaffinity=0,1,3,5,7
.. _High_Precision_Event_Timer: