fix(valgrind): tie --separate-threads to subprocess tracking - #510
Draft
not-matthias wants to merge 1 commit into
Draft
fix(valgrind): tie --separate-threads to subprocess tracking#510not-matthias wants to merge 1 commit into
not-matthias wants to merge 1 commit into
Conversation
Thread separation was keyed on --cycle-estimation, which controls how event costs are computed, not how they are partitioned. Per-thread dumps only matter when instrumentation is inherited across a traced exec, so key the option on the subprocess-tracking flag instead and set it explicitly in both branches.
Merging this PR will not alter performance
|
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.
--separate-threadswas keyed on--cycle-estimation, which is unrelated: cycle estimation changes how event costs are computed, not how they are partitioned across threads. As a side effect, turning cycle estimation off silently also merged thread data, and turning it on split it.Per-thread dumps only matter when instrumentation is inherited across a traced exec (
--instr-atstart=inherit), so the option now followssimulation_track_subprocessand is set explicitly in both branches:--instr-atstart=inherit --separate-threads=yes--instr-atstart=no --separate-threads=no(valgrind's default, so no behavior change for existing runs)The flag now sits in the tool-agnostic branch rather than the callgrind arm. That is safe: tracegrind is a fork of callgrind and accepts
--separate-threadsin its own option parser, same as callgrind.