There are these events defined:
PMU_XP_UPLOAD_STARVATION Upload starvation. Signaled when this XP sets the H-bit, perchannel, per-direction.
PMU_XP_DOWNLOAD_STARVATION Download starvation. Signaled when this XP sets the S-bit, perchannel, per-direction.
PMU_XP_RESPIN Respin. Signaled when this XP sets the P-Cnt, per-channel, perdirection.
In the entire " ARM® CoreLink CCN-512 Cache Coherent Network Revision: r0p0 Technical Reference Manual" I see no mention on "H-bit", "S-bit" and "P-cnt" except the above.
Can you explain to me what these are?
I can collect these events but for that reason I don't know how to interpret them.
Answered in the support case - thanks!
The [p|h|s]-bits mentioned are bits that the XPs assert in internal flit headers as flits are passed around the ring. The inclusion of the bit names and "p-cnt" in the TRM are not especially helpful. Here are the PMU counter descriptions:PMU_XP_RESPIN: "Respins" occur when a destination XP cannot accept a flit from the ring, and the flit must continue around the ring until it reaches the destination XP again. This can occur for a few reasons, including contention between the two busses around the ring (i.e. there are two busses around the ring, one in each direction [two in each direction for DAT on CCN-512], and both directions are trying to deliver a flit to the same XP on the same cycle; only one can win that cycle), or contention between a flit coming from the ring and a flit coming from the "other" device on the same XP (again, only one of the two sources can win in a single cycle). PMU_XP_UPLOAD_STARVATION: The count is only incremented by the source XP for a flit, not by any XPs that are passed through. A source XP will increment the upload starvation count if the number of cycles it takes for a flit to be successfully inserted into the ring reaches the xp_aux_ctl.upload_starv_thresh value, due to ring congestion.
PMU_XP_DOWNLOAD_STARVATION: The count is only incremented by the destination XP for a flit, not by any XPs that are passed through. A destination XP will increment the download starvation count if the number of respins for a flit reaches the xp_aux_ctl.dnload_starv_thresh value.
Kind regards
Mark Brandyberry
Arm Partner Enablement Group