Skip to content

Commit 694247b

Browse files
abhiShedgefacebook-github-bot
authored andcommitted
Export per NUMA node local DRAM latency
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: D116837250
1 parent 0056482 commit 694247b

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

dynolog/src/Types.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include <cstdint>
1313

1414
#define MAX_CPU_SOCKETS 8
15+
#define MAX_NUMA_NODES 2
1516

1617
namespace dynolog {
1718

0 commit comments

Comments
 (0)