aboutsummaryrefslogtreecommitdiff
path: root/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc
diff options
context:
space:
mode:
Diffstat (limited to 'www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc')
-rw-r--r--www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc48
1 files changed, 34 insertions, 14 deletions
diff --git a/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc b/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc
index 1ea42a3de872..c3400cbc3097 100644
--- a/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc
+++ b/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc
@@ -1,6 +1,6 @@
---- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc.orig 2019-03-21 01:36:59.000000000 +0100
-+++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc 2019-03-24 18:58:48.459358000 +0100
-@@ -17,8 +17,10 @@
+--- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc.orig 2019-04-30 22:22:56 UTC
++++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc
+@@ -19,8 +19,10 @@
#include "build/build_config.h"
#include "services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h"
@@ -11,23 +11,23 @@
namespace memory_instrumentation {
-@@ -67,6 +69,7 @@
+@@ -69,6 +71,7 @@ struct ModuleData {
ModuleData GetMainModuleData() {
ModuleData module_data;
+#if !defined(OS_BSD)
Dl_info dl_info;
if (dladdr(&__ehdr_start, &dl_info)) {
- base::Optional<std::string> build_id =
-@@ -76,6 +79,7 @@
- module_data.build_id = *build_id;
+ base::debug::ElfBuildIdBuffer build_id;
+@@ -79,6 +82,7 @@ ModuleData GetMainModuleData() {
+ module_data.build_id = std::string(build_id, build_id_length);
}
}
+#endif
return module_data;
}
-@@ -123,14 +127,14 @@
+@@ -126,14 +130,14 @@ bool ParseSmapsHeader(const char* header_line,
// Build ID is needed to symbolize heap profiles, and is generated only on
// official builds. Build ID is only added for the current library (chrome)
// since it is racy to read other libraries which can be unmapped any time.
@@ -44,18 +44,19 @@
return res;
}
-@@ -217,6 +221,9 @@
+@@ -220,6 +224,10 @@ void OSMetrics::SetProcSmapsForTesting(FILE* f) {
// static
bool OSMetrics::FillOSMemoryDump(base::ProcessId pid,
mojom::RawOSMemDump* dump) {
+#if defined(OS_BSD)
++ NOTIMPLEMENTED();
+ return false;
+#else
base::ScopedFD autoclose = OpenStatm(pid);
int statm_fd = autoclose.get();
-@@ -242,10 +249,12 @@
- dump->resident_set_kb = process_metrics->GetResidentSetSize() / 1024;
+@@ -267,10 +275,15 @@ bool OSMetrics::FillOSMemoryDump(base::ProcessId pid,
+ #endif // defined(OS_ANDROID)
return true;
+#endif
@@ -64,16 +65,35 @@
// static
std::vector<VmRegionPtr> OSMetrics::GetProcessMemoryMaps(base::ProcessId pid) {
+#if defined(OS_BSD)
++ NOTIMPLEMENTED();
++ return std::vector<VmRegionPtr>();
++#else
std::vector<VmRegionPtr> maps;
uint32_t res = 0;
if (g_proc_smaps_for_testing) {
-@@ -263,6 +272,10 @@
+@@ -288,6 +301,7 @@ std::vector<VmRegionPtr> OSMetrics::GetProcessMemoryMa
return std::vector<VmRegionPtr>();
return maps;
-+#else
++#endif
+ }
+
+ // static
+@@ -295,6 +309,10 @@ OSMetrics::MappedAndResidentPagesDumpState OSMetrics::
+ const size_t start_address,
+ const size_t end_address,
+ std::vector<uint8_t>* accessed_pages_bitmap) {
++#if defined(OS_BSD)
+ NOTIMPLEMENTED();
-+ return std::vector<VmRegionPtr>();
++ return OSMetrics::MappedAndResidentPagesDumpState::kFailure;
++#else
+ const char* kPagemap = "/proc/self/pagemap";
+
+ base::ScopedFILE pagemap_file(fopen(kPagemap, "r"));
+@@ -336,6 +354,7 @@ OSMetrics::MappedAndResidentPagesDumpState OSMetrics::
+ }
+ }
+ return OSMetrics::MappedAndResidentPagesDumpState::kSuccess;
+#endif
}