The python stats stuff exposes all stats as python variables. (Making scripting far easier).
While I can support stat names that are not valid python expressions, stuff works far better if stats names are valid python expressions. We have a few options, listed in my (rapidly) decreasing order of preference. 1) Require that all stats names are valid python expressions and panic if one is not. 2) Replace invalid characters on the python side (Mostly colon and dash) with something to kludge it (this is not so hard, but seems less than ideal). 3) Give up. :) I've pasted the various stats names below. (Many of them hang off a system or a cpu, but I removed the prefix to reduce duplicates). Here are all of the renames that would have to happen (they are generally trivial). 1) s/COM:// 2) s/ISSUE:// 3) s/RENAME:// 4) s/PROG:// 5) s/iew.EXEC:/iew.exec_/ 6) s/iew.WB:/iew.wb_/ 7) My guess is that occ_% is just a bug and it was supposed to be a %s or something. 8) All of the ones that look like AGEN-Unit or Branch-Predictor shoudl just be renamed to agen_unit and branch_predictor. 9) stage-0, stage-1, etc. becomes stage0, stage1, ... What do you guys think? They are mostly stats that I would guess are rarely used. Nate AGEN-Unit.agens Branch-Predictor.BTBHitPct Branch-Predictor.BTBHits Branch-Predictor.BTBLookups Branch-Predictor.RASInCorrect Branch-Predictor.condIncorrect Branch-Predictor.condPredicted Branch-Predictor.lookups Branch-Predictor.predictedNotTaken Branch-Predictor.predictedTaken Branch-Predictor.usedRAS Execution-Unit.executions Execution-Unit.mispredictPct Execution-Unit.mispredicted Execution-Unit.predicted Execution-Unit.predictedNotTakenIncorrect Execution-Unit.predictedTakenIncorrect Fetch-Buffer-T0.instsBypassed Fetch-Buffer-T1.instsBypassed Mult-Div-Unit.divides Mult-Div-Unit.multiplies RegFile-Manager.regFileAccesses RegFile-Manager.regFileReads RegFile-Manager.regFileWrites RegFile-Manager.regForwards RegFile-Manager.uniqueRegsPerSwitch commit.COM:branches commit.COM:bw_lim_events commit.COM:bw_limited commit.COM:committed_per_cycle commit.COM:count commit.COM:fp_insts commit.COM:function_calls commit.COM:int_insts commit.COM:loads commit.COM:membars commit.COM:refs commit.COM:swp_count dcache.occ_% decode.DECODE:BlockedCycles decode.DECODE:BranchMispred decode.DECODE:BranchResolved decode.DECODE:ControlMispred decode.DECODE:DecodedInsts decode.DECODE:IdleCycles decode.DECODE:RunCycles decode.DECODE:SquashCycles decode.DECODE:SquashedInsts decode.DECODE:UnblockCycles dtb_walker_cache.occ_% icache.occ_% iew.EXEC:branches iew.EXEC:nop iew.EXEC:rate iew.EXEC:refs iew.EXEC:stores iew.EXEC:swp iew.WB:consumers iew.WB:count iew.WB:fanout iew.WB:penalized iew.WB:penalized_rate iew.WB:producers iew.WB:rate iew.WB:sent iocache.occ_% iq.ISSUE:FU_type iq.ISSUE:fu_busy_cnt iq.ISSUE:fu_busy_rate iq.ISSUE:fu_full iq.ISSUE:issued_per_cycle iq.ISSUE:rate itb_walker_cache.occ_% l1c.occ_% l2c.occ_% l2cache.occ_% rename.RENAME:BlockCycles rename.RENAME:CommittedMaps rename.RENAME:FullRegisterEvents rename.RENAME:IQFullEvents rename.RENAME:IdleCycles rename.RENAME:LSQFullEvents rename.RENAME:ROBFullEvents rename.RENAME:RenameLookups rename.RENAME:RenamedInsts rename.RENAME:RenamedOperands rename.RENAME:RunCycles rename.RENAME:SquashCycles rename.RENAME:SquashedInsts rename.RENAME:UnblockCycles rename.RENAME:UndoneMaps rename.RENAME:fp_rename_lookups rename.RENAME:int_rename_lookups rename.RENAME:serializeStallCycles rename.RENAME:serializingInsts rename.RENAME:skidInsts rename.RENAME:tempSerializingInsts stage-0.idleCycles stage-0.runCycles stage-0.utilization stage-1.idleCycles stage-1.runCycles stage-1.utilization stage-2.idleCycles stage-2.runCycles stage-2.utilization stage-3.idleCycles stage-3.runCycles stage-3.utilization stage-4.idleCycles stage-4.runCycles stage-4.utilization workload.PROG:num_syscalls workload0.PROG:num_syscalls workload1.PROG:num_syscalls _______________________________________________ m5-dev mailing list m5-dev@m5sim.org http://m5sim.org/mailman/listinfo/m5-dev