ARM-software / gator

Sources for Arm Streamline's gator daemon, part of Arm Mobile Studio suite of performance analysis tools
https://www.arm.com/products/development-tools/graphics/arm-mobile-studio
133 stars 70 forks source link

CPU Clock: Frequency is not work. #29

Closed haruzheng closed 7 months ago

haruzheng commented 2 years ago

Hi

Clock: Frequency event is exists, but read function just call once each cpus. So in streamline can't showable Clock: Frequency.

I used gator 7.7 + streamline 7.7. My CPU is A53 or A55, in ARM32.

Thx

bengaineyarm commented 2 years ago

Hi @haruzheng - The clock frequency read function is only called once to collect the starting value of the clock, but then any later changes should be collected as PERF_TYPE_TRACEPOINT events.

Can you describe the problem you are seeing? Is it that the clock charts show a flat line (no change in frequency)? We have seen one Android phone recently where the clock frequency event never produces any perf events and the capture shows flat line for clock frequency.

Can you tell some details about the hardware / software that is experiencing this issue? If you are an Arm customer you may prefer to provide such details via a support case in Arm's support portal. If you do, can you please provide logs (gatord -d) and an export of the failing capture.

Please also try updating to the latest version of Streamline. Currently Streamline 7.8 is the latest version, and 7.9 is soon to be released.

haruzheng commented 2 years ago

Hi @bengaineyarm

Yes, we save file. it is a flat line. and i used printf in read func, it is troggle once.

# ./gatord -d
[8463.5686184] ERROR: parseCLIArguments(GatorCLIParser.cpp:325): Streamline gatord version 770 (Streamline v7.7)
[8463.5744536] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-M3" id="ARMv7M_Cortex_M3" counter_set="DWT" cpuid="0x41c23" pmnc_counters="6" />
[8463.5746933] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-M4" id="ARMv7M_Cortex_M4" counter_set="DWT" cpuid="0x41c24" pmnc_counters="6" />
[8463.5748323] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-M7" id="ARMv7M_Cortex_M7" counter_set="DWT" cpuid="0x41c27" pmnc_counters="6" />
[8463.5749538] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-M33" id="ARMv8M_Cortex_M33" counter_set="DWT" cpuid="0x41d21" pmnc_counters="6" />
[8463.5750648] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-M55" id="ARMv8M_Cortex_M55" counter_set="DWT" cpuid="0x41d22" pmnc_counters="6" />
[8463.5752406] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-R4" id="ARMv7R_Cortex_R4" counter_set="ARMv7R_Cortex_R4" cpuid="0x41c14" pmnc_counters="3" />
[8463.5753570] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-R5" id="ARMv7R_Cortex_R5" counter_set="ARMv7R_Cortex_R5" cpuid="0x41c15" pmnc_counters="3" />
[8463.5754751] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-R7" id="ARMv7R_Cortex_R7" counter_set="ARMv7R_Cortex_R7" cpuid="0x41c17" pmnc_counters="8" />
[8463.5755849] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-R8" id="ARMv7R_Cortex_R8" counter_set="ARMv7R_Cortex_R8" cpuid="0x41c18" pmnc_counters="8" />
[8463.5757221] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-R52" id="ARMv8R_Cortex_R52" counter_set="ARMv8R_Cortex_R52" cpuid="0x41d13" pmnc_counters="4" />
[8463.5758375] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-R82" id="ARMv8R_Cortex_R82" counter_set="ARMv8R_Cortex_R82" cpuid="0x41d15" pmnc_counters="6" />
[8463.5759475] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="ARM1136" id="ARMv6_1136" counter_set="ARM_ARM11" cpuid="0x41b36" pmnc_counters="3" />
[8463.5763809] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="ARM1156" id="ARMv6_1156" counter_set="ARM_ARM11" cpuid="0x41b56" pmnc_counters="3" />
[8463.5764574] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="ARM1176" id="ARMv6_1176" counter_set="ARM_ARM11" cpuid="0x41b76" pmnc_counters="3" />
[8463.5765271] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="ARM11MPCore" id="ARMv6_11mpcore" counter_set="ARM_ARM11MPCore" cpuid="0x41b02" pmnc_counters="3" />
[8463.5765978] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A5" id="ARMv7_Cortex_A5" counter_set="ARMv7_Cortex_A5" cpuid="0x41c05" pmnc_counters="2" />
[8463.5766637] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A7" id="ARMv7_Cortex_A7" counter_set="ARMv7_Cortex_A7" cpuid="0x41c07" pmnc_counters="4" />
[8463.5767560] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A8" id="ARMv7_Cortex_A8" counter_set="ARMv7_Cortex_A8" cpuid="0x41c08" pmnc_counters="4" />
[8463.5768279] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A9" id="ARMv7_Cortex_A9" counter_set="ARMv7_Cortex_A9" cpuid="0x41c09" pmnc_counters="6" />
[8463.5768933] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A15" id="ARMv7_Cortex_A15" counter_set="ARMv7_Cortex_A15" cpuid="0x41c0f" pmnc_counters="6" />
[8463.5769538] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A17" id="ARMv7_Cortex_A12" counter_set="ARMv7_Cortex_A17" cpuid="0x41c0d" pmnc_counters="6" />
[8463.5770300] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A17" id="ARMv7_Cortex_A17" counter_set="ARMv7_Cortex_A17" cpuid="0x41c0e" pmnc_counters="6" />
[8463.5770903] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A32" id="ARMv8_Cortex_A32" counter_set="ARMv8_Cortex_A32" cpuid="0x41d01" pmnc_counters="6" />
[8463.5771647] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A34" id="ARMv8_Cortex_A34" counter_set="ARMv8_Cortex_A34" cpuid="0x41d02" pmnc_counters="6" />
[8463.5772324] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A35" id="ARMv8_Cortex_A35" counter_set="ARMv8_Cortex_A35" cpuid="0x41d04" pmnc_counters="6" />
[8463.5772985] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A53" id="ARMv8_Cortex_A53" counter_set="ARMv8_Cortex_A53" cpuid="0x41d03" pmnc_counters="6" />
[8463.5773708] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A55" id="ARMv8_Cortex_A55" counter_set="ARMv8_Cortex_A55" cpuid="0x41d05" pmnc_counters="6" />
[8463.5774665] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A57" id="ARMv8_Cortex_A57" counter_set="ARMv8_Cortex_A57" cpuid="0x41d07" pmnc_counters="6" />
[8463.5775380] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A72" id="ARMv8_Cortex_A72" counter_set="ARMv8_Cortex_A72" cpuid="0x41d08" pmnc_counters="6" />
[8463.5776066] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A73" id="ARMv8_Cortex_A73" counter_set="ARMv8_Cortex_A73" cpuid="0x41d09" pmnc_counters="6" />
[8463.5776833] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A75" id="ARMv8_Cortex_A75" counter_set="ARMv8_Cortex_A75" cpuid="0x41d0a" pmnc_counters="6" />
[8463.5777543] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A76" id="ARMv8_Cortex_A76" counter_set="ARMv8_Cortex_A76" cpuid="0x41d0b" pmnc_counters="6" />
[8463.5778233] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A77" id="ARMv8_Cortex_A77" counter_set="ARMv8_Cortex_A77" cpuid="0x41d0d" pmnc_counters="6" />
[8463.5779472] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A78" id="ARMv8_Cortex_A78" counter_set="ARMv8_Cortex_A78" cpuid="0x41d41" pmnc_counters="6" />
[8463.5780180] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A65AE" id="ARMv8_Cortex_A65AE" counter_set="ARMv8_Cortex_A65AE" cpuid="0x41d43" pmnc_counters="6" />
[8463.5780881] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A65" id="ARMv8_Cortex_A65" counter_set="ARMv8_Cortex_A65AE" cpuid="0x41d06" pmnc_counters="6" />
[8463.5781553] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A76AE" id="ARMv8_Cortex_A76AE" counter_set="ARMv8_Cortex_A76" cpuid="0x41d0e" pmnc_counters="6" />
[8463.5782223] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A78AE" id="ARMv8_Cortex_A78AE" counter_set="ARMv8_Cortex_A78" cpuid="0x41d42" pmnc_counters="6" />
[8463.5782890] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-A78C" id="ARMv8_Cortex_A78C" counter_set="ARMv8_Cortex_A78" cpuid="0x41d4b" pmnc_counters="6" />
[8463.5783556] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Neoverse-E1" id="ARMv8_Neoverse_E1" counter_set="ARMv8_Neoverse_E1" cpuid="0x41d4a" pmnc_counters="6" />
[8463.5784214] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Neoverse-N1" id="ARMv8_Neoverse_N1" counter_set="ARMv8_Neoverse_N1" cpuid="0x41d0c" pmnc_counters="6" />
[8463.5784955] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Neoverse-N2" id="ARMv8_Neoverse_N2" counter_set="ARMv8_Neoverse_N2" cpuid="0x41d49" pmnc_counters="6" />
[8463.5785623] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Neoverse-V1" id="ARMv8_Neoverse_V1" counter_set="ARMv8_Neoverse_V1" cpuid="0x41d40" pmnc_counters="6" />
[8463.5786292] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Cortex-X1" id="ARMv8_Cortex_X1" counter_set="ARMv8_Cortex_X1" cpuid="0x41d44" pmnc_counters="6" />
[8463.5786947] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="STAR" id="ARMv8M_STAR" counter_set="DWT" cpuid="0x63132" pmnc_counters="6" />
[8463.5787578] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Scorpion" id="ARMv7_Scorpion" counter_set="Scorpion" cpuid="0x5100f" pmnc_counters="4" />
[8463.5788209] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="ScorpionMP" id="ARMv7_Scorpion_MP" counter_set="ScorpionMP" cpuid="0x5102d" pmnc_counters="4" />
[8463.5788897] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Krait" id="ARMv7_Krait" counter_set="Krait" cpuid="0x51049" pmnc_counters="4" />
[8463.5789707] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Kryo Silver" id="ARMv8_Kryo_Silver" counter_set="Other" cpuid="0x51201" pmnc_counters="6" />
[8463.5790355] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Kryo Gold" id="ARMv8_Kryo_Gold" counter_set="Other" cpuid="0x51205" pmnc_counters="6" />
[8463.5790997] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Kryo 250/260/280 Silver" id="ARMv8_Kryo_2x0_Silver" counter_set="ARMv8_Cortex_A53" cpuid="0x51801" pmnc_counters="6" />
[8463.5791661] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Kryo 360/385 Silver" id="ARMv8_Kryo_3x0_Silver" counter_set="ARMv8_Cortex_A55" cpuid="0x51803" pmnc_counters="6" />
[8463.5792312] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Kryo 460/485/495 Silver" id="ARMv8_Kryo_4x0_Silver" counter_set="ARMv8_Cortex_A55" cpuid="0x51805" pmnc_counters="6" />
[8463.5792995] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Kryo 260/280 Gold" id="ARMv8_Kryo_2x0_Gold" counter_set="ARMv8_Cortex_A73" cpuid="0x51800" pmnc_counters="6" />
[8463.5793651] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Kryo 360/385 Gold" id="ARMv8_Kryo_3x0_Gold" counter_set="ARMv8_Cortex_A75" cpuid="0x51802" pmnc_counters="6" />
[8463.5794322] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Kryo 460/485/495 Gold" id="ARMv8_Kryo_4x0_Gold" counter_set="ARMv8_Cortex_A76" cpuid="0x51804" pmnc_counters="6" />
[8463.5794981] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Exynos-M1/M2" id="ARMv8_Exynos_M1" counter_set="ARMv8_Exynos_M1" cpuid="0x53001" pmnc_counters="6" />
[8463.5795620] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Exynos-M3" id="ARMv8_Exynos_M3" counter_set="ARMv8_Exynos_M3" cpuid="0x53002" pmnc_counters="6" />
[8463.5796259] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Exynos-M4" id="ARMv8_Exynos_M4" counter_set="Other" cpuid="0x53003" pmnc_counters="6" />
[8463.5796887] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Exynos-M5" id="ARMv8_Exynos_M5" counter_set="Other" cpuid="0x53004" pmnc_counters="6" />
[8463.5797571] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="ThunderX" id="ARMv8_Cavium_Thunder" counter_set="ARMv8_Cavium_Thunder" cpuid="0x430a0" pmnc_counters="6" />
[8463.5798245] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="eMAG" id="ARMv8_Ampere_eMAG" counter_set="ARMv8_Ampere_eMAG" cpuid="0x50000" pmnc_counters="6" />
[8463.5798886] INFO: parseXml(xml/PmuXMLParser.cpp:214): Found <pmu core_name="Nvidia-Denver" id="ARMv8_NVIDIA_Denver" counter_set="Other" cpuid="0x4e000" pmnc_counters="6" />
[8463.5799857] INFO: parseXml(xml/PmuXMLParser.cpp:283): Found <uncore_pmu core_name="CCI_400" id="CCI_400" counter_set="CCI_400" has_cycles_counter="true" pmnc_counters="4" />
[8463.5801154] INFO: parseXml(xml/PmuXMLParser.cpp:283): Found <uncore_pmu core_name="CCI_400_r1" id="CCI_400_r1" counter_set="CCI_400_r1" has_cycles_counter="true" pmnc_counters="4" />
[8463.5801872] INFO: parseXml(xml/PmuXMLParser.cpp:283): Found <uncore_pmu core_name="CCI_500" id="CCI_500" counter_set="CCI_500" has_cycles_counter="false" pmnc_counters="8" />
[8463.5802672] INFO: parseXml(xml/PmuXMLParser.cpp:283): Found <uncore_pmu core_name="ARM_CCN_5XX" id="ccn" counter_set="ARM_CCN_5XX" has_cycles_counter="true" pmnc_counters="8" />
[8463.5803302] INFO: parseXml(xml/PmuXMLParser.cpp:283): Found <uncore_pmu core_name="CMN-600" id="arm_cmn" counter_set="CMN_600" has_cycles_counter="true" pmnc_counters="8" />
[8463.5803958] INFO: parseXml(xml/PmuXMLParser.cpp:283): Found <uncore_pmu core_name="L2C-310" id="l2c_310" counter_set="L2C-310" has_cycles_counter="false" pmnc_counters="2" />
[8463.5806648] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'breakpoint' for 'arm_dsu_%d'
[8463.5807276] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'software' for 'arm_dsu_%d'
[8463.5807833] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'tracepoint' for 'arm_dsu_%d'
[8463.5808370] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'armv8_pmuv3' for 'arm_dsu_%d'
[8463.5808894] INFO: parseXml(xml/PmuXMLParser.cpp:339): No matching devices for wildcard <uncore_pmu core_name="DSU" id="arm_dsu_%d" counter_set="DSU" has_cycles_counter="true" pmnc_counters="6" />
[8463.5810675] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'breakpoint' for 'smmuv3_pmcg_%s'
[8463.5811269] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'software' for 'smmuv3_pmcg_%s'
[8463.5811831] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'tracepoint' for 'smmuv3_pmcg_%s'
[8463.5812372] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'armv8_pmuv3' for 'smmuv3_pmcg_%s'
[8463.5812884] INFO: parseXml(xml/PmuXMLParser.cpp:339): No matching devices for wildcard <uncore_pmu core_name="System MMU v3" id="smmuv3_pmcg_%s" counter_set="SMMUv3" has_cycles_counter="false" pmnc_counters="64" />
[8463.5813625] INFO: parseXml(xml/PmuXMLParser.cpp:283): Found <uncore_pmu core_name="rtk_16xx_dc_pmu" id="rtk_16xx_dc_pmu" counter_set="rtk_16xx_dc_pmu" has_cycles_counter="false" pmnc_counters="52" />
[8463.5814272] INFO: parseXml(xml/PmuXMLParser.cpp:283): Found <uncore_pmu core_name="rtk_13xx_dc_pmu" id="rtk_13xx_dc_pmu" counter_set="rtk_13xx_dc_pmu" has_cycles_counter="false" pmnc_counters="40" />
[8463.5814896] INFO: parseXml(xml/PmuXMLParser.cpp:283): Found <uncore_pmu core_name="rtk_dmc_pmu" id="rtk_dmc_pmu" counter_set="rtk_dmc_pmu" has_cycles_counter="false" pmnc_counters="5" />
[8463.5815493] INFO: parseXml(xml/PmuXMLParser.cpp:283): Found <uncore_pmu core_name="rtk_13xx_ddrc_pmu" id="rtk_13xx_ddrc_pmu" counter_set="rtk_13xx_ddrc_pmu" has_cycles_counter="false" pmnc_counters="53" />
[8463.5816157] INFO: parseXml(xml/PmuXMLParser.cpp:283): Found <uncore_pmu core_name="rtk_16xx_rbus_pmu" id="rtk_16xx_rbus_pmu" counter_set="rtk_16xx_rbus_pmu" has_cycles_counter="false" pmnc_counters="11" />
[8463.5816817] INFO: parseXml(xml/PmuXMLParser.cpp:283): Found <uncore_pmu core_name="rtk_13xx_rbus_pmu" id="rtk_13xx_rbus_pmu" counter_set="rtk_13xx_rbus_pmu" has_cycles_counter="false" pmnc_counters="14" />
[8463.5817523] INFO: parseXml(xml/PmuXMLParser.cpp:283): Found <uncore_pmu core_name="rtk_vpmu" id="rtk_vpmu" counter_set="rtk_vpmu" has_cycles_counter="false" pmnc_counters="4" />
[8463.5818165] INFO: parseXml(xml/PmuXMLParser.cpp:248): The hidden events of rtk_16xxb_dbus_pmu are revealed
[8463.5818540] INFO: parseXml(xml/PmuXMLParser.cpp:283): Found <uncore_pmu core_name="rtk_16xxb_dbus_pmu" id="rtk_16xxb_dbus_pmu" counter_set="rtk_16xxb_dbus_pmu" has_cycles_counter="false" pmnc_counters="48" />
[8463.5819048] INFO: parseXml(xml/PmuXMLParser.cpp:248): The hidden events of rtk_16xxb_ddrc_pmu are revealed
[8463.5819592] INFO: parseXml(xml/PmuXMLParser.cpp:283): Found <uncore_pmu core_name="rtk_16xxb_ddrc_pmu" id="rtk_16xxb_ddrc_pmu" counter_set="rtk_16xxb_ddrc_pmu" has_cycles_counter="false" pmnc_counters="57" />
[8463.5820237] INFO: parseXml(xml/PmuXMLParser.cpp:248): The hidden events of rtk_16xxb_rbus_pmu are revealed
[8463.5820728] INFO: parseXml(xml/PmuXMLParser.cpp:283): Found <uncore_pmu core_name="rtk_16xxb_rbus_pmu" id="rtk_16xxb_rbus_pmu" counter_set="rtk_16xxb_rbus_pmu" has_cycles_counter="false" pmnc_counters="26" />
[8463.5821383] INFO: parseXml(xml/PmuXMLParser.cpp:283): Found <uncore_pmu core_name="rxi316_pmu" id="rxi316_pmu" counter_set="rxi316_pmu" has_cycles_counter="false" pmnc_counters="10" />
[8463.5823900] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'breakpoint' for 'l3c%d'
[8463.5824553] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'software' for 'l3c%d'
[8463.5825107] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'tracepoint' for 'l3c%d'
[8463.5825634] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'armv8_pmuv3' for 'l3c%d'
[8463.5826145] INFO: parseXml(xml/PmuXMLParser.cpp:339): No matching devices for wildcard <uncore_pmu core_name="L3C" id="l3c%d" counter_set="L3C" has_cycles_counter="true" pmnc_counters="4" />
[8463.5827847] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'breakpoint' for 'mc%d'
[8463.5828439] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'software' for 'mc%d'
[8463.5828983] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'tracepoint' for 'mc%d'
[8463.5829515] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'armv8_pmuv3' for 'mc%d'
[8463.5830021] INFO: parseXml(xml/PmuXMLParser.cpp:339): No matching devices for wildcard <uncore_pmu core_name="MCU" id="mc%d" counter_set="MCU" has_cycles_counter="true" pmnc_counters="4" />
[8463.5831614] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'breakpoint' for 'mcb%d'
[8463.5832241] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'software' for 'mcb%d'
[8463.5832846] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'tracepoint' for 'mcb%d'
[8463.5833417] INFO: parseXml(xml/PmuXMLParser.cpp:322): no match 'armv8_pmuv3' for 'mcb%d'
[8463.5834273] INFO: parseXml(xml/PmuXMLParser.cpp:339): No matching devices for wildcard <uncore_pmu core_name="MCB" id="mcb%d" counter_set="MCB" has_cycles_counter="true" pmnc_counters="4" />
[8463.5838665] INFO: findTraceFsMount(Tracepoints.cpp:125): Reading /proc/mounts
[8463.5848456] INFO: findTraceFsMount(Tracepoints.cpp:130):     '/dev/root / ext4 ro,seclabel,relatime,block_validity,delalloc,barrier,user_xattr,acl 0 0'
[8463.5849324] INFO: findTraceFsMount(Tracepoints.cpp:130):     'devtmpfs /dev devtmpfs rw,seclabel,relatime,size=617800k,nr_inodes=40613,mode=755 0 0'
[8463.5849919] INFO: findTraceFsMount(Tracepoints.cpp:130):     'tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0'
[8463.5850465] INFO: findTraceFsMount(Tracepoints.cpp:130):     'devpts /dev/pts devpts rw,seclabel,relatime,mode=600,ptmxmode=000 0 0'
[8463.5851074] INFO: findTraceFsMount(Tracepoints.cpp:130):     'proc /proc proc rw,relatime 0 0'
[8463.5851588] INFO: findTraceFsMount(Tracepoints.cpp:130):     'sysfs /sys sysfs rw,seclabel,relatime 0 0'
[8463.5852133] INFO: findTraceFsMount(Tracepoints.cpp:130):     'selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0'
[8463.5852620] INFO: findTraceFsMount(Tracepoints.cpp:130):     'tmpfs /mnt tmpfs rw,seclabel,nosuid,nodev,noexec,relatime,mode=755,gid=1000 0 0'
[8463.5853075] INFO: findTraceFsMount(Tracepoints.cpp:130):     '/dev/block/dm-1 /vendor ext4 ro,seclabel,noatime,block_validity,delalloc,barrier,user_xattr,acl 0 0'
[8463.5853590] INFO: findTraceFsMount(Tracepoints.cpp:130):     'none /acct cgroup rw,nosuid,nodev,noexec,relatime,cpuacct 0 0'
[8463.5853987] INFO: findTraceFsMount(Tracepoints.cpp:130):     'none /dev/memcg cgroup rw,nosuid,nodev,noexec,relatime,memory 0 0'
[8463.5854507] INFO: findTraceFsMount(Tracepoints.cpp:130):     'debugfs /sys/kernel/debug debugfs rw,seclabel,relatime 0 0'
[8463.5854999] INFO: findTraceFsMount(Tracepoints.cpp:130):     'none /config configfs rw,nosuid,nodev,noexec,relatime 0 0'
[8463.5855512] INFO: findTraceFsMount(Tracepoints.cpp:130):     'none /dev/cpuctl cgroup rw,nosuid,nodev,noexec,relatime,cpu 0 0'
[8463.5856007] INFO: findTraceFsMount(Tracepoints.cpp:130):     'none /dev/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset,noprefix,release_agent=/sbin/cpuset_release_agent 0 0'
[8463.5856620] INFO: findTraceFsMount(Tracepoints.cpp:130):     'cg2_bpf /dev/cg2_bpf cgroup2 rw,nosuid,nodev,noexec,relatime 0 0'
[8463.5857114] INFO: findTraceFsMount(Tracepoints.cpp:130):     'bpf /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime 0 0'
[8463.5857716] INFO: findTraceFsMount(Tracepoints.cpp:130):     'pstore /sys/fs/pstore pstore rw,seclabel,nosuid,nodev,noexec,relatime 0 0'
[8463.5858216] INFO: findTraceFsMount(Tracepoints.cpp:130):     'tracefs /sys/kernel/debug/tracing tracefs rw,seclabel,relatime 0 0'
[8463.5858826] INFO: findTraceFsMount(Tracepoints.cpp:144): Found tracefs at '/sys/kernel/debug/tracing'
[8463.5864976] INFO: MaliHwCntrDriver(mali_userspace/MaliHwCntrDriver.cpp:23): There are no mali devices to create readers
[8463.5877515] INFO: readInt64FromFile(lib/Utils.cpp:63): Invalid value in file /sys/devices/system/cpu/cpu0/online:
[8463.5885155] INFO: CoreOnliner(linux/CoreOnliner.cpp:21): CoreOnliner(core=0, known=0, online=0, changed=0)
[8463.5884114] INFO: CoreOnliner(linux/CoreOnliner.cpp:21): CoreOnliner(core=1, known=1, online=1, changed=0)
[8463.5888568] INFO: CoreOnliner(linux/CoreOnliner.cpp:21): CoreOnliner(core=3, known=1, online=1, changed=0)
[8463.5889177] INFO: CoreOnliner(linux/CoreOnliner.cpp:21): CoreOnliner(core=2, known=1, online=1, changed=0)
[8463.5893975] INFO: readCpuMaskFromFile(lib/Utils.cpp:127): Reading cpumask from /sys/devices/system/cpu/cpu0/topology/core_siblings_list
[8463.5895449] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 0 to mask
[8463.5895873] INFO: readCpuMaskFromFile(lib/Utils.cpp:127): Reading cpumask from /sys/devices/system/cpu/cpu1/topology/core_siblings_list
[8463.5896900] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 1 to mask
[8463.5897651] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 0 to mask
[8463.5898473] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 2 to mask
[8463.5898047] INFO: readCpuMaskFromFile(lib/Utils.cpp:127): Reading cpumask from /sys/devices/system/cpu/cpu3/topology/core_siblings_list
[8463.5898836] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 1 to mask
[8463.5899204] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 0 to mask
[8463.5899661] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 2 to mask
[8463.5900083] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 3 to mask
[8463.5900350] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 3 to mask
[8463.5899891] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 1 to mask
[8463.5900976] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 2 to mask
[8463.5901617] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 3 to mask
[8463.5901940] INFO: readInt64FromFile(lib/Utils.cpp:63): Invalid value in file /sys/devices/system/cpu/cpu0/regs/identification/midr_el1:
[8463.5902477] INFO: readInt64FromFile(lib/Utils.cpp:63): Invalid value in file /sys/devices/system/cpu/cpu1/regs/identification/midr_el1:
[8463.5902855] INFO: readInt64FromFile(lib/Utils.cpp:63): Invalid value in file /sys/devices/system/cpu/cpu3/regs/identification/midr_el1:
[8463.5922146] INFO: readCpuMaskFromFile(lib/Utils.cpp:127): Reading cpumask from /sys/devices/system/cpu/cpu2/topology/core_siblings_list
[8463.5922855] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 0 to mask
[8463.5923413] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 1 to mask
[8463.5923936] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 2 to mask
[8463.5924460] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 3 to mask
[8463.5925758] INFO: readInt64FromFile(lib/Utils.cpp:63): Invalid value in file /sys/devices/system/cpu/cpu2/regs/identification/midr_el1:
[8463.5926840] INFO: readCpuInfo(CpuUtils.cpp:289): Read CPU 0 CLUSTER 0
[8463.5928111] INFO: readCpuInfo(CpuUtils.cpp:289): Read CPU 1 CLUSTER 0
[8463.5929291] INFO: readCpuInfo(CpuUtils.cpp:289): Read CPU 2 CLUSTER 0
[8463.5930454] INFO: readCpuInfo(CpuUtils.cpp:289): Read CPU 3 CLUSTER 0
[8463.5934421] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: processor     : 0
[8463.5936508] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: model name    : ARMv7 Processor rev 4 (v7l)
[8463.5938461] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: BogoMIPS      : 30.00
[8463.5940375] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: Features      : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32
[8463.5942350] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU implementer       : 0x41
[8463.5944337] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU architecture: 7
[8463.5945515] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU variant   : 0x0
[8463.5947441] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU part      : 0xd03
[8463.5949380] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU revision  : 4
[8463.5950327] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo:
[8463.5950682] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: processor     : 1
[8463.5951050] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: model name    : ARMv7 Processor rev 4 (v7l)
[8463.5951415] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: BogoMIPS      : 30.00
[8463.5951760] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: Features      : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32
[8463.5952154] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU implementer       : 0x41
[8463.5952519] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU architecture: 7
[8463.5952838] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU variant   : 0x0
[8463.5953180] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU part      : 0xd03
[8463.5953541] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU revision  : 4
[8463.5953888] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo:
[8463.5954190] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: processor     : 2
[8463.5954539] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: model name    : ARMv7 Processor rev 4 (v7l)
[8463.5954896] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: BogoMIPS      : 30.00
[8463.5955241] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: Features      : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32
[8463.5955637] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU implementer       : 0x41
[8463.5956003] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU architecture: 7
[8463.5956322] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU variant   : 0x0
[8463.5956662] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU part      : 0xd03
[8463.5957019] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU revision  : 4
[8463.5957365] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo:
[8463.5957667] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: processor     : 3
[8463.5958013] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: model name    : ARMv7 Processor rev 4 (v7l)
[8463.5958371] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: BogoMIPS      : 30.00
[8463.5958793] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: Features      : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32
[8463.5959205] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU implementer       : 0x41
[8463.5959576] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU architecture: 7
[8463.5959895] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU variant   : 0x0
[8463.5960681] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU part      : 0xd03
[8463.5961073] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: CPU revision  : 4
[8463.5961421] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo:
[8463.5961726] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: Hardware      : 
[8463.5962084] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: Revision      : 0000
[8463.5962424] INFO: parseProcCpuInfo(CpuUtils.cpp:109): cpuinfo: Serial                : 0000000000000000
[8463.5963259] INFO: updateCpuIdsFromTopologyInformation(CpuUtils_Topology.cpp:67): CPU 0 is configured to use CPUID 0x41d03
[8463.5963722] INFO: updateCpuIdsFromTopologyInformation(CpuUtils_Topology.cpp:67): CPU 1 is configured to use CPUID 0x41d03
[8463.5964076] INFO: updateCpuIdsFromTopologyInformation(CpuUtils_Topology.cpp:67): CPU 2 is configured to use CPUID 0x41d03
[8463.5964414] INFO: updateCpuIdsFromTopologyInformation(CpuUtils_Topology.cpp:67): CPU 3 is configured to use CPUID 0x41d03
[8463.5971193] INFO: detect(PrimarySourceProvider.cpp:371): Determining primary source
[8463.5971852] INFO: detect(PrimarySourceProvider.cpp:376): Trying perf API as root...
[8463.5973222] INFO: detect(linux/perf/PerfDriverConfiguration.cpp:168): Kernel version: 4.9.119-01129-g446762f42810-dirty
[8463.5975661] INFO: detect(linux/perf/PerfDriverConfiguration.cpp:232): perf_event_paranoid: 1
[8463.5976747] INFO: detect(linux/perf/PerfDriverConfiguration.cpp:264): Have access to tracepoints
[8463.5978700] INFO: detect(linux/perf/PerfDriverConfiguration.cpp:339): perf pmu: breakpoint
[8463.5979508] INFO: detect(linux/perf/PerfDriverConfiguration.cpp:339): perf pmu: software
[8463.5980003] INFO: detect(linux/perf/PerfDriverConfiguration.cpp:339): perf pmu: tracepoint
[8463.5980458] INFO: detect(linux/perf/PerfDriverConfiguration.cpp:339): perf pmu: armv8_pmuv3
[8463.5984536] INFO: readCpuMaskFromFile(lib/Utils.cpp:127): Reading cpumask from /sys/bus/event_source/devices/armv8_pmuv3/cpus
[8463.5985080] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 0 to mask
[8463.5985545] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 1 to mask
[8463.5985885] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 2 to mask
[8463.5986223] INFO: readCpuMaskFromFile(lib/Utils.cpp:159):     Adding cpu 3 to mask
[8463.5986574] INFO: detect(linux/perf/PerfDriverConfiguration.cpp:386):     ... cpu 0, with cpuid 0x41d03
[8463.5986930] INFO: detect(linux/perf/PerfDriverConfiguration.cpp:386):     ... cpu 1, with cpuid 0x41d03
[8463.5987314] INFO: detect(linux/perf/PerfDriverConfiguration.cpp:386):     ... cpu 2, with cpuid 0x41d03
[8463.5987640] INFO: detect(linux/perf/PerfDriverConfiguration.cpp:386):     ... cpu 3, with cpuid 0x41d03
[8463.5988034] INFO: detect(linux/perf/PerfDriverConfiguration.cpp:404):     ... using generic pmu type 6 for Cortex-A53 cores
[8463.5989887] WARNING: setPerfEventMlockKb(linux/perf/PerfDriverConfiguration.cpp:89): setting property debug.perf_event_mlock_kb to 1028
^C[8464.4319909] WARNING: setPerfEventMlockKb(linux/perf/PerfDriverConfiguration.cpp:102): failed to set property debug.perf_event_mlock_kb to 1028
[8464.4329147] INFO: PerfDriver(linux/perf/PerfDriver.cpp:243): Adding cpu counters for Cortex-A53 with type 6
ID(SCHED_SWITCH) 0
ID(CPU_FREQUENCY) 0
Perf CPU is ARMv8_Cortex_A53
[8464.4343395] INFO: detect(PrimarySourceProvider.cpp:391): ...Success
[8464.4344392] SETUP: detect(PrimarySourceProvider.cpp:392): Profiling Source
Using perf API for primary data source
[8464.4353564] INFO: getStaticTree(xml/EventsXML.cpp:37): Unable to locate events.xml, using default
[8464.5746940] INFO: apply_ext_attr(xml/EventsXMLProcessor.cpp:467): counters of rtk_16xxb_dbus_pmu_cnt increases from 16 to 48 due to events revealing
[8464.5750795] INFO: apply_ext_attr(xml/EventsXMLProcessor.cpp:467): counters of rtk_16xxb_ddrc_pmu_cnt increases from 15 to 57 due to events revealing
[8464.5752770] INFO: apply_ext_attr(xml/EventsXMLProcessor.cpp:467): counters of rtk_16xxb_rbus_pmu_cnt increases from 6 to 26 due to events revealing
[8464.5871129] INFO: readEvents(linux/perf/PerfDriver.cpp:567): Using perf for ftrace_kmem_kmalloc
[8464.5872504] INFO: readEvents(linux/perf/PerfDriver.cpp:567): Using perf for ftrace_ext4_ext4_da_write
[8464.5873119] INFO: readInt64FromFile(lib/Utils.cpp:63): Invalid value in file /sys/kernel/debug/tracing/events/f2fs/f2fs_write_end/id:
[8464.5873337] INFO: getTracepointId(Tracepoints.cpp:43): Unable to read tracepoint id for f2fs/f2fs_write_end
[8464.5873569] SETUP: _getTracepointId(linux/perf/PerfDriver.cpp:207): ftrace_f2fs_f2fs_write is disabled
/sys/kernel/debug/tracing/events/f2fs/f2fs_write_end/id was not found
[8464.5874240] INFO: readEvents(linux/perf/PerfDriver.cpp:567): Using perf for ftrace_power_clock_set_rate
[8464.5874876] INFO: readEvents(linux/perf/PerfDriver.cpp:567): Using perf for ftrace_block_block_rq_complete
[8464.5875503] INFO: readEvents(linux/perf/PerfDriver.cpp:567): Using perf for ftrace_block_block_rq_issue
[8464.5876151] INFO: readEvents(linux/perf/PerfDriver.cpp:567): Using perf for ftrace_power_cpu_idle
[8464.5930725] INFO: readEvents(FtraceDriver.cpp:421): Not using ftrace for counter ftrace_kmem_kmalloc
[8464.5931584] INFO: readEvents(FtraceDriver.cpp:421): Not using ftrace for counter ftrace_ext4_ext4_da_write
[8464.5931841] INFO: readEvents(FtraceDriver.cpp:421): Not using ftrace for counter ftrace_f2fs_f2fs_write
[8464.5932066] INFO: readEvents(FtraceDriver.cpp:421): Not using ftrace for counter ftrace_power_clock_set_rate
[8464.5932279] INFO: readEvents(FtraceDriver.cpp:421): Not using ftrace for counter ftrace_block_block_rq_complete
[8464.5932480] INFO: readEvents(FtraceDriver.cpp:421): Not using ftrace for counter ftrace_block_block_rq_issue
[8464.5932694] INFO: readEvents(FtraceDriver.cpp:421): Not using ftrace for counter ftrace_power_cpu_idle
[8464.5958986] INFO: readEvents(FtraceDriver.cpp:421): Not using ftrace for counter ftrace_kmem_kmalloc
[8464.5959645] INFO: readEvents(FtraceDriver.cpp:421): Not using ftrace for counter ftrace_ext4_ext4_da_write
[8464.5959985] INFO: readEvents(FtraceDriver.cpp:421): Not using ftrace for counter ftrace_f2fs_f2fs_write
[8464.5960632] INFO: readEvents(FtraceDriver.cpp:421): Not using ftrace for counter ftrace_power_clock_set_rate
[8464.5960840] INFO: readEvents(FtraceDriver.cpp:421): Not using ftrace for counter ftrace_block_block_rq_complete
[8464.5961031] INFO: readEvents(FtraceDriver.cpp:421): Not using ftrace for counter ftrace_block_block_rq_issue
[8464.5961234] INFO: readEvents(FtraceDriver.cpp:421): Not using ftrace for counter ftrace_power_cpu_idle
[8464.5987526] SETUP: readEvents(AtraceDriver.cpp:52): Atrace is disabled
Unable to locate notify.dex
Gator ready

image

haruzheng commented 2 years ago

In /sys/kernel/debug/tracing/trace

   cfinteractive-911   [003] ....  8847.506076: cpu_frequency: state=1400000 cpu_id=0
   cfinteractive-911   [003] ....  8847.506087: cpu_frequency: state=1400000 cpu_id=1
   cfinteractive-911   [003] ....  8847.506090: cpu_frequency: state=1400000 cpu_id=2
   cfinteractive-911   [003] ....  8847.506092: cpu_frequency: state=1400000 cpu_id=3
haruzheng commented 2 years ago

Check kernel config

CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_TIMES=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y

I not sure it is about.

bengaineyarm commented 2 years ago

Hi @haruzheng - all the configuration looks OK. One thing it could be was a bug we fixed for 7.8 that was affecting some other tracepoint counters, but its possible it is also affecting the CPU frequency counter...

Are you able to update to 7.8? Or alternatively, are you able to modify and rebuild gatord from source?

You can try pulling 7.8.0 tag from this repo and then modifying daemon/ProtocolVersion.h so that the version number is 770 instead of 780. This should allow you to use the later gatord with the older Streamline and pick up the fix.

haruzheng commented 2 years ago

Hi @bengaineyarm

I try clean 7.8, with change version to 770. But it same. I alway no get CPU frequency.

I try to simpleperf, traceFS, ebpf tool. In simpleperf

Samples: 0
Event count: 0

But traceFS, ebpf tool has value. like

# cat /sys/kernel/debug/tracing/trace
sugov:0-1184  [002] .... 73119.468355: cpu_frequency: state=600000 cpu_id=0
sugov:0-1184  [002] .... 73119.468368: cpu_frequency: state=600000 cpu_id=1
sugov:0-1184  [002] .... 73119.468372: cpu_frequency: state=600000 cpu_id=2
sugov:0-1184  [002] .... 73119.468377: cpu_frequency: state=600000 cpu_id=3
bengaineyarm commented 2 years ago

So all those tools also fail with the same issue ? :-( that is odd.

Is it an Android device running recent Android version; is traced running? I wonder if there is some other ftrace based capture that is interfering with perf/gatord.

What is the output from cat /sys/kernel/debug/tracing/events/power/cpu_frequency/enable and cat /sys/kernel/debug/tracing/events/power/cpu_frequency/format ?

haruzheng commented 2 years ago

Perf and Simpleperf not counter value. Device is Android R.

# cat /sys/kernel/debug/tracing/events/power/cpu_frequency/enable
0
# cat /sys/kernel/debug/tracing/events/power/cpu_frequency/format
name: cpu_frequency
ID: 132
format:
        field:unsigned short common_type;       offset:0;       size:2; signed:0;
        field:unsigned char common_flags;       offset:2;       size:1; signed:0;
        field:unsigned char common_preempt_count;       offset:3;       size:1; signed:0;
        field:int common_pid;   offset:4;       size:4; signed:1;

        field:u32 state;        offset:8;       size:4; signed:0;
        field:u32 cpu_id;       offset:12;      size:4; signed:0;

print fmt: "state=%lu cpu_id=%lu", (unsigned long)REC->state, (unsigned long)REC->cpu_id
haruzheng commented 2 years ago

Maybe is user space not have permission with perf event? Because not only cpu_frequency. cpu_idle, and some event was not show in streamline.

haruzheng commented 2 years ago

Hi @bengaineyarm

i try to buildroot, i can get cpu_frequency counter in perf tool. but using gator in buildroot same, can't get value in streamline.

i want to get perf event value in gator. what should i do it?

bengaineyarm commented 2 years ago

So simpleperf did not work but perf does work in buildroot, and in both cases gatord does not?

How are you running perf tool? (what arguments are you giving it) ?

Can you run it in 'very verbose mode' (for example perf stat -vvv or perf record -vvv and show me the perf attribute description that it prints out that works.

haruzheng commented 2 years ago

I try ./perf stat -a -e power:* -- sleep 30 &

Performance counter stats for 'system wide':

0 power:dev_pm_qos_remove_request
0 power:dev_pm_qos_update_request
0 power:dev_pm_qos_add_request
0 power:pm_qos_update_flags
0 power:pm_qos_update_target
0 power:pm_qos_update_request_timeout
0 power:pm_qos_remove_request
0 power:pm_qos_update_request
0 power:pm_qos_add_request
0 power:power_domain_target
0 power:clock_set_parent
0 power:clock_set_rate
0 power:clock_disable
0 power:clock_enable
0 power:wakeup_source_deactivate
0 power:wakeup_source_activate
0 power:suspend_resume
0 power:device_pm_callback_end
0 power:device_pm_callback_start
2 power:cpu_frequency_limits
8 power:cpu_frequency
0 power:pstate_sample
0 power:powernv_throttle
0 power:cpu_idle

30.002926575 seconds time elapsed
haruzheng commented 2 years ago

Hi @bengaineyarm

In buildroot, i change /proc/sys/kernel/perf_event_paranoid from 2 to -1. It is work in buildroot with gator and streamline. But but, switch to android r, using same linux kernel, it not working. I think it maybe is Android R secure problem.

How do you think?

bengaineyarm commented 2 years ago

Hi @haruzheng - that is interesting. On Android, if you change perf_event_paranoid do you still see the problem? Gatord should modify that file (at least if you are running as root, but i think its worth to check).

It is certainly possible their is something in Android that we are not aware of that is blocking the event. We've only seen this one on one other device, but it was also Android (11).

Are you blocked by it not working on Android, or can you use Linux?

Is your kernel very customized or based on Android stock kernel? (I will try to figure out what might be blocking)

haruzheng commented 2 years ago

Hi @bengaineyarm

In Android 9 is work(gator 7.8), but gator 7.7 not work. My kernel is base on android linux kernel, add our soc patch.

Maybe i can try to android 10.

I using root with gator. In Android 11, i check perf_event_paranoid is -1, so i don;t know which config cause in android 11.

bengaineyarm commented 2 years ago

Ok, definitely use 7.8 if you can. I will look at the kernel source and see if can figure out the issue.

I have an alternative work around, which is to allow gatord to use ftrace api instead of perf api to collect this tracepoint, but that requires modifications to both gatord and Streamline so would not be available until the next Streamline release (which will be 8.0 because we have just completed the internal release of 7.9 )

haruzheng commented 2 years ago

You mean we need update streamline version?

Maybe I need with our team discuss. I not sure my streamline licence can update to last version.

bengaineyarm commented 2 years ago

You mean we need update streamline version?

Yes; if we have to fix this by using ftrace instead of perf as it needs some post-processing, which is done by Streamline.

I not sure my streamline licence can update to last version.

Sure, IIRC most Arm DS licenses these days are time-limited rather than version-limited so hopefully you should be able to get the update. If not please raise the issue via the Arm DS support channel and we can see what we can do.

haruzheng commented 2 years ago

If i want to lookup this event value in gator 7.7, i can insert printf() in where? I looking for away is long time, but i can't found it.

bengaineyarm commented 2 years ago

It would be difficult; the counter event comes from perf in its 'mmap' ring buffer as a PERF_RECORD_SAMPLE (see https://man.archlinux.org/man/perf_event_open.2 for general details). You'd have to modify PerfBuffer and parse the event records as they are extracted from the mmap into the gator sender buffer.

What are you trying to achieve?

haruzheng commented 2 years ago

I want to check gator7.7 can get this event value, like state and cpu_id. Or just can't send to streamline?

Because I need to describe the gator 7.7 problem with my team member.

Thank you.

bengaineyarm commented 2 years ago

I understand. If its easier, you can raise a support case via https://support.developer.arm.com/my-cases/open-case/ and send the capture file to us and we can review it for you.

haruzheng commented 2 years ago

Hi @bengaineyarm

In Android R, the cpu_frequency event is block on bpfprogram. You can ref https://github.com/android/ndk/issues/1612 . And fixed in https://android-review.googlesource.com/c/platform/system/bpfprogs/+/1913987 .

Thank you.

bengaineyarm commented 2 years ago

@haruzheng thats a great discovery; thanks for the update. I will update our documentation.