I'd vote for (1) and just do the replacement commands you suggest.

The capitalisation wont work for the inorder model stats since they
all call the "name()" operator as prefix for their stats, but those
names are easily updated in src/cpu/inorder/resource_pool.cc

Also, the name for the stages can be fixed in the name() function
inorder/pipeline_stage.cc.
(oh yea, I should be using csprintf() for these name functions... I know I know)

On Tue, Apr 19, 2011 at 1:53 PM, nathan binkert <n...@binkert.org> wrote:
> 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
>



-- 
- Korey
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to