diff options
| author | Christian Krinitsin <mail@krinitsin.com> | 2025-07-17 09:10:43 +0200 |
|---|---|---|
| committer | Christian Krinitsin <mail@krinitsin.com> | 2025-07-17 09:10:43 +0200 |
| commit | f2ec263023649e596c5076df32c2d328bc9393d2 (patch) | |
| tree | 5dd86caab46e552bd2e62bf9c4fb1a7504a44db4 /results/scraper/fex/495 | |
| parent | 63d2e9d409831aa8582787234cae4741847504b7 (diff) | |
| download | qemu-analysis-main.tar.gz qemu-analysis-main.zip | |
Diffstat (limited to 'results/scraper/fex/495')
| -rw-r--r-- | results/scraper/fex/495 | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/results/scraper/fex/495 b/results/scraper/fex/495 new file mode 100644 index 000000000..5e7435ccc --- /dev/null +++ b/results/scraper/fex/495 @@ -0,0 +1,36 @@ +Offline Debugging & Performance Analysis tools +Following up some discussions with @Sonicadvance1 + +## Exposed via FEXLoader +### IR dumping to folder +Rationale: We need the data for offline analysis +- Add `--dump-ir=path/to/folder`? +- Save like `<block guest addr>_<block hash>` to avoid collisions +- Should dump both "IR" and "Mixed IR/Host Code" + +### Per-block support for multiblock in perf symbols +Rationale: Superblocks can have 10s of blocks, it is important to attribute runtime to the hot ones +- Export each sub-block as `<superblock main entry>-<basicblock entry>`? +- Add it as a command line option, `--perf-metadata=none|basic|detailed`? + +### `GuestOp` IR op +Rationale: We need to better track Guest - IR - Host relationships to spot optimization opportunities +- Stores Guest Address, Guest opcode and Guest disassembly, allows us to better AB between Guest and IR +- Exposed via `--ir-debug-metadata`? + +## Add Offline IR compiler +Rationale: Allow us to iterate over a specific block/superblock without having to relaunch the guest application +- Should Accept IR as dumped by FEXLoader +- Should be able to show "Mixed IR/Host Code" +- Should be able to calculate basic metrics like "Instruction Blowup" and "Code Size Blowup" + +## Tighter perf integration / Perf Explorer +Rationale: We tooling to help us find optimization opportunities and slowdowns, and to also test the "simulated" effects of WIP optimizations +- Show perf data scaled by blowup or other metrics +- Be able to take a perf trace + ir dump and calculate metrics like "average executed code per trace", and also break down by category like "memory", "vector" etc + +--- + +I'd use these as command line utilities in an offline fashion myself. + +@Sonicadvance1 @phire, thoughts? \ No newline at end of file |