1*5fcccba1SGowthami Thiagarajan==================================================================== 2*5fcccba1SGowthami ThiagarajanMarvell Odyssey LLC-TAD Performance Monitoring Unit (PMU UNCORE) 3*5fcccba1SGowthami Thiagarajan==================================================================== 4*5fcccba1SGowthami Thiagarajan 5*5fcccba1SGowthami ThiagarajanEach TAD provides eight 64-bit counters for monitoring 6*5fcccba1SGowthami Thiagarajancache behavior.The driver always configures the same counter for 7*5fcccba1SGowthami Thiagarajanall the TADs. The user would end up effectively reserving one of 8*5fcccba1SGowthami Thiagarajaneight counters in every TAD to look across all TADs. 9*5fcccba1SGowthami ThiagarajanThe occurrences of events are aggregated and presented to the user 10*5fcccba1SGowthami Thiagarajanat the end of running the workload. The driver does not provide a 11*5fcccba1SGowthami Thiagarajanway for the user to partition TADs so that different TADs are used for 12*5fcccba1SGowthami Thiagarajandifferent applications. 13*5fcccba1SGowthami Thiagarajan 14*5fcccba1SGowthami ThiagarajanThe performance events reflect various internal or interface activities. 15*5fcccba1SGowthami ThiagarajanBy combining the values from multiple performance counters, cache 16*5fcccba1SGowthami Thiagarajanperformance can be measured in terms such as: cache miss rate, cache 17*5fcccba1SGowthami Thiagarajanallocations, interface retry rate, internal resource occupancy, etc. 18*5fcccba1SGowthami Thiagarajan 19*5fcccba1SGowthami ThiagarajanThe PMU driver exposes the available events and format options under sysfs:: 20*5fcccba1SGowthami Thiagarajan 21*5fcccba1SGowthami Thiagarajan /sys/bus/event_source/devices/tad/events/ 22*5fcccba1SGowthami Thiagarajan /sys/bus/event_source/devices/tad/format/ 23*5fcccba1SGowthami Thiagarajan 24*5fcccba1SGowthami ThiagarajanExamples:: 25*5fcccba1SGowthami Thiagarajan 26*5fcccba1SGowthami Thiagarajan $ perf list | grep tad 27*5fcccba1SGowthami Thiagarajan tad/tad_alloc_any/ [Kernel PMU event] 28*5fcccba1SGowthami Thiagarajan tad/tad_alloc_dtg/ [Kernel PMU event] 29*5fcccba1SGowthami Thiagarajan tad/tad_alloc_ltg/ [Kernel PMU event] 30*5fcccba1SGowthami Thiagarajan tad/tad_hit_any/ [Kernel PMU event] 31*5fcccba1SGowthami Thiagarajan tad/tad_hit_dtg/ [Kernel PMU event] 32*5fcccba1SGowthami Thiagarajan tad/tad_hit_ltg/ [Kernel PMU event] 33*5fcccba1SGowthami Thiagarajan tad/tad_req_msh_in_exlmn/ [Kernel PMU event] 34*5fcccba1SGowthami Thiagarajan tad/tad_tag_rd/ [Kernel PMU event] 35*5fcccba1SGowthami Thiagarajan tad/tad_tot_cycle/ [Kernel PMU event] 36*5fcccba1SGowthami Thiagarajan 37*5fcccba1SGowthami Thiagarajan $ perf stat -e tad_alloc_dtg,tad_alloc_ltg,tad_alloc_any,tad_hit_dtg,tad_hit_ltg,tad_hit_any,tad_tag_rd <workload> 38