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