Re: [edk2-devel] [PATCH] Platform/Intel: Dynamic NUMBER_OF_PROCESSORS in build.
Thanks Bob! I was not aware that BaseTools already handled this. I just verified and it works so I will update code review which will only touch build.cfg. Thanks! Chasel > -Original Message- > From: Feng, Bob C > Sent: Thursday, June 13, 2019 3:39 PM > To: devel@edk2.groups.io; Chiu, Chasel > Cc: Kubacki, Michael A ; Desimone, Nathaniel L > ; Gao, Liming > Subject: RE: [edk2-devel] [PATCH] Platform/Intel: Dynamic > NUMBER_OF_PROCESSORS in build. > > Hi Chasel, > > Patch looks good. > > For the process number, build.py does the same thing as this patch. If pass > -n 0 to > build.py, build.py will set the processor number to > multiprocessing.cpu_count() > > Thanks, > Bob > > > -Original Message- > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Chiu, > Chasel > Sent: Thursday, June 13, 2019 2:15 PM > To: devel@edk2.groups.io > Cc: Kubacki, Michael A ; Desimone, Nathaniel L > ; Gao, Liming > Subject: [edk2-devel] [PATCH] Platform/Intel: Dynamic > NUMBER_OF_PROCESSORS in build. > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1913 > > To improve build performance by default the maximum processors should be > used for building. > To support this, NUMBER_OF_PROCESSORS in build.cfg has new definition: > 0 = AUTO. Maximum of processors will be used. > non-zero = limit or force the number of processors. > > Test: tried several NUMBER_OF_PROCESSORS settings and > the build parameter can be updated accordingly > also builds successfully. > > Cc: Michael Kubacki > Cc: Nate DeSimone > Cc: Liming Gao > Signed-off-by: Chasel Chiu > --- > Platform/Intel/build.cfg | 2 +- > Platform/Intel/build_bios.py | 8 +++- > 2 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/Platform/Intel/build.cfg b/Platform/Intel/build.cfg index > 6c23e5eabc..fc6e4fe824 100644 > --- a/Platform/Intel/build.cfg > +++ b/Platform/Intel/build.cfg > @@ -46,7 +46,7 @@ FSP_TEST_RELEASE = FALSE SECURE_BOOT_ENABLE = > FALSE REBUILD_MODE = BUILD_ROM_ONLY = -NUMBER_OF_PROCESSORS = > 1 > +NUMBER_OF_PROCESSORS = 0 > > > [PLATFORMS] > diff --git a/Platform/Intel/build_bios.py b/Platform/Intel/build_bios.py index > 09eceddeff..864511ac4d 100644 > --- a/Platform/Intel/build_bios.py > +++ b/Platform/Intel/build_bios.py > @@ -21,6 +21,7 @@ import shutil > import argparse > import traceback > import subprocess > +import multiprocessing > from importlib import import_module > > try: > @@ -345,7 +346,12 @@ def build(config): > print(" BUILD_ROM_ONLY = ", config.get("BUILD_ROM_ONLY")) > print("==") > > -command = ["build", "-n", config["NUMBER_OF_PROCESSORS"]] > +NumberOfProcessors = config["NUMBER_OF_PROCESSORS"] > +if config["NUMBER_OF_PROCESSORS"] == "0": > +# 0 means AUTO, maximum number of processors will be set > +NumberOfProcessors = str(multiprocessing.cpu_count()) > +print ("Number of processors set to " + NumberOfProcessors) > +command = ["build", "-n", NumberOfProcessors] > > if config["REBUILD_MODE"] and config["REBUILD_MODE"] != "": > command.append(config["REBUILD_MODE"]) > -- > 2.13.3.windows.1 > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#42348): https://edk2.groups.io/g/devel/message/42348 Mute This Topic: https://groups.io/mt/32049549/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [PATCH] Platform/Intel: Dynamic NUMBER_OF_PROCESSORS in build.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1913 To improve build performance by default the maximum processors should be used for building. NUMBER_OF_PROCESSORS in build.cfg is set to 0 so BaseTools can utilize maximum processors for build. Test: tried NUMBER_OF_PROCESSORS 0 and 1 cases and confirmed the build time is half with 0 case. Cc: Michael Kubacki Cc: Nate DeSimone Cc: Liming Gao Signed-off-by: Chasel Chiu --- Platform/Intel/build.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Platform/Intel/build.cfg b/Platform/Intel/build.cfg index 6c23e5eabc..fc6e4fe824 100644 --- a/Platform/Intel/build.cfg +++ b/Platform/Intel/build.cfg @@ -46,7 +46,7 @@ FSP_TEST_RELEASE = FALSE SECURE_BOOT_ENABLE = FALSE REBUILD_MODE = BUILD_ROM_ONLY = -NUMBER_OF_PROCESSORS = 1 +NUMBER_OF_PROCESSORS = 0 [PLATFORMS] -- 2.13.3.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#42346): https://edk2.groups.io/g/devel/message/42346 Mute This Topic: https://groups.io/mt/32049549/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH] Platform/Intel: Dynamic NUMBER_OF_PROCESSORS in build.
Reviewed-by: Nate DeSimone On 6/12/19, 11:17 PM, "Chiu, Chasel" wrote: REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1913 To improve build performance by default the maximum processors should be used for building. To support this, NUMBER_OF_PROCESSORS in build.cfg has new definition: 0 = AUTO. Maximum of processors will be used. non-zero = limit or force the number of processors. Test: tried several NUMBER_OF_PROCESSORS settings and the build parameter can be updated accordingly also builds successfully. Cc: Michael Kubacki Cc: Nate DeSimone Cc: Liming Gao Signed-off-by: Chasel Chiu --- Platform/Intel/build.cfg | 2 +- Platform/Intel/build_bios.py | 8 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Platform/Intel/build.cfg b/Platform/Intel/build.cfg index 6c23e5eabc..fc6e4fe824 100644 --- a/Platform/Intel/build.cfg +++ b/Platform/Intel/build.cfg @@ -46,7 +46,7 @@ FSP_TEST_RELEASE = FALSE SECURE_BOOT_ENABLE = FALSE REBUILD_MODE = BUILD_ROM_ONLY = -NUMBER_OF_PROCESSORS = 1 +NUMBER_OF_PROCESSORS = 0 [PLATFORMS] diff --git a/Platform/Intel/build_bios.py b/Platform/Intel/build_bios.py index 09eceddeff..864511ac4d 100644 --- a/Platform/Intel/build_bios.py +++ b/Platform/Intel/build_bios.py @@ -21,6 +21,7 @@ import shutil import argparse import traceback import subprocess +import multiprocessing from importlib import import_module try: @@ -345,7 +346,12 @@ def build(config): print(" BUILD_ROM_ONLY = ", config.get("BUILD_ROM_ONLY")) print("==") -command = ["build", "-n", config["NUMBER_OF_PROCESSORS"]] +NumberOfProcessors = config["NUMBER_OF_PROCESSORS"] +if config["NUMBER_OF_PROCESSORS"] == "0": +# 0 means AUTO, maximum number of processors will be set +NumberOfProcessors = str(multiprocessing.cpu_count()) +print ("Number of processors set to " + NumberOfProcessors) +command = ["build", "-n", NumberOfProcessors] if config["REBUILD_MODE"] and config["REBUILD_MODE"] != "": command.append(config["REBUILD_MODE"]) -- 2.13.3.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#42345): https://edk2.groups.io/g/devel/message/42345 Mute This Topic: https://groups.io/mt/32049549/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH] Platform/Intel: Dynamic NUMBER_OF_PROCESSORS in build.
Hi Chasel, Patch looks good. For the process number, build.py does the same thing as this patch. If pass -n 0 to build.py, build.py will set the processor number to multiprocessing.cpu_count() Thanks, Bob -Original Message- From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of Chiu, Chasel Sent: Thursday, June 13, 2019 2:15 PM To: devel@edk2.groups.io Cc: Kubacki, Michael A ; Desimone, Nathaniel L ; Gao, Liming Subject: [edk2-devel] [PATCH] Platform/Intel: Dynamic NUMBER_OF_PROCESSORS in build. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1913 To improve build performance by default the maximum processors should be used for building. To support this, NUMBER_OF_PROCESSORS in build.cfg has new definition: 0 = AUTO. Maximum of processors will be used. non-zero = limit or force the number of processors. Test: tried several NUMBER_OF_PROCESSORS settings and the build parameter can be updated accordingly also builds successfully. Cc: Michael Kubacki Cc: Nate DeSimone Cc: Liming Gao Signed-off-by: Chasel Chiu --- Platform/Intel/build.cfg | 2 +- Platform/Intel/build_bios.py | 8 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Platform/Intel/build.cfg b/Platform/Intel/build.cfg index 6c23e5eabc..fc6e4fe824 100644 --- a/Platform/Intel/build.cfg +++ b/Platform/Intel/build.cfg @@ -46,7 +46,7 @@ FSP_TEST_RELEASE = FALSE SECURE_BOOT_ENABLE = FALSE REBUILD_MODE = BUILD_ROM_ONLY = -NUMBER_OF_PROCESSORS = 1 +NUMBER_OF_PROCESSORS = 0 [PLATFORMS] diff --git a/Platform/Intel/build_bios.py b/Platform/Intel/build_bios.py index 09eceddeff..864511ac4d 100644 --- a/Platform/Intel/build_bios.py +++ b/Platform/Intel/build_bios.py @@ -21,6 +21,7 @@ import shutil import argparse import traceback import subprocess +import multiprocessing from importlib import import_module try: @@ -345,7 +346,12 @@ def build(config): print(" BUILD_ROM_ONLY = ", config.get("BUILD_ROM_ONLY")) print("==") -command = ["build", "-n", config["NUMBER_OF_PROCESSORS"]] +NumberOfProcessors = config["NUMBER_OF_PROCESSORS"] +if config["NUMBER_OF_PROCESSORS"] == "0": +# 0 means AUTO, maximum number of processors will be set +NumberOfProcessors = str(multiprocessing.cpu_count()) +print ("Number of processors set to " + NumberOfProcessors) +command = ["build", "-n", NumberOfProcessors] if config["REBUILD_MODE"] and config["REBUILD_MODE"] != "": command.append(config["REBUILD_MODE"]) -- 2.13.3.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#42332): https://edk2.groups.io/g/devel/message/42332 Mute This Topic: https://groups.io/mt/32049549/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[edk2-devel] [PATCH] Platform/Intel: Dynamic NUMBER_OF_PROCESSORS in build.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1913 To improve build performance by default the maximum processors should be used for building. To support this, NUMBER_OF_PROCESSORS in build.cfg has new definition: 0 = AUTO. Maximum of processors will be used. non-zero = limit or force the number of processors. Test: tried several NUMBER_OF_PROCESSORS settings and the build parameter can be updated accordingly also builds successfully. Cc: Michael Kubacki Cc: Nate DeSimone Cc: Liming Gao Signed-off-by: Chasel Chiu --- Platform/Intel/build.cfg | 2 +- Platform/Intel/build_bios.py | 8 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Platform/Intel/build.cfg b/Platform/Intel/build.cfg index 6c23e5eabc..fc6e4fe824 100644 --- a/Platform/Intel/build.cfg +++ b/Platform/Intel/build.cfg @@ -46,7 +46,7 @@ FSP_TEST_RELEASE = FALSE SECURE_BOOT_ENABLE = FALSE REBUILD_MODE = BUILD_ROM_ONLY = -NUMBER_OF_PROCESSORS = 1 +NUMBER_OF_PROCESSORS = 0 [PLATFORMS] diff --git a/Platform/Intel/build_bios.py b/Platform/Intel/build_bios.py index 09eceddeff..864511ac4d 100644 --- a/Platform/Intel/build_bios.py +++ b/Platform/Intel/build_bios.py @@ -21,6 +21,7 @@ import shutil import argparse import traceback import subprocess +import multiprocessing from importlib import import_module try: @@ -345,7 +346,12 @@ def build(config): print(" BUILD_ROM_ONLY = ", config.get("BUILD_ROM_ONLY")) print("==") -command = ["build", "-n", config["NUMBER_OF_PROCESSORS"]] +NumberOfProcessors = config["NUMBER_OF_PROCESSORS"] +if config["NUMBER_OF_PROCESSORS"] == "0": +# 0 means AUTO, maximum number of processors will be set +NumberOfProcessors = str(multiprocessing.cpu_count()) +print ("Number of processors set to " + NumberOfProcessors) +command = ["build", "-n", NumberOfProcessors] if config["REBUILD_MODE"] and config["REBUILD_MODE"] != "": command.append(config["REBUILD_MODE"]) -- 2.13.3.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#42326): https://edk2.groups.io/g/devel/message/42326 Mute This Topic: https://groups.io/mt/32049549/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-