According to a method of operating a data processing system, one or more
monitoring parameter sets are established in a processing unit within the
data processing system. The processing unit monitors, in hardware,
execution of each of a plurality of schedulable software entities within
the processing unit in accordance with a monitoring parameter set among
the one or more monitoring parameter sets. The processing unit then
reports to software executing in the data processing system utilization
of hardware resources by each of the plurality of schedulable software
entities. The hardware utilization information reported by the processing
unit may be stored and utilized by software to schedulable execution of
the schedulable software entities reported by the processing unit. The
hardware utilization information may also be utilized to generate a
classification of at least one executing schedulable software entity,
which may be communicated to the processing unit to dynamically modify an
allocation of hardware resources to the schedulable software entity.