Revert "Host: Internalize computeHostNumPhysicalCores/computeHostNumHardwareThreads"
This reverts commit 9969ceb36b
.
On Windows:
lld-link: error: undefined symbol: int __cdecl computeHostNumPhysicalCores(void)
>>> referenced by LLVMSupport.lib(Support.Host.obj):(int __cdecl llvm::sys::getHostNumPhysicalCores(void))
This commit is contained in:
parent
65abca4611
commit
93b553e3f2
|
@ -1580,7 +1580,7 @@ VendorSignatures getVendorSignature(unsigned *MaxLeaf) {
|
||||||
// On Linux, the number of physical cores can be computed from /proc/cpuinfo,
|
// On Linux, the number of physical cores can be computed from /proc/cpuinfo,
|
||||||
// using the number of unique physical/core id pairs. The following
|
// using the number of unique physical/core id pairs. The following
|
||||||
// implementation reads the /proc/cpuinfo format on an x86_64 system.
|
// implementation reads the /proc/cpuinfo format on an x86_64 system.
|
||||||
static int computeHostNumPhysicalCores() {
|
int computeHostNumPhysicalCores() {
|
||||||
// Enabled represents the number of physical id/core id pairs with at least
|
// Enabled represents the number of physical id/core id pairs with at least
|
||||||
// one processor id enabled by the CPU affinity mask.
|
// one processor id enabled by the CPU affinity mask.
|
||||||
cpu_set_t Affinity, Enabled;
|
cpu_set_t Affinity, Enabled;
|
||||||
|
@ -1625,11 +1625,9 @@ static int computeHostNumPhysicalCores() {
|
||||||
return CPU_COUNT(&Enabled);
|
return CPU_COUNT(&Enabled);
|
||||||
}
|
}
|
||||||
#elif defined(__linux__) && defined(__s390x__)
|
#elif defined(__linux__) && defined(__s390x__)
|
||||||
static int computeHostNumPhysicalCores() {
|
int computeHostNumPhysicalCores() { return sysconf(_SC_NPROCESSORS_ONLN); }
|
||||||
return sysconf(_SC_NPROCESSORS_ONLN);
|
|
||||||
}
|
|
||||||
#elif defined(__linux__) && !defined(__ANDROID__)
|
#elif defined(__linux__) && !defined(__ANDROID__)
|
||||||
static int computeHostNumPhysicalCores() {
|
int computeHostNumPhysicalCores() {
|
||||||
cpu_set_t Affinity;
|
cpu_set_t Affinity;
|
||||||
if (sched_getaffinity(0, sizeof(Affinity), &Affinity) == 0)
|
if (sched_getaffinity(0, sizeof(Affinity), &Affinity) == 0)
|
||||||
return CPU_COUNT(&Affinity);
|
return CPU_COUNT(&Affinity);
|
||||||
|
@ -1649,7 +1647,7 @@ static int computeHostNumPhysicalCores() {
|
||||||
}
|
}
|
||||||
#elif defined(__APPLE__)
|
#elif defined(__APPLE__)
|
||||||
// Gets the number of *physical cores* on the machine.
|
// Gets the number of *physical cores* on the machine.
|
||||||
static int computeHostNumPhysicalCores() {
|
int computeHostNumPhysicalCores() {
|
||||||
uint32_t count;
|
uint32_t count;
|
||||||
size_t len = sizeof(count);
|
size_t len = sizeof(count);
|
||||||
sysctlbyname("hw.physicalcpu", &count, &len, NULL, 0);
|
sysctlbyname("hw.physicalcpu", &count, &len, NULL, 0);
|
||||||
|
@ -1664,7 +1662,7 @@ static int computeHostNumPhysicalCores() {
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
#elif defined(__MVS__)
|
#elif defined(__MVS__)
|
||||||
static int computeHostNumPhysicalCores() {
|
int computeHostNumPhysicalCores() {
|
||||||
enum {
|
enum {
|
||||||
// Byte offset of the pointer to the Communications Vector Table (CVT) in
|
// Byte offset of the pointer to the Communications Vector Table (CVT) in
|
||||||
// the Prefixed Save Area (PSA). The table entry is a 31-bit pointer and
|
// the Prefixed Save Area (PSA). The table entry is a 31-bit pointer and
|
||||||
|
@ -1687,7 +1685,7 @@ static int computeHostNumPhysicalCores() {
|
||||||
}
|
}
|
||||||
#elif defined(_WIN32) && LLVM_ENABLE_THREADS != 0
|
#elif defined(_WIN32) && LLVM_ENABLE_THREADS != 0
|
||||||
// Defined in llvm/lib/Support/Windows/Threading.inc
|
// Defined in llvm/lib/Support/Windows/Threading.inc
|
||||||
static int computeHostNumPhysicalCores();
|
int computeHostNumPhysicalCores();
|
||||||
#else
|
#else
|
||||||
// On other systems, return -1 to indicate unknown.
|
// On other systems, return -1 to indicate unknown.
|
||||||
static int computeHostNumPhysicalCores() { return -1; }
|
static int computeHostNumPhysicalCores() { return -1; }
|
||||||
|
|
|
@ -47,7 +47,7 @@ unsigned llvm::ThreadPoolStrategy::compute_thread_count() const {
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
static int computeHostNumHardwareThreads();
|
int computeHostNumHardwareThreads();
|
||||||
|
|
||||||
unsigned llvm::ThreadPoolStrategy::compute_thread_count() const {
|
unsigned llvm::ThreadPoolStrategy::compute_thread_count() const {
|
||||||
int MaxThreadCount = UseHyperThreads ? computeHostNumHardwareThreads()
|
int MaxThreadCount = UseHyperThreads ? computeHostNumHardwareThreads()
|
||||||
|
|
|
@ -290,7 +290,7 @@ SetThreadPriorityResult llvm::set_thread_priority(ThreadPriority Priority) {
|
||||||
|
|
||||||
#include <thread>
|
#include <thread>
|
||||||
|
|
||||||
static int computeHostNumHardwareThreads() {
|
int computeHostNumHardwareThreads() {
|
||||||
#if defined(__FreeBSD__)
|
#if defined(__FreeBSD__)
|
||||||
cpuset_t mask;
|
cpuset_t mask;
|
||||||
CPU_ZERO(&mask);
|
CPU_ZERO(&mask);
|
||||||
|
|
|
@ -239,7 +239,7 @@ static unsigned aggregate(R &&Range, UnaryPredicate P) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// for sys::getHostNumPhysicalCores
|
// for sys::getHostNumPhysicalCores
|
||||||
static int computeHostNumPhysicalCores() {
|
int computeHostNumPhysicalCores() {
|
||||||
static unsigned Cores =
|
static unsigned Cores =
|
||||||
aggregate(getProcessorGroups(), [](const ProcessorGroup &G) {
|
aggregate(getProcessorGroups(), [](const ProcessorGroup &G) {
|
||||||
return G.UsableThreads / G.ThreadsPerCore;
|
return G.UsableThreads / G.ThreadsPerCore;
|
||||||
|
@ -247,7 +247,7 @@ static int computeHostNumPhysicalCores() {
|
||||||
return Cores;
|
return Cores;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int computeHostNumHardwareThreads() {
|
int computeHostNumHardwareThreads() {
|
||||||
static unsigned Threads =
|
static unsigned Threads =
|
||||||
aggregate(getProcessorGroups(),
|
aggregate(getProcessorGroups(),
|
||||||
[](const ProcessorGroup &G) { return G.UsableThreads; });
|
[](const ProcessorGroup &G) { return G.UsableThreads; });
|
||||||
|
|
Loading…
Reference in New Issue