Collect warmup trace (using L0_filter) followed by a full instruction trace
Add a pointer to any prior users list discussion. https://groups.google.com/g/dynamorio-users/c/fn6LBUxTd2o/m/aevZa4ZRAAAJ
Is your feature request related to a problem? Please describe. It might be useful to have a "pre-trace" that can be used to warm up large caches before we start simulating instruction traces.
Describe the solution you'd like
We can have an "L0 warmup" phase just like how we have a fast forward phase (-trace_after_instrs
) currently. During this phase, the L0_filter would be active. Once we reach the specified instruction count, we would switch to the regular trace instrumentation.
An example run might look something like this:
drrun -t drcachesim -trace_after_instrs 1000M -L0_warmup_refs 1M --offline -- ../app
Do you have any implementation in mind for this feature? This could be implemented with an approach similar to the 'trace_after_instrs' feature. We start off with the L0_filter instrumentation and then flush the code cache and enable regular trace instrumentation when the switching criteria is reached.
Describe alternatives you've considered We could just collect a really long trace but that might have higher tracing overhead, higher disk usage etc. We could use DrBBDup (#4134 (closed)) but there are some TODOs still open for this feature.
Additional context