summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorMichael Opdenacker <michael.opdenacker@bootlin.com>2022-10-12 15:21:20 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-10-26 23:02:10 +0100
commitc58059d282fe760923cde950663eb3239c113a19 (patch)
tree47229f0024f4818b90679c078619905eaf633dc6 /bitbake
parentec08faf2e4595f6ed3cc5a222075f12f5314a410 (diff)
downloadpoky-c58059d282fe760923cde950663eb3239c113a19.tar.gz
bitbake: doc: bitbake-user-manual: expand description of BB_PRESSURE_MAX variables
(Bitbake rev: 72e9847dd578c3cbed52a9c16fea23ebbeef5046) Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com> Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst60
1 files changed, 43 insertions, 17 deletions
diff --git a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
index 725e6c2cd5..3522d2b77b 100644
--- a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
+++ b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst
@@ -484,29 +484,55 @@ overview of their function and contents.
484 for it to work. 484 for it to work.
485 485
486 :term:`BB_PRESSURE_MAX_CPU` 486 :term:`BB_PRESSURE_MAX_CPU`
487 The threshold for maximum CPU pressure before BitBake prevents the 487 Specifies a maximum CPU pressure threshold, above which BitBake's
488 scheduling of new tasks. Once the :term:`BB_PRESSURE_MAX_CPU` threshold 488 scheduler will not start new tasks (providing there is at least
489 is exceeded, new tasks are not started until the pressure subsides to 489 one active task). If no value is set, CPU pressure is not
490 below the threshold. If :term:`BB_PRESSURE_MAX_CPU` is not set, CPU 490 monitored when starting tasks.
491 pressure is not monitored. A threshold can be set in ``conf/local.conf`` 491
492 as:: 492 The pressure data is calculated based upon what Linux kernels since
493 version 4.20 expose under ``/proc/pressure``. The threshold represents
494 the difference in "total" pressure from the previous second. The
495 minimum value is 1.0 (extremely slow builds) and the maximum is
496 1000000 (a pressure value unlikely to ever be reached).
497
498 This threshold can be set in ``conf/local.conf`` as::
493 499
494 BB_PRESSURE_MAX_CPU = "500" 500 BB_PRESSURE_MAX_CPU = "500"
495 501
496 :term:`BB_PRESSURE_MAX_IO` 502 :term:`BB_PRESSURE_MAX_IO`
497 The threshold for maximum IO pressure experienced before BitBake 503 Specifies a maximum I/O pressure threshold, above which BitBake's
498 prevents the scheduling of new tasks. The IO pressure is regulated in the 504 scheduler will not start new tasks (providing there is at least
499 same way as :term:`BB_PRESSURE_MAX_CPU`. At this point in time, 505 one active task). If no value is set, I/O pressure is not
500 experiments show that IO pressure tends to be short-lived and regulating 506 monitored when starting tasks.
501 just the CPU can help to reduce it. 507
508 The pressure data is calculated based upon what Linux kernels since
509 version 4.20 expose under ``/proc/pressure``. The threshold represents
510 the difference in "total" pressure from the previous second. The
511 minimum value is 1.0 (extremely slow builds) and the maximum is
512 1000000 (a pressure value unlikely to ever be reached).
513
514 At this point in time, experiments show that IO pressure tends to
515 be short-lived and regulating just the CPU with
516 :term:`BB_PRESSURE_MAX_CPU` can help to reduce it.
502 517
503 :term:`BB_PRESSURE_MAX_MEMORY` 518 :term:`BB_PRESSURE_MAX_MEMORY`
504 The threshold for maximum memory pressure experienced before BitBake 519
505 prevents the scheduling of new tasks. The memory pressure is regulated in 520 Specifies a maximum memory pressure threshold, above which BitBake's
506 the same way as :term:`BB_PRESSURE_MAX_CPU`. Note that any memory 521 scheduler will not start new tasks (providing there is at least
507 pressure indicates that a system is being pushed beyond its capacity. At 522 one active task). If no value is set, memory pressure is not
508 this point in time, experiments show that memory pressure tends to be 523 monitored when starting tasks.
509 short-lived and regulating just the CPU can help to reduce it. 524
525 The pressure data is calculated based upon what Linux kernels since
526 version 4.20 expose under ``/proc/pressure``. The threshold represents
527 the difference in "total" pressure from the previous second. The
528 minimum value is 1.0 (extremely slow builds) and the maximum is
529 1000000 (a pressure value unlikely to ever be reached).
530
531 Memory pressure is experienced when time is spent swapping,
532 refaulting pages from the page cache or performing direct reclaim.
533 This is why memory pressure is rarely seen, but setting this variable
534 might be useful as a last resort to prevent OOM errors if they are
535 occurring during builds.
510 536
511 :term:`BB_RUNFMT` 537 :term:`BB_RUNFMT`
512 Specifies the name of the executable script files (i.e. run files) 538 Specifies the name of the executable script files (i.e. run files)