Patent ID: 8739162

Claim:
A method for accurate measurement of utilizations in a hardware multithreaded processor core having a plurality of hardware threads, the method, comprising: determining idle time spent cycles (d 1 ), for a first hardware thread in the multithreaded processor core, which are cycles that elapse between a first time stamp that indicates a hardware thread enters an idle state and a second time stamp that indicates the hardware tread exits the idle state; determining idle cycles yielded (d 2 ) for the first hardware thread, which are cycles that the hardware thread has yielded to a sibling hardware thread in the multithreaded processor core; determining idle consumed cycles (d 3 ), for the first hardware thread, which are cycles that are consumed by the hardware thread from the idle spent cycles (d 1 ) and which are cycles defined by a difference between, the idle spent cycles (d 1 ) for the hardware thread and the idle cycles yielded (d 2 ) for the hardware thread; determining idle time spent cycles (d 1 ) for a second hardware thread in the multithreaded processor core; determining idle cycles yielded (d 2 ) for the second hardware thread in the multithreaded processor core; determining idle consumed cycles (d 3 ), for the second hardware thread in the multithreaded processor core; and determining that a utilization measurement of the multithreaded processor core is a fully utilized measurement that indicates that the multithreaded processor core is being fully utilized and determining that a utilization measurement of the first hardware thread is a non-utilized measurement that indicates that the first hardware thread is not being fully utilized if the difference between the idle time spent cycles (d 1 ) for the first hardware thread and the idle consumed cycles (d 3 ) for the first hardware thread is greater than a threshold divergence value and if the idle time spent cycles (d 1 ) for the second hardware thread is lower than a first threshold or the idle consumed cycles (d 3 ) for the second hardware thread is lower than a second threshold.