diff options
| -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) |
