Commit cc4d5e4
Export per NUMA node local DRAM latency (facebookincubator#599)
Summary:
Publishes the per NUMA node latency computed in the previous commit. Adds
`KernelInfo::memLatLocalNode`, forwards it through
`KernelMonitor::sumOverHistory`, and emits `mem_lat_local_node<n>_ns`.
Three details differ from the existing per-socket latency keys, because a
socket is not a node here:
- The array is indexed by NUMA node, not socket. AMD's NPS setting splits one
socket into several nodes, so the existing `memLat*CPU[socket]` arrays
cannot represent it.
- The forwarding and accumulation loops are bounded by node count, not
`cpuSocketsInt`. Reusing the socket loops would silently carry only node 0
on a single-socket part, which is exactly the target configuration.
- Emission sits outside the `cpuSockets > 1` block. That block exists to skip
per-socket keys on single-socket hosts, but a single-socket host is precisely
where this metric is interesting.
Only nodes that actually reported a latency publish a key, so hosts that do not
compute the breakdown add no ODS keys and emission stays limited to the AMD
hosts that do.
The host-wide `memLatLocalAvg` stays 0 on AMD, matching existing behavior;
that signal already ships as `l3_to_{near,far}_dram_lat_avg_ns`.
Differential Revision: D1168372501 parent c413586 commit cc4d5e4
1 file changed
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
0 commit comments