perf(rallocator): consolidate v1 and Seismograph improvements - #764
Draft
Ralf Biedert (ralfbiedert) wants to merge 20 commits into
Draft
Ralf Biedert (ralfbiedert) wants to merge 20 commits into
Ralf Biedert (ralfbiedert) wants to merge 20 commits into
Conversation
Integrate accepted medium allocation, retention, remote accounting, realloc, cached-region lookup, and snapshot bitmap improvements on current main. Reconcile snapshot ownership and registry maintenance while retaining bounded warm tables. Remove snapshot response copies, correct runtime accounting and feature wiring, and preserve isolated nextest-compatible mapping coverage. The final combined Linux model and performance qualification remains pending; historical component results are not a claim of an overall combined speedup. Rejected TLS and experimental v2 changes are excluded. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Exercise arena cleanup through a linked-library snapshot source and validate peak labels, accessors, and short output buffers. Keep manual profiling probes outside automated coverage. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Align both payload placement and discriminator shifts for the stored header pointer, including conservative mapping-size checks. Guard the fallible heap allocation in the owner-exit fixture. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Cover loader progress, source precedence, event stack release, and offline UI states without reducing production coverage requirements. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Inject memory queries and cold-path failures without changing allocator defaults. Consolidate equivalent resize rejection conditions while preserving every defensive check. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Codecov Report❌ Patch coverage is
❌ Your project check has failed because the head coverage (99.9%) is below the target coverage (100.0%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #764 +/- ##
========================================
- Coverage 100.0% 99.9% -0.1%
========================================
Files 640 648 +8
Lines 85528 90910 +5382
========================================
+ Hits 85528 90909 +5381
- Misses 0 1 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Cover monitor contention, deadlines, spawn failures, and recorder recovery without weakening coverage gates. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Exercise custom modes, sampling, backtraces, navigation, and rendered settings. Use exhaustive field dispatch instead of duplicate mode checks and omit unreachable empty-value formatting. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
Summary
Consolidates the Rallocator v1 performance work and Seismograph snapshot/monitor improvements: medium-span caching and reclamation, eligible in-place reallocation, remote-accounting improvements, independently owned snapshot storage, and an offline snapshot viewer.
Public API changes
rallocator::tuning_telemetrybehind the existingtuning-telemetryfeature, with explicit session control and allocation-free counter observations.PeakLiveBytesScope,Stats::peak_live_bytes_scope, and optional lifetime/sample peak accessors. Rallocator reports aggregate-query sample peaks, not lifetime high-water marks.seismograph::snapshot::snapshot_collection_active(); nosnapshot_arena_active()alias is retained.seismograph view <SNAPSHOT-FILE>for read-only interactive inspection of saved captures.Existing allocator entry points and configuration remain unchanged. Eligible allocations can resize in place through the existing
GlobalAlloc::reallocinterface.Validation so far
msvc_spectre_libspackage because this machine lacks Visual Studio Spectre-mitigated CRT libraries.Draft while validation continues. The complete local
just anvil-prgate stops at the missing Spectre libraries; coverage, runtime-analysis, mutation, Linux and ARM results are not yet all confirmed. Hosted CI is the next source of actionable failures.