@@ -533,11 +533,18 @@ overview of their function and contents.
version 4.20 expose under ``/proc/pressure``. The threshold represents
the difference in "total" pressure from the previous second. The
minimum value is 1.0 (extremely slow builds) and the maximum is
- 1000000 (a pressure value unlikely to ever be reached).
+ 1000000 (a pressure value unlikely to ever be reached). See
+ https://docs.kernel.org/accounting/psi.html for more information.
- This threshold can be set in ``conf/local.conf`` as::
+ A default value to limit the CPU pressure to be set in ``conf/local.conf``
+ could be::
+
+ BB_PRESSURE_MAX_CPU = "15000"
+
+ Multiple values should be tested on the build host to determine what suits
+ best, depending on the need for performances versus load average during
+ the build.
- BB_PRESSURE_MAX_CPU = "500"
:term:`BB_PRESSURE_MAX_IO`
Specifies a maximum I/O pressure threshold, above which BitBake's
@@ -549,12 +556,22 @@ overview of their function and contents.
version 4.20 expose under ``/proc/pressure``. The threshold represents
the difference in "total" pressure from the previous second. The
minimum value is 1.0 (extremely slow builds) and the maximum is
- 1000000 (a pressure value unlikely to ever be reached).
+ 1000000 (a pressure value unlikely to ever be reached). See
+ https://docs.kernel.org/accounting/psi.html for more information.
At this point in time, experiments show that IO pressure tends to
be short-lived and regulating just the CPU with
:term:`BB_PRESSURE_MAX_CPU` can help to reduce it.
+ A default value to limit the I/O pressure to be set in ``conf/local.conf``
+ could be::
+
+ BB_PRESSURE_MAX_IO = "15000"
+
+ Multiple values should be tested on the build host to determine what suits
+ best, depending on the need for performances versus I/O usage during the
+ build.
+
:term:`BB_PRESSURE_MAX_MEMORY`
Specifies a maximum memory pressure threshold, above which BitBake's
@@ -566,7 +583,8 @@ overview of their function and contents.
version 4.20 expose under ``/proc/pressure``. The threshold represents
the difference in "total" pressure from the previous second. The
minimum value is 1.0 (extremely slow builds) and the maximum is
- 1000000 (a pressure value unlikely to ever be reached).
+ 1000000 (a pressure value unlikely to ever be reached). See
+ https://docs.kernel.org/accounting/psi.html for more information.
Memory pressure is experienced when time is spent swapping,
refaulting pages from the page cache or performing direct reclaim.
@@ -574,6 +592,15 @@ overview of their function and contents.
might be useful as a last resort to prevent OOM errors if they are
occurring during builds.
+ A default value to limit the memory pressure to be set in
+ ``conf/local.conf`` could be::
+
+ BB_PRESSURE_MAX_MEMORY = "15000"
+
+ Multiple values should be tested on the build host to determine what suits
+ best, depending on the need for performances versus memory consumption
+ during the build.
+
:term:`BB_RUNFMT`
Specifies the name of the executable script files (i.e. run files)
saved into ``${``\ :term:`T`\ ``}``. By default, the
The current default value for BB_PRESSURE_MAX_CPU is 500, which is really low. Provide a value of 15000 which limits the load average without being extremely slow either. Provide similar values for BB_PRESSURE_MAX_IO and BB_PRESSURE_MAX_MEMORY. Mention that these should be adjusted depending on the need. Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> --- .../bitbake-user-manual-ref-variables.rst | 37 +++++++++++++++++++--- 1 file changed, 32 insertions(+), 5 deletions(-)