Changeset View
Changeset View
Standalone View
Standalone View
files/patch-base_sys__info__freebsd.cc
--- base/sys_info_freebsd.cc.orig 2016-03-25 13:04:44 UTC | --- base/sys_info_freebsd.cc.orig 2016-10-06 04:02:08.000000000 +0300 | ||||
+++ base/sys_info_freebsd.cc | +++ base/sys_info_freebsd.cc 2016-10-13 10:20:37.344204000 +0300 | ||||
@@ -12,12 +12,34 @@ | @@ -12,12 +12,34 @@ | ||||
namespace base { | namespace base { | ||||
+int64_t SysInfo::AmountOfAvailablePhysicalMemory() { | +int64_t SysInfo::AmountOfAvailablePhysicalMemory() { | ||||
+ int page_size, r = 0; | + int page_size, r = 0; | ||||
+ unsigned pgfree, pginact, pgcache; | + unsigned pgfree, pginact, pgcache; | ||||
+ size_t size = sizeof(page_size); | + size_t size = sizeof(page_size); | ||||
Show All 23 Lines | |||||
+ if(r == 0) | + if(r == 0) | ||||
+ r = sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0); | + r = sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0); | ||||
+ if(r == 0) | + if(r == 0) | ||||
+ r = sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); | + r = sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); | ||||
+ if (r == -1) { | + if (r == -1) { | ||||
NOTREACHED(); | NOTREACHED(); | ||||
return 0; | return 0; | ||||
} | } | ||||
@@ -35,4 +57,25 @@ uint64_t SysInfo::MaxSharedMemorySize() | @@ -25,14 +47,24 @@ | ||||
return static_cast<uint64_t>(limit); | |||||
} | } | ||||
+// static | // static | ||||
-uint64_t SysInfo::MaxSharedMemorySize() { | |||||
- size_t limit; | |||||
- size_t size = sizeof(limit); | |||||
- if (sysctlbyname("kern.ipc.shmmax", &limit, &size, NULL, 0) < 0) { | |||||
+std::string SysInfo::CPUModelName() { | +std::string SysInfo::CPUModelName() { | ||||
+ int mib[] = { CTL_HW, HW_MODEL }; | + int mib[] = { CTL_HW, HW_MODEL }; | ||||
+ char name[256]; | + char name[256]; | ||||
+ size_t size = arraysize(name); | + size_t size = arraysize(name); | ||||
+ if (sysctl(mib, arraysize(mib), &name, &size, NULL, 0) == 0) | + if (sysctl(mib, arraysize(mib), &name, &size, NULL, 0) == 0) | ||||
+ return name; | + return name; | ||||
+ return std::string(); | + return std::string(); | ||||
+} | +} | ||||
+ | + | ||||
+int SysInfo::NumberOfProcessors() { | +int SysInfo::NumberOfProcessors() { | ||||
+ int mib[] = { CTL_HW, HW_NCPU }; | + int mib[] = { CTL_HW, HW_NCPU }; | ||||
+ int ncpu; | + int ncpu; | ||||
+ size_t size = sizeof(ncpu); | + size_t size = sizeof(ncpu); | ||||
+ if (sysctl(mib, arraysize(mib), &ncpu, &size, NULL, 0) == -1) { | + if (sysctl(mib, arraysize(mib), &ncpu, &size, NULL, 0) == -1) { | ||||
+ NOTREACHED(); | NOTREACHED(); | ||||
- return 0; | |||||
+ return 1; | + return 1; | ||||
+ } | } | ||||
- return static_cast<uint64_t>(limit); | |||||
+ return ncpu; | + return ncpu; | ||||
+} | } | ||||
+ | |||||
} // namespace base | } // namespace base |