DynamoRIO / DynamoRIO/dynamorio

Inaccurate Cache Miss Analysis when dumping prefetching hints for multi-process applications in online mode

Open
#6,905 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

In the current approach, when dumping prefetching hints for multi-process applications in online mode, it considers all cache misses caused by the same PC across different PIDs. These cache misses could also be spread across page tables maintained by multiple processes. This could potentially lead to incorrect stride calculations and misleading analysis results.

**reproduce the behavior:**
```
bin64/drrun -t drmemtrace -tool miss_analyzer -LL_miss_file rec.csv -- gimp
```
In this scenario, GIMP operates as a multi-process program and actual executions can record different PIDs in `memref`. However, the function `dynamorio::drmemtrace::cache_miss_stats_t::dump_miss()` only retains the PC and address information and does not take into account the presence of multiple PIDs.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.