Skip clean memory tracker ranges during buffer synchronization

This commit is contained in:
chenxiao
2026-10-03 10:04:09 +04:00
committed by nmzik
parent 0ec3655f1c
commit 0bb2bdad17
2 changed files with 102 additions and 0 deletions
+3
View File
@@ -114,6 +114,9 @@ public:
void ForEachModifiedRange(uint64_t vaddr, uint64_t size, Func&& func) {
const auto [start, end] = GetPageRange(vaddr, size);
auto& bits = GetBits<source>();
if (bits.FirstRangeFrom(start).first >= end) {
return;
}
RegionBits mask(bits, start, end);
if constexpr (clear) {
bits.UnsetRange(start, end);