ARM CCN (Cache Coherent Network) question

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.

Parents
  • 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

Reply
  • 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

Children
No data