Class faabric::util::ThreadSafeDirtyTrackingRecord
-
class ThreadSafeDirtyTrackingRecord : public faabric::util::DirtyTrackingRecord
Thread-safe wrapper around dirty tracking data, necessary for use with the background event thread in the userfaultfd tracker. Although the logic around the interaction between the event thread and the main thread should in theory protect against concurrent accesses, we need this to keep TSan happy.
Public Functions
-
ThreadSafeDirtyTrackingRecord() = default
-
inline virtual void trackRegion(std::span<uint8_t> region) override
-
inline virtual void markPage(void *addr) override
-
inline virtual std::vector<char> getDirtyFlags() override
-
inline virtual bool isInitialised() override
-
inline virtual int getNPages() override
-
inline virtual void reset() override
-
ThreadSafeDirtyTrackingRecord() = default