文件最后提交记录最后更新时间
i#4103 clang-tidy: Clean up headers to include what is used (#6257) Updates many drcachesim files to include what is used. This is to address clang-tidy warnings seen when we import the files into our environment. Issue: #41032 年前
i#5694: Add core-oriented analysis tool support (#6279) Adds a new type of sharding for drmemtrace analysis tools: by core instead of by thread. Introduces a shard_type_t enum (SHARD_BY_THREAD and SHARD_BY_CORE) passed to a new analysis_tool_t::initialize_shard_type() function to inform tools of the shard type (this cannot be easily added to the stream interface as the scheduler is not aware of the shard type). Adds a new memtrace_stream_t::get_output_cpuid() query to get the output cpu ordinal, or for replaying as-traced the original traced cpuid (#6262). Implements this for the scheduler. This addresses #6262. Generalizes analyzer_t to take in scheduler options for SHARD_BY_CORE to support analysis tools using the full range of schedules. In this mode, the core count is the worker count. Updates the shard index to be the core ordinal. Adds time-based scheduling support with analyzer_t using wall-clock time as the current time. Adds a number of options to set sharding mode (-core_sharding, -core_serial (not yet implemented)) and control the schedule (-sched_quantum, -sched_time, sched_order_time, -record_file, -replay_file, -cpu_schedule_file). Updates the basic_counts tool to support core sharding. Adds a new test core_sharded_test which leverages the analyzer_multi and option parsing to test the top-level options within a framework that can capture the output and run multiple tests sequentially in a simpler framework than having a separate test with an output file for each parameter being tested. Left as future work: + Convert scheduler_launcher into a new schedule_stats tool + Add a new record to indicate STATUS_WAIT + Add -core_serial support + Convert drcachesim default and -cpu_scheduling to use get_output_cpuid() Issue: #5694, #6262 Fixes #62622 年前
i#5694: Add core-oriented analysis tool support (#6279) Adds a new type of sharding for drmemtrace analysis tools: by core instead of by thread. Introduces a shard_type_t enum (SHARD_BY_THREAD and SHARD_BY_CORE) passed to a new analysis_tool_t::initialize_shard_type() function to inform tools of the shard type (this cannot be easily added to the stream interface as the scheduler is not aware of the shard type). Adds a new memtrace_stream_t::get_output_cpuid() query to get the output cpu ordinal, or for replaying as-traced the original traced cpuid (#6262). Implements this for the scheduler. This addresses #6262. Generalizes analyzer_t to take in scheduler options for SHARD_BY_CORE to support analysis tools using the full range of schedules. In this mode, the core count is the worker count. Updates the shard index to be the core ordinal. Adds time-based scheduling support with analyzer_t using wall-clock time as the current time. Adds a number of options to set sharding mode (-core_sharding, -core_serial (not yet implemented)) and control the schedule (-sched_quantum, -sched_time, sched_order_time, -record_file, -replay_file, -cpu_schedule_file). Updates the basic_counts tool to support core sharding. Adds a new test core_sharded_test which leverages the analyzer_multi and option parsing to test the top-level options within a framework that can capture the output and run multiple tests sequentially in a simpler framework than having a separate test with an output file for each parameter being tested. Left as future work: + Convert scheduler_launcher into a new schedule_stats tool + Add a new record to indicate STATUS_WAIT + Add -core_serial support + Convert drcachesim default and -cpu_scheduling to use get_output_cpuid() Issue: #5694, #6262 Fixes #62622 年前
i#4343: Add dynamorio::drmemtrace namespace to all drcachesim/ code (#6169) Adds the dynamorio::drmemtrace namespace to all drcachesim/ code. It was already present on newer code. This breaks compatibility and external code using these files will need to be updated and recompiled. Shifts suite/tests/rseq.c to be C++ code so it can continue to test drmemtrace_client_main() which is now inside the namespace. Fixes #43432 年前
i#4103 clang-tidy: Clean up headers to include what is used (#6257) Updates many drcachesim files to include what is used. This is to address clang-tidy warnings seen when we import the files into our environment. Issue: #41032 年前
i#4103 clang-tidy: Clean up headers to include what is used (#6257) Updates many drcachesim files to include what is used. This is to address clang-tidy warnings seen when we import the files into our environment. Issue: #41032 年前
i#4343: Add dynamorio::drmemtrace namespace to all drcachesim/ code (#6169) Adds the dynamorio::drmemtrace namespace to all drcachesim/ code. It was already present on newer code. This breaks compatibility and external code using these files will need to be updated and recompiled. Shifts suite/tests/rseq.c to be C++ code so it can continue to test drmemtrace_client_main() which is now inside the namespace. Fixes #43432 年前
i#4103 clang-tidy: Clean up headers to include what is used (#6257) Updates many drcachesim files to include what is used. This is to address clang-tidy warnings seen when we import the files into our environment. Issue: #41032 年前
i#4103 clang-tidy: Clean up headers to include what is used (#6257) Updates many drcachesim files to include what is used. This is to address clang-tidy warnings seen when we import the files into our environment. Issue: #41032 年前
i#4343: Add dynamorio::drmemtrace namespace to all drcachesim/ code (#6169) Adds the dynamorio::drmemtrace namespace to all drcachesim/ code. It was already present on newer code. This breaks compatibility and external code using these files will need to be updated and recompiled. Shifts suite/tests/rseq.c to be C++ code so it can continue to test drmemtrace_client_main() which is now inside the namespace. Fixes #43432 年前
i#4343 namespace: Add namespaces to droption (#6193) Places droption under dynamorio::droption. This is a breaking change and users will have to recompile. Updates all uses within the repository. Fixes #43432 年前
i#6289: Add timestamps at buffer end and around syscalls (#6290) Adds a timestamp+cpuid pair at the end of normal buffers, to help separate trace output i/o time. Adds a timestamp+cpuid pair before and after each application syscall. It appears around the syscall marker. The trace buffer is no longer output pre-syscall (this addresses #3113) except for i-filtered traces or small-window traces where we need a frequent trace size check. Adds a timestamp+cpuid pair when a kernel transfer event occurs. The trace buffer is no longer output here. Fixes the existing behavior where the post-syscall-buffer's timestamp contains the pre-syscall time. Bumps the trace version for this change as the contents of post-syscall timestamps are now different. Augments the documentation around timestamps and adds a missing entry on syscall markers. Adds some invariant checks, and improve existing syscall marker checks. Further checks are more difficult as the post-syscall time is not present when there is no post-syscall event, such as with exit or sigreturn. Did some manual testing with the view tool. Applies several auxiliary changes required to get all modes to work with these additional timestamps: + Removes the timestamp+cpuid from the split-pipe header, as that timestamp is delayed by i/o and results in misleading out-of-order timestamps. + Prevents pipe-splitting before a cpuid, to avoid a confusing sequence. + Fixes a bug where a syscall marker is missing when the prior block wrote out its buffer (#6291). + Fixes #6245 by re-instating the footer for non-split window files and removing the template .* from PR #6165 which was hiding the warning (this one could possibly be split into its own PR). + Adjusts the PC discontinuity relaxation for online unfetched instrs (#4915) to check the size now that there's no timestamp. Issue: #4915 Fixes #6289 Fixes #3113 Fixes #6291 Fixes #62452 年前
i#6289: Add timestamps at buffer end and around syscalls (#6290) Adds a timestamp+cpuid pair at the end of normal buffers, to help separate trace output i/o time. Adds a timestamp+cpuid pair before and after each application syscall. It appears around the syscall marker. The trace buffer is no longer output pre-syscall (this addresses #3113) except for i-filtered traces or small-window traces where we need a frequent trace size check. Adds a timestamp+cpuid pair when a kernel transfer event occurs. The trace buffer is no longer output here. Fixes the existing behavior where the post-syscall-buffer's timestamp contains the pre-syscall time. Bumps the trace version for this change as the contents of post-syscall timestamps are now different. Augments the documentation around timestamps and adds a missing entry on syscall markers. Adds some invariant checks, and improve existing syscall marker checks. Further checks are more difficult as the post-syscall time is not present when there is no post-syscall event, such as with exit or sigreturn. Did some manual testing with the view tool. Applies several auxiliary changes required to get all modes to work with these additional timestamps: + Removes the timestamp+cpuid from the split-pipe header, as that timestamp is delayed by i/o and results in misleading out-of-order timestamps. + Prevents pipe-splitting before a cpuid, to avoid a confusing sequence. + Fixes a bug where a syscall marker is missing when the prior block wrote out its buffer (#6291). + Fixes #6245 by re-instating the footer for non-split window files and removing the template .* from PR #6165 which was hiding the warning (this one could possibly be split into its own PR). + Adjusts the PC discontinuity relaxation for online unfetched instrs (#4915) to check the size now that there's no timestamp. Issue: #4915 Fixes #6289 Fixes #3113 Fixes #6291 Fixes #62452 年前
i#4343: Add dynamorio::drmemtrace namespace to all drcachesim/ code (#6169) Adds the dynamorio::drmemtrace namespace to all drcachesim/ code. It was already present on newer code. This breaks compatibility and external code using these files will need to be updated and recompiled. Shifts suite/tests/rseq.c to be C++ code so it can continue to test drmemtrace_client_main() which is now inside the namespace. Fixes #43432 年前
i#4103 clang-tidy: Clean up headers to include what is used (#6257) Updates many drcachesim files to include what is used. This is to address clang-tidy warnings seen when we import the files into our environment. Issue: #41032 年前
i#4103 clang-tidy: Clean up headers to include what is used (#6257) Updates many drcachesim files to include what is used. This is to address clang-tidy warnings seen when we import the files into our environment. Issue: #41032 年前
i#4343: Add dynamorio::drmemtrace namespace to all drcachesim/ code (#6169) Adds the dynamorio::drmemtrace namespace to all drcachesim/ code. It was already present on newer code. This breaks compatibility and external code using these files will need to be updated and recompiled. Shifts suite/tests/rseq.c to be C++ code so it can continue to test drmemtrace_client_main() which is now inside the namespace. Fixes #43432 年前
i#4343 namespace: Add namespaces to droption (#6193) Places droption under dynamorio::droption. This is a breaking change and users will have to recompile. Updates all uses within the repository. Fixes #43432 年前
i#4343 namespace: Add namespaces to droption (#6193) Places droption under dynamorio::droption. This is a breaking change and users will have to recompile. Updates all uses within the repository. Fixes #43432 年前
i#4103 clang-tidy: Clean up headers to include what is used (#6257) Updates many drcachesim files to include what is used. This is to address clang-tidy warnings seen when we import the files into our environment. Issue: #41032 年前
i#4103 clang-tidy: Clean up headers to include what is used (#6257) Updates many drcachesim files to include what is used. This is to address clang-tidy warnings seen when we import the files into our environment. Issue: #41032 年前
i#4343: Add dynamorio::drmemtrace namespace to all drcachesim/ code (#6169) Adds the dynamorio::drmemtrace namespace to all drcachesim/ code. It was already present on newer code. This breaks compatibility and external code using these files will need to be updated and recompiled. Shifts suite/tests/rseq.c to be C++ code so it can continue to test drmemtrace_client_main() which is now inside the namespace. Fixes #43432 年前
i#4103 clang-tidy: Clean up headers to include what is used (#6257) Updates many drcachesim files to include what is used. This is to address clang-tidy warnings seen when we import the files into our environment. Issue: #41032 年前
i#4103 clang-tidy: Clean up headers to include what is used (#6257) Updates many drcachesim files to include what is used. This is to address clang-tidy warnings seen when we import the files into our environment. Issue: #41032 年前
i#4343: Add dynamorio::drmemtrace namespace to all drcachesim/ code (#6169) Adds the dynamorio::drmemtrace namespace to all drcachesim/ code. It was already present on newer code. This breaks compatibility and external code using these files will need to be updated and recompiled. Shifts suite/tests/rseq.c to be C++ code so it can continue to test drmemtrace_client_main() which is now inside the namespace. Fixes #43432 年前
i#4103 clang-tidy: Clean up headers to include what is used (#6257) Updates many drcachesim files to include what is used. This is to address clang-tidy warnings seen when we import the files into our environment. Issue: #41032 年前
i#4103 clang-tidy: Clean up headers to include what is used (#6257) Updates many drcachesim files to include what is used. This is to address clang-tidy warnings seen when we import the files into our environment. Issue: #41032 年前
i#4343: Add dynamorio::drmemtrace namespace to all drcachesim/ code (#6169) Adds the dynamorio::drmemtrace namespace to all drcachesim/ code. It was already present on newer code. This breaks compatibility and external code using these files will need to be updated and recompiled. Shifts suite/tests/rseq.c to be C++ code so it can continue to test drmemtrace_client_main() which is now inside the namespace. Fixes #43432 年前
i#4103 clang-tidy: Clean up headers to include what is used (#6257) Updates many drcachesim files to include what is used. This is to address clang-tidy warnings seen when we import the files into our environment. Issue: #41032 年前
i#4103 clang-tidy: Clean up headers to include what is used (#6257) Updates many drcachesim files to include what is used. This is to address clang-tidy warnings seen when we import the files into our environment. Issue: #41032 年前
i#4343: Add dynamorio::drmemtrace namespace to all drcachesim/ code (#6169) Adds the dynamorio::drmemtrace namespace to all drcachesim/ code. It was already present on newer code. This breaks compatibility and external code using these files will need to be updated and recompiled. Shifts suite/tests/rseq.c to be C++ code so it can continue to test drmemtrace_client_main() which is now inside the namespace. Fixes #43432 年前