Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Unified Diff: content/common/discardable_shared_memory_heap.cc

Issue 1374213002: [tracing] Display the locked size of discardable memory segment. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Just using set_is_locked. Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/common/discardable_shared_memory_heap.cc
diff --git a/content/common/discardable_shared_memory_heap.cc b/content/common/discardable_shared_memory_heap.cc
index ccf2729c557f660e3b675def1393449be60564dd..cec67258e04d9736c633393e0c6eb3a74f35b5e1 100644
--- a/content/common/discardable_shared_memory_heap.cc
+++ b/content/common/discardable_shared_memory_heap.cc
@@ -278,6 +278,7 @@ DiscardableSharedMemoryHeap::Carve(Span* span, size_t blocks) {
if (extra) {
scoped_ptr<Span> leftover(
new Span(serving->shared_memory_, serving->start_ + blocks, extra));
+ leftover->set_is_locked(false);
DCHECK_IMPLIES(extra > 1, spans_.find(leftover->start_) == spans_.end());
RegisterSpan(leftover.get());
@@ -367,14 +368,17 @@ void DiscardableSharedMemoryHeap::OnMemoryDump(
base::trace_event::ProcessMemoryDump* pmd) {
size_t allocated_objects_count = 0;
size_t allocated_objects_size_in_bytes = 0;
+ size_t locked_size_in_bytes = 0;
reveman 2015/10/01 10:34:39 nit: locked_objects_size_in_bytes to be consistent
ssid 2015/10/01 14:08:46 Done.
size_t offset =
reinterpret_cast<size_t>(shared_memory->memory()) / block_size_;
size_t end = offset + size / block_size_;
while (offset < end) {
Span* span = spans_[offset];
if (!IsInFreeList(span)) {
+ const size_t span_size = span->length_ * block_size_;
reveman 2015/10/01 10:34:39 How about computing allocated_objects_size_in_bloc
ssid 2015/10/01 14:08:46 Done.
+ allocated_objects_size_in_bytes += span_size;
+ locked_size_in_bytes += span->is_locked_ ? span_size : 0;
allocated_objects_count++;
- allocated_objects_size_in_bytes += span->length_ * block_size_;
}
offset += span->length_;
}
@@ -395,6 +399,9 @@ void DiscardableSharedMemoryHeap::OnMemoryDump(
obj_dump->AddScalar(base::trace_event::MemoryAllocatorDump::kNameSize,
base::trace_event::MemoryAllocatorDump::kUnitsBytes,
static_cast<uint64_t>(allocated_objects_size_in_bytes));
+ obj_dump->AddScalar("locked_size",
+ base::trace_event::MemoryAllocatorDump::kUnitsBytes,
+ locked_size_in_bytes);
reveman 2015/10/01 10:34:39 why no static_cast<uint64_t> here but we have one
ssid 2015/10/01 14:08:46 I think initially it was added since the AddScalar
// Emit an ownership edge towards a global allocator dump node. This allows
// to avoid double-counting segments when both browser and child process emit

Powered by Google App Engine
This is Rietveld 408576698