Check cache size and limit transitions in huge_cache_fuzz. - #969
Draft
copybara-service[bot] wants to merge 1 commit into
Draft
copybara-service[bot] wants to merge 1 commit into
copybara-service[bot] wants to merge 1 commit into
Conversation
Snapshot size() and limit() around every operation. A Get must return exactly n hugepages disjoint from every live range; a hit shrinks the cache by n and leaves the limit alone, a miss leaves the cache alone and may only grow the limit, and a failed Get changes neither. Release and ReleaseCachedPages may only shrink the limit; with unback succeeding, Release leaves exactly min(size + n, limit) cached and ReleaseCachedPages releases at least min(n, size). Released pages always equal the drop in size(), and ReleaseUnbacked bypasses the cache. PiperOrigin-RevId: 982900642
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Check cache size and limit transitions in huge_cache_fuzz.
Snapshot size() and limit() around every operation. A Get must return exactly
n hugepages disjoint from every live range; a hit shrinks the cache by n and
leaves the limit alone, a miss leaves the cache alone and may only grow the
limit, and a failed Get changes neither. Release and ReleaseCachedPages may
only shrink the limit; with unback succeeding, Release leaves exactly
min(size + n, limit) cached and ReleaseCachedPages releases at least
min(n, size). Released pages always equal the drop in size(), and
ReleaseUnbacked bypasses the cache.