[Store] Fix CXL capacity metric leak on segment unmount#5
Open
stmatengss wants to merge 1 commit intohemist/cxl-level-storefrom
Open
[Store] Fix CXL capacity metric leak on segment unmount#5stmatengss wants to merge 1 commit intohemist/cxl-level-storefrom
stmatengss wants to merge 1 commit intohemist/cxl-level-storefrom
Conversation
When a CXL segment is unmounted via CommitUnmountSegment, the total capacity metrics were only decremented for non-CXL segments. CXL segments never called dec_total_cxl_capacity, causing the metric to grow without bound across remount cycles. On mount (initializeCxlAllocator) both inc_total_mem_capacity and inc_total_cxl_capacity are incremented. Match this symmetrically on unmount by adding an else branch that calls both dec_total_mem_capacity and dec_total_cxl_capacity for CXL segments.
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.
Problem
CommitUnmountSegmentonly decrements metrics for non-CXL segments:On CXL mount, both
inc_total_mem_capacityandinc_total_cxl_capacityare called. The unmount path never mirrors this, causing the CXL capacity metric to grow monotonically across remount cycles.Fix
Add an
elsebranch callingdec_total_mem_capacityanddec_total_cxl_capacityfor CXL segments, matching the mount path symmetrically.Impact