diff options
author | Michael Opdenacker <michael.opdenacker@bootlin.com> | 2022-10-12 15:21:20 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2022-10-26 12:32:08 +0100 |
commit | f67176aadac0eee3fd8f410c03238acd23b38a36 (patch) | |
tree | 41d69d9a48b4d080c00d876010832951b56f1553 | |
parent | fc6f743c52d5769e665826128687ddbad9d4a5d7 (diff) | |
download | poky-f67176aadac0eee3fd8f410c03238acd23b38a36.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>
-rw-r--r-- | bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst | 60 |
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) |