summaryrefslogtreecommitdiff
path: root/dev/ide_disk.cc
diff options
context:
space:
mode:
authorKevin Lim <ktlim@umich.edu>2006-08-24 17:51:35 -0400
committerKevin Lim <ktlim@umich.edu>2006-08-24 17:51:35 -0400
commit9ef831eeefb691eb73531471f7c04bca286f464a (patch)
tree2e55ca998a1d8387d29e12254b41d233cea63bc4 /dev/ide_disk.cc
parentf9f2f8fbd0bbe3fc7b81a24ea0f628fbce37ef39 (diff)
downloadgem5-9ef831eeefb691eb73531471f7c04bca286f464a.tar.xz
Stats updates.
dev/ide_disk.cc: dev/ide_disk.hh: Add in stats. sim/stat_control.cc: sim/stat_control.hh: Allow setup event to be called with a specific queue. --HG-- extra : convert_revision : 9310b132b70f967a198cb2e646433f3a5332671e
Diffstat (limited to 'dev/ide_disk.cc')
-rw-r--r--dev/ide_disk.cc33
1 files changed, 33 insertions, 0 deletions
diff --git a/dev/ide_disk.cc b/dev/ide_disk.cc
index c13556ed6..701d3bf7d 100644
--- a/dev/ide_disk.cc
+++ b/dev/ide_disk.cc
@@ -406,6 +406,39 @@ IdeDisk::regStats()
.name(name() + ".dma_write_txs")
.desc("Number of DMA write transactions.")
;
+
+ rdBandwidth
+ .name(name() + ".rdBandwidth")
+ .desc("Read Bandwidth (bits/s)")
+ .precision(0)
+ .prereq(dmaReadBytes)
+ ;
+
+ wrBandwidth
+ .name(name() + ".wrBandwidth")
+ .desc("Write Bandwidth (bits/s)")
+ .precision(0)
+ .prereq(dmaWriteBytes)
+ ;
+
+ totBandwidth
+ .name(name() + ".totBandwidth")
+ .desc("Total Bandwidth (bits/s)")
+ .precision(0)
+ .prereq(totBytes)
+ ;
+
+ totBytes
+ .name(name() + ".totBytes")
+ .desc("Total Bytes")
+ .precision(0)
+ .prereq(totBytes)
+ ;
+
+ rdBandwidth = dmaReadBytes * Stats::constant(8) / simSeconds;
+ wrBandwidth = dmaWriteBytes * Stats::constant(8) / simSeconds;
+ totBandwidth = rdBandwidth + wrBandwidth;
+ totBytes = dmaReadBytes + dmaWriteBytes;
}
void