33 #include "mongo/util/concurrency/mutex.h" 34 #include "mongo/util/time_support.h" 40 class MmapV1RecordHeader;
111 State get(
int regionHash,
size_t region,
short offset);
116 bool put(
int regionHash,
size_t region,
short offset);
119 Entry*
_get(
int start,
size_t region,
bool add);
140 bool access(
size_t region,
short offset,
bool doHalf, ClockSource* cs);
Definition: record_access_tracker.h:56
void _rotate(ClockSource *cs)
Definition: record_access_tracker.cpp:264
void markAccessed(const void *record)
Informs this record access tracker that 'record' has been accessed.
Definition: record_access_tracker.cpp:294
MONGO_DISALLOW_COPYING(RecordAccessTracker)
void disableSystemBlockInMemCheck()
The accessedRecently() implementation falls back to making a system call if it appears that the recor...
Definition: record_access_tracker.cpp:334
void reset()
Clears out any history of record accesses.
Definition: record_access_tracker.cpp:286
Entry * _get(int start, size_t region, bool add)
Definition: record_access_tracker.cpp:197
bool access(size_t region, short offset, bool doHalf, ClockSource *cs)
After this call, we assume the page is in RAM.
Definition: record_access_tracker.cpp:221
Copyright (C) 2014 MongoDB Inc.
Definition: bson_collection_catalog_entry.cpp:38
bool _blockSupported
Definition: record_access_tracker.h:158
void reset()
Definition: record_access_tracker.cpp:170
Definition: record_access_tracker.h:95
Entry _data[SliceSize]
Definition: record_access_tracker.h:121
Definition: record_access_tracker.h:93
Slice _slices[NumSlices]
Definition: record_access_tracker.h:152
SimpleMutex _lock
Definition: record_access_tracker.h:154
Date_t _lastRotate
Definition: record_access_tracker.h:151
ClockSource * _clock
Definition: record_access_tracker.h:159
Definition: record_access_tracker.h:57
std::unique_ptr< Rolling[]> _rollingTable
Definition: record_access_tracker.h:162
Definition: record_access_tracker.h:93
Slice()
Definition: record_access_tracker.cpp:166
Definition: record_access_tracker.h:59
Constants
Definition: record_access_tracker.h:55
State get(int regionHash, size_t region, short offset)
Definition: record_access_tracker.cpp:174
bool checkAccessedAndMark(const void *record)
Definition: record_access_tracker.cpp:307
Definition: record_access_tracker.h:93
Used to implement likelyInPhysicalMemory() for the MMAP v1 storage engine.
Definition: record_access_tracker.h:49
this contains many slices of times the idea you put mem status in the current time slice and then aft...
Definition: record_access_tracker.h:129
RecordAccessTracker(ClockSource *cs)
Definition: record_access_tracker.cpp:281
void updateLastRotate(ClockSource *cs)
Updates _lastRotate to the current time.
Definition: record_access_tracker.cpp:260
State
Definition: record_access_tracker.h:93
Definition: record_access_tracker.h:60
int _curSlice
Definition: record_access_tracker.h:150
unsigned long long value
Definition: record_access_tracker.h:97
bool put(int regionHash, size_t region, short offset)
Definition: record_access_tracker.cpp:186
size_t region
Definition: record_access_tracker.h:96
simple hash map for region -> status this constitutes a single region of time it does chaining,...
Definition: record_access_tracker.h:105
Definition: record_access_tracker.h:58