TmpFs Memory Usage Tracking and Limiting #3902
Merged
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.
feat(virtual-fs): Add TmpFs memory tracking and limiting
Hacky implementation for tracking and limiting the memory consumption of
in-memory files of the TmpFs / mem_fs.
Ideally this would use a Vec with a custom allocator, but the allocator
APIs are currently restricted to nightly Rust.
To keep both code impact and performance impact low, a TrackedVec is
added that can hold a FsMemoryLimiter, which has callbacks for growing
and for shrinking memory.
Without the new "tracked" feature enabled, a stub impl is added, which
does not do any tracking , and hence has minimal performance impact.
This should be rewritten to a sane implementaiton soon as part of a
larger virtual-fs rewrite.
Closes #3865