| Message ID | 20260924-min-cpu-requirements-v1-2-003fc136e9c4@bootlin.com |
|---|---|
| State | New |
| Headers | show |
| Series | Add a recommended minimum number of CPU cores for the host | expand |
Hi Antonin, On 9/24/26 1:48 PM, Antonin Godard via lists.yoctoproject.org wrote: > Add the MIN_CPU_CORES macro to poky.yaml.in and use it in places where > we list minimum host requirements. > Are those supposed to be real cores or do we also count "virtual" cores from e.g. HyperThreading on Intel? Can you link at where this minimum number of cores comes from? (ML discussion, commit, etc.). > Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> > --- > documentation/brief-yoctoprojectqs/index.rst | 6 +++--- > documentation/dev-manual/start.rst | 3 ++- > documentation/poky.yaml.in | 2 ++ > documentation/ref-manual/system-requirements.rst | 8 ++++---- > 4 files changed, 11 insertions(+), 8 deletions(-) > > diff --git a/documentation/brief-yoctoprojectqs/index.rst b/documentation/brief-yoctoprojectqs/index.rst > index f7e4606f1..dcdf7803a 100644 > --- a/documentation/brief-yoctoprojectqs/index.rst > +++ b/documentation/brief-yoctoprojectqs/index.rst > @@ -43,9 +43,9 @@ following requirements: > much more will help to run multiple builds and increase > performance by reusing build artifacts. > > -- At least &MIN_RAM; Gbytes of RAM, though a modern build host with as > - much RAM and as many CPU cores as possible is strongly recommended to > - maximize build performance. > +- At least &MIN_RAM; Gbytes of RAM and &MIN_CPU_CORES; CPU cores, though a > + modern build host with as much RAM and as many CPU cores as possible is > + strongly recommended to maximize build performance. > > - Runs a supported Linux distribution (i.e. recent releases of Fedora, > openSUSE, CentOS, Debian, or Ubuntu). For a list of Linux > diff --git a/documentation/dev-manual/start.rst b/documentation/dev-manual/start.rst > index 5f0bb37b7..8fa32d473 100644 > --- a/documentation/dev-manual/start.rst > +++ b/documentation/dev-manual/start.rst > @@ -56,7 +56,8 @@ particular working environment and set of practices. > get the hardware together. Ideally, any development, build, or test > engineer uses a system that runs a supported Linux distribution. > These systems, in general, should be high performance (e.g. a minimum > - of &MIN_RAM; Gbytes of RAM and at least &MIN_DISK_SPACE; Gbytes of disk space). > + of &MIN_RAM; Gbytes of RAM, at least &MIN_DISK_SPACE; Gbytes of disk space > + and a minimum of &MIN_CPU_CORES; CPU cores). > You can help ensure efficiency by having any machines used for testing > or that run Autobuilders be as high performance as possible. > Reiterating what I said in v1 from Robert in case it was missed (not a blocker, just a suggestion), I think we could simply link here to documentation/brief-yoctoprojectqs/index.rst instead of duplicating instructions (and forgetting to sync them in the future). Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Thanks! Quentin
> -----Original Message----- > From: docs@lists.yoctoproject.org <docs@lists.yoctoproject.org> On Behalf Of > Antonin Godard via lists.yoctoproject.org > Sent: Thursday, September 24, 2026 1:49 PM > To: docs@lists.yoctoproject.org > Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> > Subject: [docs] [PATCH 2/2] docs-wide: recommend a minimum of 16 CPU cores > > Add the MIN_CPU_CORES macro to poky.yaml.in and use it in places where > we list minimum host requirements. > > Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> > --- > documentation/brief-yoctoprojectqs/index.rst | 6 +++--- > documentation/dev-manual/start.rst | 3 ++- > documentation/poky.yaml.in | 2 ++ > documentation/ref-manual/system-requirements.rst | 8 ++++---- > 4 files changed, 11 insertions(+), 8 deletions(-) > > diff --git a/documentation/brief-yoctoprojectqs/index.rst b/documentation/brief- > yoctoprojectqs/index.rst > index f7e4606f1..dcdf7803a 100644 > --- a/documentation/brief-yoctoprojectqs/index.rst > +++ b/documentation/brief-yoctoprojectqs/index.rst > @@ -43,9 +43,9 @@ following requirements: > much more will help to run multiple builds and increase > performance by reusing build artifacts. > > -- At least &MIN_RAM; Gbytes of RAM, though a modern build host with as > - much RAM and as many CPU cores as possible is strongly recommended to > - maximize build performance. > +- At least &MIN_RAM; Gbytes of RAM and &MIN_CPU_CORES; CPU cores, > though a > + modern build host with as much RAM and as many CPU cores as possible is > + strongly recommended to maximize build performance. > > - Runs a supported Linux distribution (i.e. recent releases of Fedora, > openSUSE, CentOS, Debian, or Ubuntu). For a list of Linux > diff --git a/documentation/dev-manual/start.rst b/documentation/dev- > manual/start.rst > index 5f0bb37b7..8fa32d473 100644 > --- a/documentation/dev-manual/start.rst > +++ b/documentation/dev-manual/start.rst > @@ -56,7 +56,8 @@ particular working environment and set of practices. > get the hardware together. Ideally, any development, build, or test > engineer uses a system that runs a supported Linux distribution. > These systems, in general, should be high performance (e.g. a minimum > - of &MIN_RAM; Gbytes of RAM and at least &MIN_DISK_SPACE; Gbytes of > disk space). > + of &MIN_RAM; Gbytes of RAM, at least &MIN_DISK_SPACE; Gbytes of disk > space > + and a minimum of &MIN_CPU_CORES; CPU cores). > You can help ensure efficiency by having any machines used for testing > or that run Autobuilders be as high performance as possible. > > diff --git a/documentation/poky.yaml.in b/documentation/poky.yaml.in > index 3e74dd7e7..b7dac4ff3 100644 > --- a/documentation/poky.yaml.in > +++ b/documentation/poky.yaml.in > @@ -46,3 +46,5 @@ MIN_DISK_SPACE : "140" > MIN_DISK_SPACE_RM_WORK : "40" > # RAM (Gbytes) needed to generate qemux86-64 core-image-sato on Ubuntu > 22.04 (x86-64) on a 4 core system This "4 core system" should be updated too since minimum is 16 now. Will 32 GB be sufficient on 16 cores? I think it will be problematic. > MIN_RAM : "32" > +# Recommended minimum number of CPU cores > +MIN_CPU_CORES : "16" > diff --git a/documentation/ref-manual/system-requirements.rst > b/documentation/ref-manual/system-requirements.rst > index d602fa2ca..a0b902aec 100644 > --- a/documentation/ref-manual/system-requirements.rst > +++ b/documentation/ref-manual/system-requirements.rst > @@ -42,12 +42,12 @@ section of the Development Tasks Manual. > > .. _system-requirements-minimum-ram: > > -Minimum System RAM > -================== > +Minimum System RAM and CPU Cores > +================================ > > You will manage to build an image such as ``core-image-sato`` for the > -``qemux86-64`` machine with as little as &MIN_RAM; Gbytes of RAM on an old > -system with 4 CPU cores, but your builds will be much faster on a system with > +``qemux86-64`` machine with as little as &MIN_RAM; Gbytes of RAM and > +&MIN_CPU_CORES; CPU cores, but your builds will be much faster on a > system with > as much RAM and as many CPU cores as possible. > > .. _system-requirements-supported-distros: > > -- > 2.55.0
Hi, On Thu Sep 24, 2026 at 2:10 PM CEST, Quentin Schulz via lists.yoctoproject.org wrote: > Hi Antonin, > > On 9/24/26 1:48 PM, Antonin Godard via lists.yoctoproject.org wrote: >> Add the MIN_CPU_CORES macro to poky.yaml.in and use it in places where >> we list minimum host requirements. >> > > Are those supposed to be real cores or do we also count "virtual" cores > from e.g. HyperThreading on Intel? Real cores only, I would say. I'm not sure we need to be that precise here, it's just a recommendation, and it might not even be enough for some recipes like chromium (first that came to mind). > Can you link at where this minimum number of cores comes from? (ML > discussion, commit, etc.). From a discussion with Richard: https://lore.kernel.org/r/5f70fb6ea6d2c9a4a24f476f463ab1adf02aa7e5.camel@linuxfoundation.org >> Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> >> --- >> documentation/brief-yoctoprojectqs/index.rst | 6 +++--- >> documentation/dev-manual/start.rst | 3 ++- >> documentation/poky.yaml.in | 2 ++ >> documentation/ref-manual/system-requirements.rst | 8 ++++---- >> 4 files changed, 11 insertions(+), 8 deletions(-) >> >> diff --git a/documentation/brief-yoctoprojectqs/index.rst b/documentation/brief-yoctoprojectqs/index.rst >> index f7e4606f1..dcdf7803a 100644 >> --- a/documentation/brief-yoctoprojectqs/index.rst >> +++ b/documentation/brief-yoctoprojectqs/index.rst >> @@ -43,9 +43,9 @@ following requirements: >> much more will help to run multiple builds and increase >> performance by reusing build artifacts. >> >> -- At least &MIN_RAM; Gbytes of RAM, though a modern build host with as >> - much RAM and as many CPU cores as possible is strongly recommended to >> - maximize build performance. >> +- At least &MIN_RAM; Gbytes of RAM and &MIN_CPU_CORES; CPU cores, though a >> + modern build host with as much RAM and as many CPU cores as possible is >> + strongly recommended to maximize build performance. >> >> - Runs a supported Linux distribution (i.e. recent releases of Fedora, >> openSUSE, CentOS, Debian, or Ubuntu). For a list of Linux >> diff --git a/documentation/dev-manual/start.rst b/documentation/dev-manual/start.rst >> index 5f0bb37b7..8fa32d473 100644 >> --- a/documentation/dev-manual/start.rst >> +++ b/documentation/dev-manual/start.rst >> @@ -56,7 +56,8 @@ particular working environment and set of practices. >> get the hardware together. Ideally, any development, build, or test >> engineer uses a system that runs a supported Linux distribution. >> These systems, in general, should be high performance (e.g. a minimum >> - of &MIN_RAM; Gbytes of RAM and at least &MIN_DISK_SPACE; Gbytes of disk space). >> + of &MIN_RAM; Gbytes of RAM, at least &MIN_DISK_SPACE; Gbytes of disk space >> + and a minimum of &MIN_CPU_CORES; CPU cores). >> You can help ensure efficiency by having any machines used for testing >> or that run Autobuilders be as high performance as possible. >> > > Reiterating what I said in v1 from Robert in case it was missed (not a > blocker, just a suggestion), I think we could simply link here to > documentation/brief-yoctoprojectqs/index.rst instead of duplicating > instructions (and forgetting to sync them in the future). I mean the purpose of the macro is to avoid these type of sync issues, and the phrasing here is different. I'm not sure it's an issue leaving this as-is here as it will get updated from the macro. > Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Thanks, Antonin
diff --git a/documentation/brief-yoctoprojectqs/index.rst b/documentation/brief-yoctoprojectqs/index.rst index f7e4606f1..dcdf7803a 100644 --- a/documentation/brief-yoctoprojectqs/index.rst +++ b/documentation/brief-yoctoprojectqs/index.rst @@ -43,9 +43,9 @@ following requirements: much more will help to run multiple builds and increase performance by reusing build artifacts. -- At least &MIN_RAM; Gbytes of RAM, though a modern build host with as - much RAM and as many CPU cores as possible is strongly recommended to - maximize build performance. +- At least &MIN_RAM; Gbytes of RAM and &MIN_CPU_CORES; CPU cores, though a + modern build host with as much RAM and as many CPU cores as possible is + strongly recommended to maximize build performance. - Runs a supported Linux distribution (i.e. recent releases of Fedora, openSUSE, CentOS, Debian, or Ubuntu). For a list of Linux diff --git a/documentation/dev-manual/start.rst b/documentation/dev-manual/start.rst index 5f0bb37b7..8fa32d473 100644 --- a/documentation/dev-manual/start.rst +++ b/documentation/dev-manual/start.rst @@ -56,7 +56,8 @@ particular working environment and set of practices. get the hardware together. Ideally, any development, build, or test engineer uses a system that runs a supported Linux distribution. These systems, in general, should be high performance (e.g. a minimum - of &MIN_RAM; Gbytes of RAM and at least &MIN_DISK_SPACE; Gbytes of disk space). + of &MIN_RAM; Gbytes of RAM, at least &MIN_DISK_SPACE; Gbytes of disk space + and a minimum of &MIN_CPU_CORES; CPU cores). You can help ensure efficiency by having any machines used for testing or that run Autobuilders be as high performance as possible. diff --git a/documentation/poky.yaml.in b/documentation/poky.yaml.in index 3e74dd7e7..b7dac4ff3 100644 --- a/documentation/poky.yaml.in +++ b/documentation/poky.yaml.in @@ -46,3 +46,5 @@ MIN_DISK_SPACE : "140" MIN_DISK_SPACE_RM_WORK : "40" # RAM (Gbytes) needed to generate qemux86-64 core-image-sato on Ubuntu 22.04 (x86-64) on a 4 core system MIN_RAM : "32" +# Recommended minimum number of CPU cores +MIN_CPU_CORES : "16" diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst index d602fa2ca..a0b902aec 100644 --- a/documentation/ref-manual/system-requirements.rst +++ b/documentation/ref-manual/system-requirements.rst @@ -42,12 +42,12 @@ section of the Development Tasks Manual. .. _system-requirements-minimum-ram: -Minimum System RAM -================== +Minimum System RAM and CPU Cores +================================ You will manage to build an image such as ``core-image-sato`` for the -``qemux86-64`` machine with as little as &MIN_RAM; Gbytes of RAM on an old -system with 4 CPU cores, but your builds will be much faster on a system with +``qemux86-64`` machine with as little as &MIN_RAM; Gbytes of RAM and +&MIN_CPU_CORES; CPU cores, but your builds will be much faster on a system with as much RAM and as many CPU cores as possible. .. _system-requirements-supported-distros:
Add the MIN_CPU_CORES macro to poky.yaml.in and use it in places where we list minimum host requirements. Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> --- documentation/brief-yoctoprojectqs/index.rst | 6 +++--- documentation/dev-manual/start.rst | 3 ++- documentation/poky.yaml.in | 2 ++ documentation/ref-manual/system-requirements.rst | 8 ++++---- 4 files changed, 11 insertions(+), 8 deletions(-)