diff options
Diffstat (limited to 'bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst')
-rw-r--r-- | bitbake/doc/bitbake-user-manual/bitbake-user-manual-ref-variables.rst | 75 |
1 files changed, 69 insertions, 6 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 477443e228..6be8dbbf63 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 | |||
@@ -310,6 +310,11 @@ overview of their function and contents. | |||
310 | 310 | ||
311 | For example usage, see :term:`BB_GIT_SHALLOW`. | 311 | For example usage, see :term:`BB_GIT_SHALLOW`. |
312 | 312 | ||
313 | :term:`BB_GIT_DEFAULT_DESTSUFFIX` | ||
314 | The default destination directory where the Git fetcher unpacks the | ||
315 | source code. If this variable is not set, the source code is unpacked in a | ||
316 | directory named "git". | ||
317 | |||
313 | :term:`BB_GIT_SHALLOW` | 318 | :term:`BB_GIT_SHALLOW` |
314 | Setting this variable to "1" enables the support for fetching, using and | 319 | Setting this variable to "1" enables the support for fetching, using and |
315 | generating mirror tarballs of `shallow git repositories <https://riptutorial.com/git/example/4584/shallow-clone>`_. | 320 | generating mirror tarballs of `shallow git repositories <https://riptutorial.com/git/example/4584/shallow-clone>`_. |
@@ -533,11 +538,28 @@ overview of their function and contents. | |||
533 | version 4.20 expose under ``/proc/pressure``. The threshold represents | 538 | version 4.20 expose under ``/proc/pressure``. The threshold represents |
534 | the difference in "total" pressure from the previous second. The | 539 | the difference in "total" pressure from the previous second. The |
535 | minimum value is 1.0 (extremely slow builds) and the maximum is | 540 | minimum value is 1.0 (extremely slow builds) and the maximum is |
536 | 1000000 (a pressure value unlikely to ever be reached). | 541 | 1000000 (a pressure value unlikely to ever be reached). See |
542 | https://docs.kernel.org/accounting/psi.html for more information. | ||
543 | |||
544 | A default value to limit the CPU pressure to be set in ``conf/local.conf`` | ||
545 | could be:: | ||
546 | |||
547 | BB_PRESSURE_MAX_CPU = "15000" | ||
548 | |||
549 | Multiple values should be tested on the build host to determine what suits | ||
550 | best, depending on the need for performances versus load average during | ||
551 | the build. | ||
552 | |||
553 | .. note:: | ||
537 | 554 | ||
538 | This threshold can be set in ``conf/local.conf`` as:: | 555 | You may see numerous messages printed by BitBake in the case the |
556 | :term:`BB_PRESSURE_MAX_CPU` is too low: | ||
539 | 557 | ||
540 | BB_PRESSURE_MAX_CPU = "500" | 558 | Pressure status changed to CPU: True, IO: False, Mem: False (CPU: 1105.9/2.0, IO: 0.0/2.0, Mem: 0.0/2.0) - using 1/64 bitbake threads |
559 | |||
560 | This means that the :term:`BB_PRESSURE_MAX_CPU` should be increased to | ||
561 | a reasonable value for limiting the CPU pressure on the system. | ||
562 | Monitor the varying value after ``IO:`` above to set a sensible value. | ||
541 | 563 | ||
542 | :term:`BB_PRESSURE_MAX_IO` | 564 | :term:`BB_PRESSURE_MAX_IO` |
543 | Specifies a maximum I/O pressure threshold, above which BitBake's | 565 | Specifies a maximum I/O pressure threshold, above which BitBake's |
@@ -549,14 +571,34 @@ overview of their function and contents. | |||
549 | version 4.20 expose under ``/proc/pressure``. The threshold represents | 571 | version 4.20 expose under ``/proc/pressure``. The threshold represents |
550 | the difference in "total" pressure from the previous second. The | 572 | the difference in "total" pressure from the previous second. The |
551 | minimum value is 1.0 (extremely slow builds) and the maximum is | 573 | minimum value is 1.0 (extremely slow builds) and the maximum is |
552 | 1000000 (a pressure value unlikely to ever be reached). | 574 | 1000000 (a pressure value unlikely to ever be reached). See |
575 | https://docs.kernel.org/accounting/psi.html for more information. | ||
553 | 576 | ||
554 | At this point in time, experiments show that IO pressure tends to | 577 | At this point in time, experiments show that IO pressure tends to |
555 | be short-lived and regulating just the CPU with | 578 | be short-lived and regulating just the CPU with |
556 | :term:`BB_PRESSURE_MAX_CPU` can help to reduce it. | 579 | :term:`BB_PRESSURE_MAX_CPU` can help to reduce it. |
557 | 580 | ||
558 | :term:`BB_PRESSURE_MAX_MEMORY` | 581 | A default value to limit the IO pressure to be set in ``conf/local.conf`` |
582 | could be:: | ||
583 | |||
584 | BB_PRESSURE_MAX_IO = "15000" | ||
585 | |||
586 | Multiple values should be tested on the build host to determine what suits | ||
587 | best, depending on the need for performances versus I/O usage during the | ||
588 | build. | ||
589 | |||
590 | .. note:: | ||
559 | 591 | ||
592 | You may see numerous messages printed by BitBake in the case the | ||
593 | :term:`BB_PRESSURE_MAX_IO` is too low:: | ||
594 | |||
595 | Pressure status changed to CPU: None, IO: True, Mem: False (CPU: 2236.0/None, IO: 153.6/2.0, Mem: 0.0/2.0) - using 19/64 bitbake threads | ||
596 | |||
597 | This means that the :term:`BB_PRESSURE_MAX_IO` should be increased to | ||
598 | a reasonable value for limiting the I/O pressure on the system. | ||
599 | Monitor the varying value after ``IO:`` above to set a sensible value. | ||
600 | |||
601 | :term:`BB_PRESSURE_MAX_MEMORY` | ||
560 | Specifies a maximum memory pressure threshold, above which BitBake's | 602 | Specifies a maximum memory pressure threshold, above which BitBake's |
561 | scheduler will not start new tasks (providing there is at least | 603 | scheduler will not start new tasks (providing there is at least |
562 | one active task). If no value is set, memory pressure is not | 604 | one active task). If no value is set, memory pressure is not |
@@ -566,7 +608,8 @@ overview of their function and contents. | |||
566 | version 4.20 expose under ``/proc/pressure``. The threshold represents | 608 | version 4.20 expose under ``/proc/pressure``. The threshold represents |
567 | the difference in "total" pressure from the previous second. The | 609 | the difference in "total" pressure from the previous second. The |
568 | minimum value is 1.0 (extremely slow builds) and the maximum is | 610 | minimum value is 1.0 (extremely slow builds) and the maximum is |
569 | 1000000 (a pressure value unlikely to ever be reached). | 611 | 1000000 (a pressure value unlikely to ever be reached). See |
612 | https://docs.kernel.org/accounting/psi.html for more information. | ||
570 | 613 | ||
571 | Memory pressure is experienced when time is spent swapping, | 614 | Memory pressure is experienced when time is spent swapping, |
572 | refaulting pages from the page cache or performing direct reclaim. | 615 | refaulting pages from the page cache or performing direct reclaim. |
@@ -574,6 +617,26 @@ overview of their function and contents. | |||
574 | might be useful as a last resort to prevent OOM errors if they are | 617 | might be useful as a last resort to prevent OOM errors if they are |
575 | occurring during builds. | 618 | occurring during builds. |
576 | 619 | ||
620 | A default value to limit the memory pressure to be set in | ||
621 | ``conf/local.conf`` could be:: | ||
622 | |||
623 | BB_PRESSURE_MAX_MEMORY = "15000" | ||
624 | |||
625 | Multiple values should be tested on the build host to determine what suits | ||
626 | best, depending on the need for performances versus memory consumption | ||
627 | during the build. | ||
628 | |||
629 | .. note:: | ||
630 | |||
631 | You may see numerous messages printed by BitBake in the case the | ||
632 | :term:`BB_PRESSURE_MAX_MEMORY` is too low:: | ||
633 | |||
634 | Pressure status changed to CPU: None, IO: False, Mem: True (CPU: 29.5/None, IO: 0.0/2.0, Mem: 2553.3/2.0) - using 17/64 bitbake threads | ||
635 | |||
636 | This means that the :term:`BB_PRESSURE_MAX_MEMORY` should be increased to | ||
637 | a reasonable value for limiting the memory pressure on the system. | ||
638 | Monitor the varying value after ``Mem:`` above to set a sensible value. | ||
639 | |||
577 | :term:`BB_RUNFMT` | 640 | :term:`BB_RUNFMT` |
578 | Specifies the name of the executable script files (i.e. run files) | 641 | Specifies the name of the executable script files (i.e. run files) |
579 | saved into ``${``\ :term:`T`\ ``}``. By default, the | 642 | saved into ``${``\ :term:`T`\ ``}``. By default, the |