libfoedus-core
FOEDUS Core Library
|
Part of NodeMemoryAnchors for each thread. More...
Part of NodeMemoryAnchors for each thread.
Definition at line 409 of file shared_memory_repo.hpp.
#include <shared_memory_repo.hpp>
Public Types | |
enum | Constants { kThreadMemorySize = 1 << 15, kTaskInputMemorySize = 1 << 19, kTaskOutputMemorySize = 1 << 19, kMcsWwLockMemorySize = 1 << 19, kMcsRwLockMemorySize = 1 << 19, kMcsRwAsyncMappingMemorySize = 1 << 19 } |
Public Member Functions | |
ThreadMemoryAnchors () | |
~ThreadMemoryAnchors () | |
ThreadMemoryAnchors (const ThreadMemoryAnchors &other)=delete | |
ThreadMemoryAnchors & | operator= (const ThreadMemoryAnchors &other)=delete |
Public Attributes | |
thread::ThreadControlBlock * | thread_memory_ |
Status and synchronization mechanism for impersonation of this thread. More... | |
void * | task_input_memory_ |
Input buffer for an impersonated task. More... | |
void * | task_output_memory_ |
Output buffer for an impersonated task. More... | |
xct::McsWwBlock * | mcs_ww_lock_memories_ |
Pre-allocated MCS block for each thread. More... | |
xct::McsRwSimpleBlock * | mcs_rw_simple_lock_memories_ |
xct::McsRwExtendedBlock * | mcs_rw_extended_lock_memories_ |
xct::McsRwAsyncMapping * | mcs_rw_async_mappings_memories_ |
Enumerator | |
---|---|
kThreadMemorySize | |
kTaskInputMemorySize | |
kTaskOutputMemorySize | |
kMcsWwLockMemorySize | |
kMcsRwLockMemorySize | |
kMcsRwAsyncMappingMemorySize |
Definition at line 410 of file shared_memory_repo.hpp.
|
inline |
Definition at line 418 of file shared_memory_repo.hpp.
|
inline |
Definition at line 419 of file shared_memory_repo.hpp.
|
delete |
|
delete |
xct::McsRwAsyncMapping* foedus::soc::ThreadMemoryAnchors::mcs_rw_async_mappings_memories_ |
Definition at line 452 of file shared_memory_repo.hpp.
Referenced by foedus::thread::ThreadRef::ThreadRef().
xct::McsRwExtendedBlock* foedus::soc::ThreadMemoryAnchors::mcs_rw_extended_lock_memories_ |
Definition at line 451 of file shared_memory_repo.hpp.
Referenced by foedus::thread::ThreadRef::ThreadRef().
xct::McsRwSimpleBlock* foedus::soc::ThreadMemoryAnchors::mcs_rw_simple_lock_memories_ |
Definition at line 450 of file shared_memory_repo.hpp.
Referenced by foedus::thread::ThreadRef::ThreadRef().
xct::McsWwBlock* foedus::soc::ThreadMemoryAnchors::mcs_ww_lock_memories_ |
Pre-allocated MCS block for each thread.
Index is node-local thread ordinal. Array of McsWwBlock. 512kb (==sizeof(McsWwBlock) * 64k) for each thread.
Definition at line 448 of file shared_memory_repo.hpp.
Referenced by foedus::thread::ThreadRef::ThreadRef().
void* foedus::soc::ThreadMemoryAnchors::task_input_memory_ |
Input buffer for an impersonated task.
Always 512kb (so far, make it configurable later).
Definition at line 435 of file shared_memory_repo.hpp.
Referenced by foedus::thread::ThreadRef::ThreadRef().
void* foedus::soc::ThreadMemoryAnchors::task_output_memory_ |
Output buffer for an impersonated task.
Always 512kb (so far, make it configurable later).
Definition at line 441 of file shared_memory_repo.hpp.
Referenced by foedus::thread::ThreadRef::ThreadRef().
thread::ThreadControlBlock* foedus::soc::ThreadMemoryAnchors::thread_memory_ |
Status and synchronization mechanism for impersonation of this thread.
Always 32kb (a bit large mainly due to the size of FixedErrorStack).
Definition at line 429 of file shared_memory_repo.hpp.
Referenced by foedus::thread::ThreadRef::ThreadRef().