DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] doc: update Linux core isolation guide
@ 2022-05-02  7:24 Pavan Nikhilesh
  2022-05-02 20:17 ` Stephen Hemminger
  2022-05-17 18:08 ` [PATCH v2] " pbhagavatula
  0 siblings, 2 replies; 11+ messages in thread
From: Pavan Nikhilesh @ 2022-05-02  7:24 UTC (permalink / raw)
  To: jerinj; +Cc: dev, Pavan Nikhilesh

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:
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] doc: update Linux core isolation guide
  2022-05-02  7:24 [PATCH] doc: update Linux core isolation guide Pavan Nikhilesh
@ 2022-05-02 20:17 ` Stephen Hemminger
  2022-05-10 15:50   ` [EXT] " Pavan Nikhilesh Bhagavatula
  2022-05-17 18:08 ` [PATCH v2] " pbhagavatula
  1 sibling, 1 reply; 11+ messages in thread
From: Stephen Hemminger @ 2022-05-02 20:17 UTC (permalink / raw)
  To: Pavan Nikhilesh; +Cc: jerinj, dev

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.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: [EXT] Re: [PATCH] doc: update Linux core isolation guide
  2022-05-02 20:17 ` Stephen Hemminger
@ 2022-05-10 15:50   ` Pavan Nikhilesh Bhagavatula
  0 siblings, 0 replies; 11+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2022-05-10 15:50 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Jerin Jacob Kollanukkaran, dev

> 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.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2] doc: update Linux core isolation guide
  2022-05-02  7:24 [PATCH] doc: update Linux core isolation guide Pavan Nikhilesh
  2022-05-02 20:17 ` Stephen Hemminger
@ 2022-05-17 18:08 ` pbhagavatula
  2022-05-17 18:22   ` Stephen Hemminger
  2022-05-17 19:59   ` [PATCH v3] " pbhagavatula
  1 sibling, 2 replies; 11+ messages in thread
From: pbhagavatula @ 2022-05-17 18:08 UTC (permalink / raw)
  Cc: stephen, jerinj, dev, Pavan Nikhilesh

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Update Linux core isolation guide to include isolation from
timers, rcu processing and IRQs.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 v2 Changes: 
 - Add references to the parameters used.
 - Add note about Linux cgroups.

 doc/guides/linux_gsg/enable_func.rst | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/doc/guides/linux_gsg/enable_func.rst b/doc/guides/linux_gsg/enable_func.rst
index 1df3ab0255..d6f3961da7 100644
--- a/doc/guides/linux_gsg/enable_func.rst
+++ b/doc/guides/linux_gsg/enable_func.rst
@@ -90,16 +90,28 @@ 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
+
+.. Note::
+
+         More detailed information about the above parameters can be found at
+         https://www.kernel.org/doc/html/latest/timers/no_hz.html
+         https://www.kernel.org/doc/html/latest/core-api/irq/
+         https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
+
+.. Note::
+
+         For more fine grained control over resource management and performance tuning one can look
+         into ``Linux cgroups``.
 
 .. _High_Precision_Event_Timer:
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2] doc: update Linux core isolation guide
  2022-05-17 18:08 ` [PATCH v2] " pbhagavatula
@ 2022-05-17 18:22   ` Stephen Hemminger
  2022-05-17 18:32     ` [EXT] " Pavan Nikhilesh Bhagavatula
  2022-05-17 19:59   ` [PATCH v3] " pbhagavatula
  1 sibling, 1 reply; 11+ messages in thread
From: Stephen Hemminger @ 2022-05-17 18:22 UTC (permalink / raw)
  To: pbhagavatula; +Cc: jerinj, dev

On Tue, 17 May 2022 23:38:55 +0530
<pbhagavatula@marvell.com> wrote:

> +
> +.. Note::
> +
> +         For more fine grained control over resource management and performance tuning one can look
> +         into ``Linux cgroups``.

Please provide a better link than just search terms:

Suggestions:

Cgroups uses cpusets.
https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/cpusets.html

Systemd provides standard API for system service contiainers.
https://www.freedesktop.org/software/systemd/man/systemd.exec.html
  - See CPUAffinity



See Also:
https://man7.org/linux/man-pages/man7/cpuset.7.html
https://www.suse.com/c/cpu-isolation-practical-example-part-5/
https://www.rcannings.com/systemd-core-isolation/

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: [EXT] Re: [PATCH v2] doc: update Linux core isolation guide
  2022-05-17 18:22   ` Stephen Hemminger
@ 2022-05-17 18:32     ` Pavan Nikhilesh Bhagavatula
  0 siblings, 0 replies; 11+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2022-05-17 18:32 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Jerin Jacob Kollanukkaran, dev

> On Tue, 17 May 2022 23:38:55 +0530
> <pbhagavatula@marvell.com> wrote:
> 
> > +
> > +.. Note::
> > +
> > +         For more fine grained control over resource management and
> performance tuning one can look
> > +         into ``Linux cgroups``.
> 
> Please provide a better link than just search terms:
>

Sure, I will add the below mention links.

Thanks,
Pavan.
 
> Suggestions:
> 
> Cgroups uses cpusets.
> https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__www.kernel.org_doc_html_latest_admin-2Dguide_cgroup-
> 2Dv1_cpusets.html&d=DwICAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=E3SgYMjt
> KCMVsB-fmvgGV3o-g_fjLhk5Pupi9ijohpc&m=W4c3sgjcX-
> QYOzJv3083R9UxKOzobyP_wZgBG3KO3B6qRTgub_xwUZXA8Iu6tJVc&s=_D2z
> m10RTVVLAgXCM9_ZCdBqwgy5KmDgM1oS39b_ZOc&e=
> 
> Systemd provides standard API for system service contiainers.
> https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__www.freedesktop.org_software_systemd_man_systemd.exec.html&d
> =DwICAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=E3SgYMjtKCMVsB-fmvgGV3o-
> g_fjLhk5Pupi9ijohpc&m=W4c3sgjcX-
> QYOzJv3083R9UxKOzobyP_wZgBG3KO3B6qRTgub_xwUZXA8Iu6tJVc&s=DUY
> 1DqusOfcBDJdEbLXK4fKGT1mC6g7pSR9k4bUA8Cg&e=
>   - See CPUAffinity
> 
> 
> 
> See Also:
> https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__man7.org_linux_man-
> 2Dpages_man7_cpuset.7.html&d=DwICAg&c=nKjWec2b6R0mOyPaz7xtfQ&r
> =E3SgYMjtKCMVsB-fmvgGV3o-g_fjLhk5Pupi9ijohpc&m=W4c3sgjcX-
> QYOzJv3083R9UxKOzobyP_wZgBG3KO3B6qRTgub_xwUZXA8Iu6tJVc&s=JQe
> W8pniCghPjX7-Ek2Jte0mjAhDiUJqMOHKyD4Jxvg&e=
> https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__www.suse.com_c_cpu-2Disolation-2Dpractical-2Dexample-2Dpart-
> 2D5_&d=DwICAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=E3SgYMjtKCMVsB-
> fmvgGV3o-g_fjLhk5Pupi9ijohpc&m=W4c3sgjcX-
> QYOzJv3083R9UxKOzobyP_wZgBG3KO3B6qRTgub_xwUZXA8Iu6tJVc&s=QOs
> 65Ok6O0iO8XmijbcD_4RXwwkM9BroclTePWKiPco&e=
> https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__www.rcannings.com_systemd-2Dcore-
> 2Disolation_&d=DwICAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=E3SgYMjtKCMVs
> B-fmvgGV3o-g_fjLhk5Pupi9ijohpc&m=W4c3sgjcX-
> QYOzJv3083R9UxKOzobyP_wZgBG3KO3B6qRTgub_xwUZXA8Iu6tJVc&s=mQo
> JS4euMdCV2BI2UzGptDdICygMwBMZdJ6OWtjpRYA&e=

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v3] doc: update Linux core isolation guide
  2022-05-17 18:08 ` [PATCH v2] " pbhagavatula
  2022-05-17 18:22   ` Stephen Hemminger
@ 2022-05-17 19:59   ` pbhagavatula
  2022-06-02  7:47     ` Jerin Jacob
                       ` (2 more replies)
  1 sibling, 3 replies; 11+ messages in thread
From: pbhagavatula @ 2022-05-17 19:59 UTC (permalink / raw)
  Cc: stephen, jerinj, dev, Pavan Nikhilesh

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Update Linux core isolation guide to include isolation from
timers, rcu processing and IRQs.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 v3 Changes:
 - Add additional information links for Cgroups.
 v2 Changes: 
 - Add references to the parameters used.
 - Add note about Linux cgroups.

 doc/guides/linux_gsg/enable_func.rst | 35 ++++++++++++++++++++++++----
 1 file changed, 30 insertions(+), 5 deletions(-)

diff --git a/doc/guides/linux_gsg/enable_func.rst b/doc/guides/linux_gsg/enable_func.rst
index 1df3ab0255..c989674422 100644
--- a/doc/guides/linux_gsg/enable_func.rst
+++ b/doc/guides/linux_gsg/enable_func.rst
@@ -90,16 +90,41 @@ 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
+
+.. Note::
+
+         More detailed information about the above parameters can be found at
+         https://www.kernel.org/doc/html/latest/timers/no_hz.html
+         https://www.kernel.org/doc/html/latest/core-api/irq/
+         https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
+
+
+For more fine grained control over resource management and performance tuning one can look
+into ``Linux cgroups``.
+
+Cpusets using cgroups::
+
+   https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/cpusets.html
+
+Systemd (CPUAffinity)::
+
+   https://www.freedesktop.org/software/systemd/man/systemd.exec.html
+
+Also, see::
+
+   https://man7.org/linux/man-pages/man7/cpuset.7.html
+   https://www.suse.com/c/cpu-isolation-practical-example-part-5/
+   https://www.rcannings.com/systemd-core-isolation/
 
 .. _High_Precision_Event_Timer:
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3] doc: update Linux core isolation guide
  2022-05-17 19:59   ` [PATCH v3] " pbhagavatula
@ 2022-06-02  7:47     ` Jerin Jacob
  2022-07-11 20:59     ` Thomas Monjalon
  2022-10-31 11:57     ` [PATCH v4] " pbhagavatula
  2 siblings, 0 replies; 11+ messages in thread
From: Jerin Jacob @ 2022-06-02  7:47 UTC (permalink / raw)
  To: Pavan Nikhilesh; +Cc: Stephen Hemminger, Jerin Jacob, dpdk-dev

On Wed, May 18, 2022 at 1:30 AM <pbhagavatula@marvell.com> wrote:
>
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>
> Update Linux core isolation guide to include isolation from
> timers, rcu processing and IRQs.

rcu-> RCU

>
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>

Acked-by: Jerin Jacob <jerinj@marvell.com>

> ---
>  v3 Changes:
>  - Add additional information links for Cgroups.
>  v2 Changes:
>  - Add references to the parameters used.
>  - Add note about Linux cgroups.
>
>  doc/guides/linux_gsg/enable_func.rst | 35 ++++++++++++++++++++++++----
>  1 file changed, 30 insertions(+), 5 deletions(-)
>
> diff --git a/doc/guides/linux_gsg/enable_func.rst b/doc/guides/linux_gsg/enable_func.rst
> index 1df3ab0255..c989674422 100644
> --- a/doc/guides/linux_gsg/enable_func.rst
> +++ b/doc/guides/linux_gsg/enable_func.rst
> @@ -90,16 +90,41 @@ 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
> +
> +.. Note::
> +
> +         More detailed information about the above parameters can be found at
> +         https://www.kernel.org/doc/html/latest/timers/no_hz.html
> +         https://www.kernel.org/doc/html/latest/core-api/irq/
> +         https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
> +
> +
> +For more fine grained control over resource management and performance tuning one can look
> +into ``Linux cgroups``.
> +
> +Cpusets using cgroups::
> +
> +   https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/cpusets.html
> +
> +Systemd (CPUAffinity)::
> +
> +   https://www.freedesktop.org/software/systemd/man/systemd.exec.html
> +
> +Also, see::
> +
> +   https://man7.org/linux/man-pages/man7/cpuset.7.html
> +   https://www.suse.com/c/cpu-isolation-practical-example-part-5/
> +   https://www.rcannings.com/systemd-core-isolation/
>
>  .. _High_Precision_Event_Timer:
>
> --
> 2.25.1
>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3] doc: update Linux core isolation guide
  2022-05-17 19:59   ` [PATCH v3] " pbhagavatula
  2022-06-02  7:47     ` Jerin Jacob
@ 2022-07-11 20:59     ` Thomas Monjalon
  2022-10-31 11:57     ` [PATCH v4] " pbhagavatula
  2 siblings, 0 replies; 11+ messages in thread
From: Thomas Monjalon @ 2022-07-11 20:59 UTC (permalink / raw)
  To: Pavan Nikhilesh; +Cc: dev, stephen, jerinj, dev

I appreciate you work on the doc.
Please take extra care of the rendering, thanks.


17/05/2022 21:59, pbhagavatula@marvell.com:
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> Update Linux core isolation guide to include isolation from
> timers, rcu processing and IRQs.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---
[...]
> +.. Note::
> +
> +         More detailed information about the above parameters can be found at
> +         https://www.kernel.org/doc/html/latest/timers/no_hz.html
> +         https://www.kernel.org/doc/html/latest/core-api/irq/
> +         https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html

These links will appear on the same line.

> +
> +
> +For more fine grained control over resource management and performance tuning one can look
> +into ``Linux cgroups``.
> +
> +Cpusets using cgroups::
> +
> +   https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/cpusets.html
> +
> +Systemd (CPUAffinity)::
> +
> +   https://www.freedesktop.org/software/systemd/man/systemd.exec.html
> +
> +Also, see::
> +
> +   https://man7.org/linux/man-pages/man7/cpuset.7.html
> +   https://www.suse.com/c/cpu-isolation-practical-example-part-5/
> +   https://www.rcannings.com/systemd-core-isolation/

These links are not clickable.
Please give them name to click on.



^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v4] doc: update Linux core isolation guide
  2022-05-17 19:59   ` [PATCH v3] " pbhagavatula
  2022-06-02  7:47     ` Jerin Jacob
  2022-07-11 20:59     ` Thomas Monjalon
@ 2022-10-31 11:57     ` pbhagavatula
  2022-11-15 15:57       ` Thomas Monjalon
  2 siblings, 1 reply; 11+ messages in thread
From: pbhagavatula @ 2022-10-31 11:57 UTC (permalink / raw)
  To: thomas, jerinj; +Cc: dev, Pavan Nikhilesh

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Update Linux core isolation guide to include isolation from
timers, RCU processing and IRQs.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
---
 v4 Changes:
 - Give names to Links to make them clickable. (Thomas)
 - Fix link formatting.

 v3 Changes:
 - Add additional information links for Cgroups.

 v2 Changes:
 - Add references to the parameters used.
 - Add note about Linux cgroups.

 doc/guides/linux_gsg/enable_func.rst | 32 +++++++++++++++++++++++-----
 1 file changed, 27 insertions(+), 5 deletions(-)

diff --git a/doc/guides/linux_gsg/enable_func.rst b/doc/guides/linux_gsg/enable_func.rst
index b15bfb2f9f..b544d2e50b 100644
--- a/doc/guides/linux_gsg/enable_func.rst
+++ b/doc/guides/linux_gsg/enable_func.rst
@@ -126,16 +126,38 @@ 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
+
+.. Note::
+
+         | More detailed information about the above parameters can be found at:
+         | `NO_HZ <https://www.kernel.org/doc/html/latest/timers/no_hz.html>`_
+         | `IRQs <https://www.kernel.org/doc/html/latest/core-api/irq/>`_
+         | `Kernel parameters <https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html>`_
+
+
+For more fine grained control over resource management and performance tuning one can look
+into ``Linux cgroups``.
+
+Cpusets using cgroups:
+   `CPUSETS <https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/cpusets.html>`_
+
+Systemd (CPUAffinity):
+   `CPUAffinity <https://www.freedesktop.org/software/systemd/man/systemd.exec.html>`_
+
+Also, see:
+   | `CPUSET man pages <https://man7.org/linux/man-pages/man7/cpuset.7.html>`_
+   | `CPU isolation example <https://www.suse.com/c/cpu-isolation-practical-example-part-5/>`_
+   | `Systemd core isolation <https://www.rcannings.com/systemd-core-isolation/>`_

 .. _High_Precision_Event_Timer:

--
2.25.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v4] doc: update Linux core isolation guide
  2022-10-31 11:57     ` [PATCH v4] " pbhagavatula
@ 2022-11-15 15:57       ` Thomas Monjalon
  0 siblings, 0 replies; 11+ messages in thread
From: Thomas Monjalon @ 2022-11-15 15:57 UTC (permalink / raw)
  To: Pavan Nikhilesh; +Cc: jerinj, dev

31/10/2022 12:57, pbhagavatula@marvell.com:
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> Update Linux core isolation guide to include isolation from
> timers, RCU processing and IRQs.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> Acked-by: Jerin Jacob <jerinj@marvell.com>
> ---
>  v4 Changes:
>  - Give names to Links to make them clickable. (Thomas)
>  - Fix link formatting.

Reformatted links and applied.




^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2022-11-15 15:57 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-02  7:24 [PATCH] doc: update Linux core isolation guide Pavan Nikhilesh
2022-05-02 20:17 ` Stephen Hemminger
2022-05-10 15:50   ` [EXT] " Pavan Nikhilesh Bhagavatula
2022-05-17 18:08 ` [PATCH v2] " pbhagavatula
2022-05-17 18:22   ` Stephen Hemminger
2022-05-17 18:32     ` [EXT] " Pavan Nikhilesh Bhagavatula
2022-05-17 19:59   ` [PATCH v3] " pbhagavatula
2022-06-02  7:47     ` Jerin Jacob
2022-07-11 20:59     ` Thomas Monjalon
2022-10-31 11:57     ` [PATCH v4] " pbhagavatula
2022-11-15 15:57       ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).