]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTools: Enable MAX_CONCURRENT_THREAD_NUMBER = 0 feature
authorYunhua Feng <yunhuax.feng@intel.com>
Thu, 11 Jan 2018 09:11:20 +0000 (17:11 +0800)
committerYonghong Zhu <yonghong.zhu@intel.com>
Mon, 15 Jan 2018 11:51:21 +0000 (19:51 +0800)
when set 'MAX_CONCURRENT_THREAD_NUMBER=0',  will auto-detect number of
processor threads as MAX_CONCURRENT_THREAD_NUMBER.

Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=775
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
BaseTools/Source/Python/build/build.py

index 38498046d7a29309e7e3085676aec917c7372ea1..de19756d99cba8bda49d33882c60a8081bbb6d0c 100644 (file)
@@ -2,7 +2,7 @@
 # build a platform or a module\r
 #\r
 #  Copyright (c) 2014, Hewlett-Packard Development Company, L.P.<BR>\r
-#  Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>\r
+#  Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #\r
 #  This program and the accompanying materials\r
 #  are licensed and made available under the terms and conditions of the BSD License\r
@@ -26,6 +26,7 @@ import platform
 import traceback\r
 import encodings.ascii\r
 import itertools\r
+import multiprocessing\r
 \r
 from struct import *\r
 from threading import *\r
@@ -936,7 +937,10 @@ class Build():
                 self.ThreadNumber = int(self.ThreadNumber, 0)\r
 \r
         if self.ThreadNumber == 0:\r
-            self.ThreadNumber = 1\r
+            try:\r
+                self.ThreadNumber = multiprocessing.cpu_count()\r
+            except (ImportError, NotImplementedError):\r
+                self.ThreadNumber = 1\r
 \r
         if not self.PlatformFile:\r
             PlatformFile = self.TargetTxt.TargetTxtDictionary[DataType.TAB_TAT_DEFINES_ACTIVE_PLATFORM]\r