Commit f8c1de4
committed
erts: Make trace:info not block schedulers for call_time/memory
Instead use this strategy
0. Seize code mod permission (as before)
1. Allocate temporary zeroed hashes for any traced calls that may happen
during the call to trace:info.
2. Thread progress
3. Switch bp index to make the temp hashes active.
4. Thread progress.
5. Collect stats from the real hashes that are now unused and stable.
6. Switch back bp index to make the real hashes active again.
7. Thread progress.
8. Consolidate by collecting stats from the temp hashes into the
active generation.
9. Deallocate the temp hashes and make the two halves of the breakpoint
identical again using the same real hashes.
10. Build result from stats collected in step 5
11. Release code mod permission1 parent 4faf17d commit f8c1de4
7 files changed
Lines changed: 799 additions & 154 deletions
File tree
- erts/emulator
- beam
- test
- sverk_tests/test_server
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
744 | 744 | | |
745 | 745 | | |
746 | 746 | | |
| 747 | + | |
747 | 748 | | |
748 | 749 | | |
749 | 750 | | |
| |||
0 commit comments