libfoedus-core
FOEDUS Core Library
foedus::memory::NumaNodeMemoryRef Class Referencefinal

A view of NumaNodeMemory for other SOCs and master engine. More...

Detailed Description

A view of NumaNodeMemory for other SOCs and master engine.

Definition at line 167 of file numa_node_memory.hpp.

#include <numa_node_memory.hpp>

Public Member Functions

 NumaNodeMemoryRef ()=delete
 
 NumaNodeMemoryRef (Engine *engine, foedus::thread::ThreadGroupId numa_node)
 
Engineget_engine ()
 
foedus::thread::ThreadGroupId get_numa_node () const
 
PagePoolget_volatile_pool ()
 
std::string dump_free_memory_stat () const
 Report rough statistics of free memory. More...
 

Constructor & Destructor Documentation

foedus::memory::NumaNodeMemoryRef::NumaNodeMemoryRef ( )
delete
foedus::memory::NumaNodeMemoryRef::NumaNodeMemoryRef ( Engine engine,
foedus::thread::ThreadGroupId  numa_node 
)

Definition at line 235 of file numa_node_memory.cpp.

References foedus::memory::PagePool::attach(), foedus::soc::SharedMemoryRepo::get_node_memory_anchors(), foedus::Engine::get_options(), foedus::soc::SocManager::get_shared_memory_repo(), foedus::Engine::get_soc_manager(), foedus::soc::SharedMemoryRepo::get_volatile_pool(), foedus::EngineOptions::memory_, foedus::memory::MemoryOptions::page_pool_size_mb_per_node_, and foedus::soc::NodeMemoryAnchors::volatile_pool_status_.

236  : engine_(engine), numa_node_(numa_node) {
237  soc::SharedMemoryRepo* memory_repo = engine->get_soc_manager()->get_shared_memory_repo();
238  volatile_pool_.attach(
239  memory_repo->get_node_memory_anchors(numa_node)->volatile_pool_status_,
240  memory_repo->get_volatile_pool(numa_node),
241  static_cast<uint64_t>(engine->get_options().memory_.page_pool_size_mb_per_node_) << 20,
242  false,
243  false);
244 }
void attach(PagePoolControlBlock *control_block, void *memory, uint64_t memory_size, bool owns, bool rigorous_page_boundary_check)
Definition: page_pool.cpp:101

Here is the call graph for this function:

Member Function Documentation

std::string foedus::memory::NumaNodeMemoryRef::dump_free_memory_stat ( ) const

Report rough statistics of free memory.

Definition at line 246 of file numa_node_memory.cpp.

References foedus::memory::PagePool::Stat::allocated_pages_, foedus::memory::PagePool::get_stat(), and foedus::memory::PagePool::Stat::total_pages_.

Referenced by foedus::memory::EngineMemory::dump_free_memory_stat().

246  {
247  std::stringstream ret;
248  PagePool::Stat volatile_stat = volatile_pool_.get_stat();
249  ret << " Volatile-Pool: " << volatile_stat.allocated_pages_ << " allocated pages, "
250  << volatile_stat.total_pages_ << " total pages, "
251  << (volatile_stat.total_pages_ - volatile_stat.allocated_pages_) << " free pages"
252  << std::endl;
253  return ret.str();
254 }
Stat get_stat() const
Definition: page_pool.cpp:118

Here is the call graph for this function:

Here is the caller graph for this function:

Engine* foedus::memory::NumaNodeMemoryRef::get_engine ( )
inline

Definition at line 172 of file numa_node_memory.hpp.

172 { return engine_; }
foedus::thread::ThreadGroupId foedus::memory::NumaNodeMemoryRef::get_numa_node ( ) const
inline

Definition at line 173 of file numa_node_memory.hpp.

173 { return numa_node_; }

The documentation for this class was generated from the following files: