stats: Add smartvalue statistics.
Review Request #1060 - Created Feb. 22, 2012 and discarded - Latest diff uploaded
| Information | |
|---|---|
| Ali Saidi | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
stats: Add smartvalue statistics. Smartvalues are a class of statistics that have the following properties: They appear similar to other statistics; though currently only a scalar equivalent has been implemented. As with a scalar stat the base smartvalue implements/overrides the common operators ++, ++(int), inc(int) etc. As such they are as simple to scatter about the code base as statistics. SmartValues are added to a map on an owning SimObject. With access to the SimObject the smartvalue can be retrieved by name. Other classes can register as a smartvalue listener to hear a given (n-th) increment (e.g 1, 1000, 10^6). The smartvalue maintains an ordered set of attached listeners. Registering as a listener allows other simulation objects to recieve the value of the smartvalue asynchronously; their initial usage scenario will be a performance monitoring unit. We do not want to have to tick the PMU every cycle in order to capture overflow events in PMU registers.
