![]() |
CernVM-FS
2.13.0
|
Public Member Functions | |
~PluginRamCache () | |
void | DropBreadcrumbs () |
Static Public Member Functions | |
static PluginRamCache * | Create (const string &mem_size_str) |
static PluginRamCache * | GetInstance () |
static int | ram_chrefcnt (struct cvmcache_hash *id, int32_t change_by) |
static int | ram_obj_info (struct cvmcache_hash *id, struct cvmcache_object_info *info) |
static int | ram_pread (struct cvmcache_hash *id, uint64_t offset, uint32_t *size, unsigned char *buffer) |
static int | ram_start_txn (struct cvmcache_hash *id, uint64_t txn_id, struct cvmcache_object_info *info) |
static int | ram_write_txn (uint64_t txn_id, unsigned char *buffer, uint32_t size) |
static int | ram_commit_txn (uint64_t txn_id) |
static int | ram_abort_txn (uint64_t txn_id) |
static int | ram_info (struct cvmcache_info *info) |
static int | ram_shrink (uint64_t shrink_to, uint64_t *used) |
static int | ram_listing_begin (uint64_t lst_id, enum cvmcache_object_type type) |
static int | ram_listing_next (int64_t listing_id, struct cvmcache_object_info *item) |
static int | ram_listing_end (int64_t listing_id) |
static int | ram_breadcrumb_store (const char *fqrn, const cvmcache_breadcrumb *breadcrumb) |
static int | ram_breadcrumb_load (const char *fqrn, cvmcache_breadcrumb *breadcrumb) |
![]() | |
static CallbackTN * | MakeClosure (typename BoundClosure< MallocHeap::BlockPtr, DelegateT, ClosureDataT >::CallbackMethod method, DelegateT *delegate, const ClosureDataT &closure_data) |
static CallbackTN * | MakeCallback (typename BoundCallback< MallocHeap::BlockPtr, DelegateT >::CallbackMethod method, DelegateT *delegate) |
static CallbackTN * | MakeCallback (typename Callback< MallocHeap::BlockPtr >::CallbackFunction function) |
Private Member Functions | |
PluginRamCache (uint64_t mem_size) | |
bool | TryFreeSpace (uint64_t bytes_required) |
void | OnBlockMove (const MallocHeap::BlockPtr &ptr) |
void | DoShrink (uint64_t shrink_to) |
void | CheckHighPinWatermark () |
bool | IsInDangerZone () |
Static Private Member Functions | |
static PluginRamCache * | Me () |
Private Attributes | |
struct cvmcache_info | cache_info_ |
perf::Statistics | statistics_ |
SmallHashDynamic< uint64_t, ObjectHeader * > | transactions_ |
SmallHashDynamic< uint64_t, Listing * > | listings_ |
lru::LruCache< ComparableHash, ObjectHeader * > * | objects_all_ |
lru::LruCache< ComparableHash, ObjectHeader * > * | objects_volatile_ |
map< std::string, cvmcache_breadcrumb > | breadcrumbs_ |
MallocHeap * | storage_ |
bool | in_danger_zone_ |
Static Private Attributes | |
static const uint64_t | kMinSize = 100 * 1024 * 1024 |
static const double | kShrinkFactor = 0.75 |
static const double | kObjectExpandFactor = 1.5 |
static const double | kSlotFraction = 0.04 |
static const double | kDangerZoneThreshold = 0.7 |
static PluginRamCache * | instance_ = NULL |
Additional Inherited Members | |
![]() | |
typedef CallbackBase < MallocHeap::BlockPtr > | CallbackTN |
Implements all the cache plugin callbacks. Singleton.
Definition at line 162 of file cvmfs_cache_ram.cc.
|
inline |
Definition at line 182 of file cvmfs_cache_ram.cc.
|
inlineexplicitprivate |
|
inlineprivate |
|
inlinestatic |
Definition at line 164 of file cvmfs_cache_ram.cc.
Referenced by main().
|
inlineprivate |
|
inline |
Definition at line 189 of file cvmfs_cache_ram.cc.
Referenced by DropBreadcrumbs().
|
inlinestatic |
Definition at line 177 of file cvmfs_cache_ram.cc.
Referenced by DropBreadcrumbs().
|
inlineprivate |
Definition at line 592 of file cvmfs_cache_ram.cc.
|
inlinestaticprivate |
Definition at line 463 of file cvmfs_cache_ram.cc.
|
inlineprivate |
Definition at line 526 of file cvmfs_cache_ram.cc.
Referenced by PluginRamCache().
|
inlinestatic |
Definition at line 358 of file cvmfs_cache_ram.cc.
Referenced by main().
|
inlinestatic |
Definition at line 445 of file cvmfs_cache_ram.cc.
Referenced by main().
|
inlinestatic |
Definition at line 438 of file cvmfs_cache_ram.cc.
Referenced by main().
|
inlinestatic |
Definition at line 191 of file cvmfs_cache_ram.cc.
Referenced by main().
|
inlinestatic |
Definition at line 319 of file cvmfs_cache_ram.cc.
Referenced by main().
|
inlinestatic |
Definition at line 368 of file cvmfs_cache_ram.cc.
Referenced by main().
|
inlinestatic |
Definition at line 385 of file cvmfs_cache_ram.cc.
Referenced by main().
|
inlinestatic |
Definition at line 426 of file cvmfs_cache_ram.cc.
Referenced by main().
|
inlinestatic |
Definition at line 413 of file cvmfs_cache_ram.cc.
Referenced by main().
|
inlinestatic |
Definition at line 218 of file cvmfs_cache_ram.cc.
Referenced by main().
|
inlinestatic |
Definition at line 235 of file cvmfs_cache_ram.cc.
Referenced by main().
|
inlinestatic |
Definition at line 374 of file cvmfs_cache_ram.cc.
Referenced by main().
|
inlinestatic |
Definition at line 253 of file cvmfs_cache_ram.cc.
Referenced by main().
|
inlinestatic |
Definition at line 283 of file cvmfs_cache_ram.cc.
Referenced by main().
|
inlineprivate |
Returns true if memory compaction took place and pointers might have been invalidated.
Definition at line 507 of file cvmfs_cache_ram.cc.
|
private |
Definition at line 605 of file cvmfs_cache_ram.cc.
|
private |
Definition at line 599 of file cvmfs_cache_ram.cc.
|
private |
Definition at line 607 of file cvmfs_cache_ram.cc.
|
staticprivate |
Definition at line 462 of file cvmfs_cache_ram.cc.
|
staticprivate |
Definition at line 460 of file cvmfs_cache_ram.cc.
|
staticprivate |
Definition at line 456 of file cvmfs_cache_ram.cc.
|
staticprivate |
Definition at line 458 of file cvmfs_cache_ram.cc.
|
staticprivate |
Definition at line 457 of file cvmfs_cache_ram.cc.
|
staticprivate |
Definition at line 459 of file cvmfs_cache_ram.cc.
|
private |
Definition at line 602 of file cvmfs_cache_ram.cc.
|
private |
Definition at line 603 of file cvmfs_cache_ram.cc.
|
private |
Definition at line 604 of file cvmfs_cache_ram.cc.
|
private |
Definition at line 600 of file cvmfs_cache_ram.cc.
|
private |
Definition at line 606 of file cvmfs_cache_ram.cc.
|
private |
Definition at line 601 of file cvmfs_cache_ram.cc.