Atlas Runtime
Atlas Namespace Reference

Classes

struct  CbListNode
 
struct  CbLog
 
class  CSMgr
 
class  DGraph
 
struct  FASection
 
class  Helper
 
struct  ImmutableInfo
 
struct  LastReleaseInfo
 
struct  LockReleaseCount
 
struct  LogEntry
 
class  LogMgr
 
struct  LogStructure
 
class  PArena
 
class  PMallocUtil
 
class  PRegion
 
class  PRegionExtentMap
 
class  PRegionMgr
 
class  Stats
 

Typedefs

typedef std::map< void *, uint64_t > MapOfLockInfo
 
typedef std::map< LogEntry *, bool > Log2Bool
 
typedef std::vector< LogEntry * > LogEntryVec
 
typedef std::map< void *, bool > MemMap
 
typedef std::map< uint32_t, MemMapFreeList
 
typedef uint32_t region_id_t
 

Enumerations

enum  LogType {
  LE_dummy, LE_acquire, LE_rwlock_rdlock, LE_rwlock_wrlock,
  LE_begin_durable, LE_release, LE_rwlock_unlock, LE_end_durable,
  LE_str, LE_memset, LE_memcpy, LE_memmove,
  LE_strcpy, LE_strcat, LE_alloc, LE_free
}
 

Functions

void * helper (void *arg_lsp)
 

Variables

uint64_t removed_log_count = 0
 
const int32_t kFlushTableSize = 8
 
const int32_t kFlushTableMask = kFlushTableSize - 1
 
const uint32_t kFlushShift = 6
 
const uint32_t kFaseAnalysisLimit = 8
 
const uint64_t kHashTableSize = 1 << 10
 
const uint64_t kHashTableMask = kHashTableSize - 1
 
const uint32_t kShift = 3
 
const uint32_t kWorkThreshold = 100
 
const uint32_t kCircularBufferSize = 1024 * 16 - 1
 
const uint32_t kDCacheLineSize_ = 64
 
const uint32_t kMaxlen_ = kDCacheLineSize_
 
const uint64_t kByte_ = 1024
 
const uint64_t kPRegionSize_ = 1 * kByte_ * kByte_ * kByte_
 
const uint32_t kMaxNumPRegions_ = 100
 
const uint32_t kNumArenas_ = 64
 
const uint32_t kArenaSize_ = kPRegionSize_ / kNumArenas_
 
const uint32_t kMaxFreeCategory_ = 128
 
const uint32_t kInvalidPRegion_ = kMaxNumPRegions_
 
const uint32_t kMaxBits_ = 48
 
const uint64_t kPRegionsBase_
 

Typedef Documentation

typedef std::map<uint32_t , MemMap> Atlas::FreeList
typedef std::map<LogEntry*, bool> Atlas::Log2Bool
typedef std::vector<LogEntry*> Atlas::LogEntryVec
typedef std::map<void*,uint64_t> Atlas::MapOfLockInfo
typedef std::map<void* , bool > Atlas::MemMap
typedef uint32_t Atlas::region_id_t

Enumeration Type Documentation

Enumerator
LE_dummy 
LE_acquire 
LE_rwlock_rdlock 
LE_rwlock_wrlock 
LE_begin_durable 
LE_release 
LE_rwlock_unlock 
LE_end_durable 
LE_str 
LE_memset 
LE_memcpy 
LE_memmove 
LE_strcpy 
LE_strcat 
LE_alloc 
LE_free 

Function Documentation

void * Atlas::helper ( void *  arg_lsp)

Variable Documentation

const uint32_t Atlas::kArenaSize_ = kPRegionSize_ / kNumArenas_
const uint64_t Atlas::kByte_ = 1024
const uint32_t Atlas::kCircularBufferSize = 1024 * 16 - 1
const uint32_t Atlas::kDCacheLineSize_ = 64
const uint32_t Atlas::kFaseAnalysisLimit = 8
const uint32_t Atlas::kFlushShift = 6
const int32_t Atlas::kFlushTableMask = kFlushTableSize - 1
const int32_t Atlas::kFlushTableSize = 8
const uint64_t Atlas::kHashTableMask = kHashTableSize - 1
const uint64_t Atlas::kHashTableSize = 1 << 10
const uint32_t Atlas::kInvalidPRegion_ = kMaxNumPRegions_
const uint32_t Atlas::kMaxBits_ = 48
const uint32_t Atlas::kMaxFreeCategory_ = 128
const uint32_t Atlas::kMaxlen_ = kDCacheLineSize_
const uint32_t Atlas::kMaxNumPRegions_ = 100
const uint32_t Atlas::kNumArenas_ = 64
const uint64_t Atlas::kPRegionsBase_
Initial value:
=
(((uint64_t)1 << (kMaxBits_ - 1)) - (kPRegionSize_ * kMaxNumPRegions_))/2
const uint32_t kMaxNumPRegions_
Definition: pregion_configs.hpp:29
const uint64_t kPRegionSize_
Definition: pregion_configs.hpp:28
const uint32_t kMaxBits_
Definition: pregion_configs.hpp:34
const uint64_t Atlas::kPRegionSize_ = 1 * kByte_ * kByte_ * kByte_
const uint32_t Atlas::kShift = 3
const uint32_t Atlas::kWorkThreshold = 100
uint64_t Atlas::removed_log_count = 0