I've already done the replacement and I'm currently regenerating all
stats :)  I've just posted a diff to reviewboard.  Please check it
out.

  Nate

> 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
>
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to