Figure out how many cores are available for realsies.
authorfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 25 Apr 2014 19:41:56 +0000 (19:41 +0000)
committerfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 25 Apr 2014 19:41:56 +0000 (19:41 +0000)
Rubber stamped by Andreas Kling.

HW_AVAILCPU is more canonical than HW_NCPU. For example if you use hacks to tell Darwin
to make it seem like there are fewer CPUs, HW_AVAILCPU will change but HW_NCPU won't.
HW_NCPU doesn't reflect how much actual paralellism you'll get; it's merely reporting
facts about the machine you're running on. HW_AVAILCPU is almost always what WebKit
wants since it uses this information to decide how many threads to launch for various
things.

* wtf/NumberOfCores.cpp:
(WTF::numberOfProcessorCores):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@167815 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WTF/ChangeLog
Source/WTF/wtf/NumberOfCores.cpp

index 627e893..b1edeb1 100644 (file)
@@ -1,3 +1,19 @@
+2014-04-25  Filip Pizlo  <fpizlo@apple.com>
+
+        Figure out how many cores are available for realsies.
+
+        Rubber stamped by Andreas Kling.
+        
+        HW_AVAILCPU is more canonical than HW_NCPU. For example if you use hacks to tell Darwin
+        to make it seem like there are fewer CPUs, HW_AVAILCPU will change but HW_NCPU won't.
+        HW_NCPU doesn't reflect how much actual paralellism you'll get; it's merely reporting
+        facts about the machine you're running on. HW_AVAILCPU is almost always what WebKit
+        wants since it uses this information to decide how many threads to launch for various
+        things.
+
+        * wtf/NumberOfCores.cpp:
+        (WTF::numberOfProcessorCores):
+
 2014-04-22  Brent Fulgham  <bfulgham@apple.com>
 
         [Win] Support Python 2.7 in Cygwin
index 75d8af7..91d28c8 100644 (file)
@@ -53,7 +53,7 @@ int numberOfProcessorCores()
     size_t length = sizeof(result);
     int name[] = {
             CTL_HW,
-            HW_NCPU
+            HW_AVAILCPU
     };
     int sysctlResult = sysctl(name, sizeof(name) / sizeof(int), &result, &length, 0, 0);