MCPcopy Create free account
hub / github.com/apache/impala / RemoveCleanPage

Method RemoveCleanPage

be/src/runtime/bufferpool/buffer-allocator.cc:452–463  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

450}
451
452bool BufferPool::BufferAllocator::RemoveCleanPage(
453 const unique_lock<mutex>& client_lock, bool claim_buffer, Page* page) {
454 page->client->DCheckHoldsLock(client_lock);
455 FreeBufferArena* arena;
456 {
457 lock_guard<SpinLock> pl(page->buffer_lock);
458 // Page may be evicted - in which case it has no home core and is not in an arena.
459 if (!page->buffer.is_open()) return false;
460 arena = per_core_arenas_[page->buffer.home_core_].get();
461 }
462 return arena->RemoveCleanPage(claim_buffer, page);
463}
464
465void BufferPool::BufferAllocator::Maintenance() {
466 for (unique_ptr<FreeBufferArena>& arena : per_core_arenas_) arena->Maintenance();

Callers 2

DestroyPageInternalMethod · 0.80
StartMoveToPinnedMethod · 0.80

Calls 9

moveFunction · 0.85
DCheckHoldsLockMethod · 0.80
getMethod · 0.65
is_openMethod · 0.45
LoadMethod · 0.45
sizeMethod · 0.45
RemoveMethod · 0.45
AddMethod · 0.45
AddFreeBufferMethod · 0.45

Tested by

no test coverage detected