|
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().