diff mbox series

[v2] doc: bitbake-user-manual: Add definition for BB_PRESSURE_MAX variables

Message ID 20220812182236.1650194-1-aryaman.gupta@windriver.com
State Accepted, archived
Commit c014281f72f4f54ec8e681ef2b8e1080de9ab5cf
Headers show
Series [v2] doc: bitbake-user-manual: Add definition for BB_PRESSURE_MAX variables | expand

Commit Message

Aryaman Gupta Aug. 12, 2022, 6:22 p.m. UTC
Add the definitions for the BB_PRESSURE_MAX{CPU|IO|MEMORY} variables in the
bitbake varibales glossary. Further information on how to determine a good
threshold will be added to the Yocto reference manual in a later commit.

Signed-off-by: Aryaman Gupta <aryaman.gupta@windriver.com>
Signed-off-by: Randy Macleod <Randy.Macleod@windriver.com>
---
 .../bitbake-user-manual-ref-variables.rst     | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)

Comments

Michael Opdenacker Aug. 29, 2022, 12:46 p.m. UTC | #1
Hi Aryaman,

Many thanks for the patch! Apologies for the late review, I was away on 
vacation.

See my comments below:

On 8/12/22 20:22, Aryaman Gupta wrote:
> Add the definitions for the BB_PRESSURE_MAX{CPU|IO|MEMORY} variables in the
> bitbake varibales glossary. Further information on how to determine a good
> threshold will be added to the Yocto reference manual in a later commit.
>
> Signed-off-by: Aryaman Gupta <aryaman.gupta@windriver.com>
> Signed-off-by: Randy Macleod <Randy.Macleod@windriver.com>
> ---
>   .../bitbake-user-manual-ref-variables.rst     | 30 +++++++++++++++++++
>   1 file changed, 30 insertions(+)
>
> diff --git a/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
> index 12aef3cb..9b2027de 100644
> --- a/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
> +++ b/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
> @@ -482,6 +482,36 @@ overview of their function and contents.
>   
>            You must set this variable in the external environment in order
>            for it to work.
> +
> +   :term:`BB_PRESSURE_MAX_CPU`
> +      The threshold for maximum CPU pressure before BitBake prevents the
> +      scheduling of new tasks. Once the :term:`BB_PRESSURE_MAX_CPU` threshold
> +      is exceeded, new tasks are not started until the pressure subsides to
> +      below the threshold. If :term:`BB_PRESSURE_MAX_CPU` is not set, CPU
> +      pressure is not monitored. A threshold can be set in ``conf/local.conf``
> +      as:
> +      ::


Actually, here you can just use "as::" instead of "as:" followed by "::" 
in the next line.

> +
> +         BB_PRESSURE_MAX_CPU = "500"
> +
> +      Information about how to set a suitable value and some other caveats to
> +      consider can be found in the
> +      :ref:`Reference Manual </ref-manual/variables:BB_PRESSURE_MAX_CPU>``


I'm afraid you'll have to add this reference in a later commit, because 
for the moment, this creates a warning that is turned into an error. 
Sorry, this is the pain of managing two manuals at once. You may say 
"Yocto Project Reference Manual" then.

By the way, you had an extra backquote at the end of your reference.

> +
> +   :term:`BB_PRESSURE_MAX_IO`
> +      The threshold for maximum IO pressure experienced before BitBake
> +      prevents the scheduling of new tasks. The IO pressure is regulated in the
> +      same way as :term:`BB_PRESSURE_MAX_CPU`. At this point in time,
> +      experiments show that IO pressure tends to be short-lived and regulating
> +      just the CPU can help to reduce it.
> +
> +   :term:`BB_PRESSURE_MAX_MEMORY`
> +      The threshold for maximum memory pressure experienced before BitBake
> +      prevents the scheduling of new tasks. The memory pressure is regulated in
> +      the same way as :term:`BB_PRESSURE_MAX_CPU`. Note that any memory
> +      pressure indicates that a system is being pushed beyond it's capacity. At


s/it's/its/

> +      this point in time, experiments show that memory pressure tends to be
> +      short-lived and regulating just the CPU can help to reduce it.
>   
>      :term:`BB_RUNFMT`
>         Specifies the name of the executable script files (i.e. run files)


Would you mind sending a V3 fixing these, please? This one should be 
ready to merge.
Thanks in advance, and thank you for your patience :)

Cheers
Michael.
Richard Purdie Sept. 2, 2022, 3:56 p.m. UTC | #2
On Mon, 2022-08-29 at 14:46 +0200, Michael Opdenacker via
lists.openembedded.org wrote:
> Hi Aryaman,
> 
> Many thanks for the patch! Apologies for the late review, I was away on 
> vacation.
> 
> See my comments below:
> 
> On 8/12/22 20:22, Aryaman Gupta wrote:
> > Add the definitions for the BB_PRESSURE_MAX{CPU|IO|MEMORY} variables in the
> > bitbake varibales glossary. Further information on how to determine a good
> > threshold will be added to the Yocto reference manual in a later commit.
> > 
> > Signed-off-by: Aryaman Gupta <aryaman.gupta@windriver.com>
> > Signed-off-by: Randy Macleod <Randy.Macleod@windriver.com>
> > ---
> >   .../bitbake-user-manual-ref-variables.rst     | 30 +++++++++++++++++++
> >   1 file changed, 30 insertions(+)
> > 
> > diff --git a/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
> > index 12aef3cb..9b2027de 100644
> > --- a/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
> > +++ b/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
> > @@ -482,6 +482,36 @@ overview of their function and contents.
> >   
> >            You must set this variable in the external environment in order
> >            for it to work.
> > +
> > +   :term:`BB_PRESSURE_MAX_CPU`
> > +      The threshold for maximum CPU pressure before BitBake prevents the
> > +      scheduling of new tasks. Once the :term:`BB_PRESSURE_MAX_CPU` threshold
> > +      is exceeded, new tasks are not started until the pressure subsides to
> > +      below the threshold. If :term:`BB_PRESSURE_MAX_CPU` is not set, CPU
> > +      pressure is not monitored. A threshold can be set in ``conf/local.conf``
> > +      as:
> > +      ::
> 
> 
> Actually, here you can just use "as::" instead of "as:" followed by "::" 
> in the next line.
> 
> > +
> > +         BB_PRESSURE_MAX_CPU = "500"
> > +
> > +      Information about how to set a suitable value and some other caveats to
> > +      consider can be found in the
> > +      :ref:`Reference Manual </ref-manual/variables:BB_PRESSURE_MAX_CPU>``
> 
> 
> I'm afraid you'll have to add this reference in a later commit, because 
> for the moment, this creates a warning that is turned into an error. 
> Sorry, this is the pain of managing two manuals at once. You may say 
> "Yocto Project Reference Manual" then.
> 
> By the way, you had an extra backquote at the end of your reference.
> 
> > +
> > +   :term:`BB_PRESSURE_MAX_IO`
> > +      The threshold for maximum IO pressure experienced before BitBake
> > +      prevents the scheduling of new tasks. The IO pressure is regulated in the
> > +      same way as :term:`BB_PRESSURE_MAX_CPU`. At this point in time,
> > +      experiments show that IO pressure tends to be short-lived and regulating
> > +      just the CPU can help to reduce it.
> > +
> > +   :term:`BB_PRESSURE_MAX_MEMORY`
> > +      The threshold for maximum memory pressure experienced before BitBake
> > +      prevents the scheduling of new tasks. The memory pressure is regulated in
> > +      the same way as :term:`BB_PRESSURE_MAX_CPU`. Note that any memory
> > +      pressure indicates that a system is being pushed beyond it's capacity. At
> 
> 
> s/it's/its/
> 
> > +      this point in time, experiments show that memory pressure tends to be
> > +      short-lived and regulating just the CPU can help to reduce it.
> >   
> >      :term:`BB_RUNFMT`
> >         Specifies the name of the executable script files (i.e. run files)
> 
> 
> Would you mind sending a V3 fixing these, please? This one should be 
> ready to merge.
> Thanks in advance, and thank you for your patience :)

Aryaman is no longer at Wind River so we may need to handle the tweaks
ourselves.

Cheers,

Richard
diff mbox series

Patch

diff --git a/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
index 12aef3cb..9b2027de 100644
--- a/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
+++ b/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
@@ -482,6 +482,36 @@  overview of their function and contents.
 
          You must set this variable in the external environment in order
          for it to work.
+   
+   :term:`BB_PRESSURE_MAX_CPU`
+      The threshold for maximum CPU pressure before BitBake prevents the
+      scheduling of new tasks. Once the :term:`BB_PRESSURE_MAX_CPU` threshold
+      is exceeded, new tasks are not started until the pressure subsides to
+      below the threshold. If :term:`BB_PRESSURE_MAX_CPU` is not set, CPU
+      pressure is not monitored. A threshold can be set in ``conf/local.conf``
+      as:
+      ::
+
+         BB_PRESSURE_MAX_CPU = "500"
+
+      Information about how to set a suitable value and some other caveats to
+      consider can be found in the
+      :ref:`Reference Manual </ref-manual/variables:BB_PRESSURE_MAX_CPU>``
+
+   :term:`BB_PRESSURE_MAX_IO`
+      The threshold for maximum IO pressure experienced before BitBake
+      prevents the scheduling of new tasks. The IO pressure is regulated in the
+      same way as :term:`BB_PRESSURE_MAX_CPU`. At this point in time,
+      experiments show that IO pressure tends to be short-lived and regulating
+      just the CPU can help to reduce it.
+
+   :term:`BB_PRESSURE_MAX_MEMORY`
+      The threshold for maximum memory pressure experienced before BitBake
+      prevents the scheduling of new tasks. The memory pressure is regulated in
+      the same way as :term:`BB_PRESSURE_MAX_CPU`. Note that any memory
+      pressure indicates that a system is being pushed beyond it's capacity. At
+      this point in time, experiments show that memory pressure tends to be
+      short-lived and regulating just the CPU can help to reduce it.
 
    :term:`BB_RUNFMT`
       Specifies the name of the executable script files (i.e. run files)