Intel® IXP400 Software

Access-Layer Components: Performance Profiling (IxPerfProfAcc) API

4.Obtain the results by calling: ixPerfProfAccBusPmuResultsGet (&results)

5.Print the value of all the PECs:

for (i = 0; i< IX_PERFPROF_ACC_BUS_PMU_MAX_PECS ; i++)

{

printf ("\nPEC %d = upper 0x%x lower 0x%x ", i, results.statsToGetUpper32Bit[i], results.statsToGetLower27Bit[i]);

}

6.Print the total value of PECs 1-3, and PEC 7.

The upper 32 bits reflect the number of times the lower 27-bit value overflowed:

printf ("Total value of PEC1 0x%8x%8x", results.statsToGetUpper32Bit[0], results.statsToGetLower27Bit[0]);

7. Perform the same calculation for the rest of the PECs.

PEC1_total = total value of north bus idle cycles

PEC2_total = total value of north bus data write cycles

PEC3_total = total value of north bus date read cycles

PEC7_total = total value of cycles available

8.Determine the percentage of cycles that the bus was either idle or performing Data Writes/ Reads:

Percentage of idle cycles = (PEC1_total /PEC7_total) *100% Percentage of data write cycles = (PEC2_total/PEC7_total) * 100% Percentage of date read cycles = (PEC3_total/PEC7_total) * 100%

17.10.3Xcycle (Idlecycle Counter)

The Xcycle utility calculates the cycles remaining compared with the cycles available during an idle period. The user may monitor the load of their program by obtaining the percentage of idle cycles available with their program running.

The user may monitor their code/program by creating a thread that runs the code being monitored. At the same time, on a separate thread, run the Xcycle utility.

To run this utility:

1.Before creating any other threads, perform calibration and obtain the baseline (i.e. the total available cycles in the period of time specified) when there is no load:

ixPerfProfAccXcycleBaselineRun (UINT32 *numBaselineCycle)

It is the user’s responsibility to allocate the memory for the pointer before calling this function. The user may then read/print this pointer to obtain the total available cycles when there is no load on the system.

Programmer’s Guide

IXP400 Software Version 2.0

April 2005

 

Document Number: 252539, Revision: 007

263

Page 263
Image 263
Intel IXP400 manual Xcycle Idlecycle Counter, Perform the same calculation for the rest of the PECs