[icinga-checkins] icinga.org: icinga2/master: Revert "Fix incorrect detection of the ' Concurrency' variable"

git at icinga.org git at icinga.org
Fri Aug 19 11:58:58 CEST 2016


Module: icinga2
Branch: master
Commit: aeaca5e8038ed4aecf85c78510d50493b8a8fdf0
URL:    https://git.icinga.org/?p=icinga2.git;a=commit;h=aeaca5e8038ed4aecf85c78510d50493b8a8fdf0

Author: Gunnar Beutner <gunnar.beutner at netways.de>
Date:   Fri Aug 19 11:58:40 2016 +0200

Revert "Fix incorrect detection of the 'Concurrency' variable"

This reverts commit 585f0537d244fb8fb229924f9e7c5c8478bb2a92.

refs #12456

---

 icinga-app/icinga.cpp    |    2 +-
 lib/base/application.cpp |    2 +-
 lib/base/unix.hpp        |    1 -
 lib/base/utility.cpp     |   66 ----------------------------------------------
 lib/base/utility.hpp     |    2 --
 5 files changed, 2 insertions(+), 71 deletions(-)

diff --git a/icinga-app/icinga.cpp b/icinga-app/icinga.cpp
index bd5042a..f504505 100644
--- a/icinga-app/icinga.cpp
+++ b/icinga-app/icinga.cpp
@@ -152,7 +152,7 @@ int Main(void)
 	Application::DeclareZonesDir(Application::GetSysconfDir() + "/icinga2/zones.d");
 	Application::DeclareRunAsUser(ICINGA_USER);
 	Application::DeclareRunAsGroup(ICINGA_GROUP);
-	Application::DeclareConcurrency(Utility::PhysicalConcurrency());
+	Application::DeclareConcurrency(boost::thread::hardware_concurrency());
 
 	if (!ScriptGlobal::Exists("UseVfork"))
 #ifdef __APPLE__
diff --git a/lib/base/application.cpp b/lib/base/application.cpp
index 712af5c..9746b01 100644
--- a/lib/base/application.cpp
+++ b/lib/base/application.cpp
@@ -1344,7 +1344,7 @@ void Application::DeclareConcurrency(int ncpus)
  */
 int Application::GetConcurrency(void)
 {
-	static Value defaultConcurrency = Utility::PhysicalConcurrency();
+	Value defaultConcurrency = boost::thread::hardware_concurrency();
 	return ScriptGlobal::Get("Concurrency", &defaultConcurrency);
 }
 
diff --git a/lib/base/unix.hpp b/lib/base/unix.hpp
index ab9881a..9fe8b7d 100644
--- a/lib/base/unix.hpp
+++ b/lib/base/unix.hpp
@@ -41,7 +41,6 @@
 #include <sys/time.h>
 #include <sys/resource.h>
 #include <strings.h>
-#include <sys/sysctl.h>
 
 typedef int SOCKET;
 #define INVALID_SOCKET (-1)
diff --git a/lib/base/utility.cpp b/lib/base/utility.cpp
index 29c98e1..8247082 100644
--- a/lib/base/utility.cpp
+++ b/lib/base/utility.cpp
@@ -1936,69 +1936,3 @@ String Utility::GetIcingaDataPath(void)
 }
 
 #endif /* _WIN32 */
-
-int Utility::PhysicalConcurrency(void)
-{
-#if BOOST_VERSION >= 106100
-	return boost::thread::physical_concurrency();
-#elif defined(__linux__)
-	std::ifstream fp("/proc/cpuinfo");
-	std::string line;
-	bool htFlag = false;
-
-	while (std::getline(fp, line)) {
-		std::vector<String> tokens;
-		boost::algorithm::split(tokens, line, boost::is_any_of(":"));
-
-		if (tokens.size() != 2)
-			continue;
-
-		String key = tokens[0].Trim();
-		String value = tokens[1].Trim();
-
-		if (key != "flags")
-			continue;
-
-		std::vector<String> flags;
-		boost::algorithm::split(flags, value, boost::is_any_of(" "));
-
-		if (std::find(flags.begin(), flags.end(), "ht") != flags.end()) {
-			htFlag = true;
-			break;
-		}
-	}
-
-	return boost::thread::hardware_concurrency() / (htFlag ? 2 : 1);
-#elif defined(_WIN32)
-	DWORD size = 0;
-
-	GetLogicalProcessorInformation(NULL, &size);
-
-	if (GetLastError() != ERROR_INSUFFICIENT_BUFFER)
-		return boost::thread::hardware_concurrency();
-
-	std::vector<SYSTEM_LOGICAL_PROCESSOR_INFORMATION> info(size / sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION));
-
-	if (GetLogicalProcessorInformation(&info.front(), &size) == FALSE)
-		return boost::thread::hardware_concurrency();
-
-	int ncpus = 0;
-
-	BOOST_FOREACH(const SYSTEM_LOGICAL_PROCESSOR_INFORMATION& slpi, info) {
-		if (slpi.Relationship == RelationProcessorCore)
-			ncpus++;
-	}
-
-	return ncpus;
-#elif defined(__APPLE__)
-	int ncpus;
-	size_t size = sizeof(ncpus);
-
-	if (sysctlbyname("hw.physicalcpu", &ncpus, &size, NULL, 0) == 0)
-		return ncpus;
-	else
-		return boost::thread::hardware_concurrency();
-#else /* __APPLE__ */
-	return boost::thread::hardware_concurrency();
-#endif /* __APPLE__ */
-}
diff --git a/lib/base/utility.hpp b/lib/base/utility.hpp
index 3688529..0e1fcc2 100644
--- a/lib/base/utility.hpp
+++ b/lib/base/utility.hpp
@@ -153,8 +153,6 @@ public:
 	static void IncrementTime(double);
 #endif /* I2_DEBUG */
 
-	static int PhysicalConcurrency(void);
-
 private:
 	Utility(void);
 	static void CollectPaths(const String& path, std::vector<String>& paths);



More information about the icinga-checkins mailing list