Open
Conversation
Add logs for initializing a RunTest object (which leads to wildcard expansion) and for creating a build mode object. For large regression runs, this tells us what DVSim is doing with debug logs when it is spending a long time creating these objects (due to many duplicate seeds). Signed-off-by: Alex Jones <alex.jones@lowrisc.org>
Collaborator
|
Yes the wildcard evaluation is not very efficient at all: #35 I think it would be useful to update the HJSON schema so it's clearer which attributes are "variables" to be used in substitutions and which are attributes required by DVSim. While doing that resolve the name clashes so that default values can be evaluated later. |
machshev
approved these changes
Feb 16, 2026
Collaborator
machshev
left a comment
There was a problem hiding this comment.
LGTM! debug is probably the right level... in Rust I'd probably suggest trace for this. But we don't have that in our logger.
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.
If I run a large amount of sim jobs (e.g. OpenTitan Earlgrey nightly regression), then even with verbose logs it spends a few minutes with no output on my machine. This PR adds some more debug logs so that we know what DVSim is doing during this time. I am note sure if
DEBUGis appropriate or ifVERBOSEis more appropriate here - it is not clear where the line should lie, so please do give any opinions.Aside: it turns out the large runtime is because DVSim generates a new deploy object for each seed and individually runs wildcard processing for each seed, which was giving me ~15 million wildcard expansions for the nightly! I am not sure if this is a required feature because we need seeds to be usable in the wildcards, but even if so, it could be much more efficient to do all non-seed expansion first and then share the result for each seed/deploy. But this probably requires a larger refactor of how DVSim handles cfgs in general...