R7800 cache scaling issue

Can you pls use the steps from my post just above yours to set performance governor? There were posts in the past that the frequencies are not properly set unless a specific sequence of steps is followed?

1 Like

on my test one is with ondemand... the other is with min frequency scaling set to maxium

I am confused: the stock seems to be delivering better memory throughput (700MB/s vs 600MB/s). What is the problem then?

we observed a worse performance with higher cpu freq... with ondemand we don't see this behavior because the cpu never goes to the max freq (i think)

yup... fantom method wins
PERFORMANCE
/sys/kernel/debug/clk/krait_l2_pri_mux/clk_rate: 1200000000
/sys/kernel/debug/clk/krait_l2_sec_mux/clk_rate: 384000000
/sys/kernel/debug/clk/hfpll_l2/clk_rate: 1200000000
AVG	Method: MEMCPY	Elapsed: 0.04513	MiB: 32.00000	Copy: 709.060 MiB/s
AVG	Method: DUMB	Elapsed: 0.18997	MiB: 32.00000	Copy: 168.449 MiB/s
AVG	Method: MCBLOCK	Elapsed: 0.04532	MiB: 32.00000	Copy: 706.056 MiB/s
ONDEMAND
/sys/kernel/debug/clk/krait_l2_pri_mux/clk_rate: 384000000
/sys/kernel/debug/clk/krait_l2_sec_mux/clk_rate: 384000000
/sys/kernel/debug/clk/hfpll_l2/clk_rate: 1200000000
AVG	Method: MEMCPY	Elapsed: 0.04555	MiB: 32.00000	Copy: 702.502 MiB/s
AVG	Method: DUMB	Elapsed: 0.19677	MiB: 32.00000	Copy: 162.625 MiB/s
AVG	Method: MCBLOCK	Elapsed: 0.04584	MiB: 32.00000	Copy: 698.127 MiB/s
PERFORMANCE
/sys/kernel/debug/clk/krait_l2_pri_mux/clk_rate: 1200000000
/sys/kernel/debug/clk/krait_l2_sec_mux/clk_rate: 384000000
/sys/kernel/debug/clk/hfpll_l2/clk_rate: 1200000000
AVG	Method: MEMCPY	Elapsed: 0.05064	MiB: 32.00000	Copy: 631.883 MiB/s
AVG	Method: DUMB	Elapsed: 0.19421	MiB: 32.00000	Copy: 164.766 MiB/s
AVG	Method: MCBLOCK	Elapsed: 0.04514	MiB: 32.00000	Copy: 708.868 MiB/s
ONDEMAND
/sys/kernel/debug/clk/krait_l2_pri_mux/clk_rate: 384000000
/sys/kernel/debug/clk/krait_l2_sec_mux/clk_rate: 384000000
/sys/kernel/debug/clk/hfpll_l2/clk_rate: 1200000000
AVG	Method: MEMCPY	Elapsed: 0.04563	MiB: 32.00000	Copy: 701.302 MiB/s
AVG	Method: DUMB	Elapsed: 0.19714	MiB: 32.00000	Copy: 162.324 MiB/s
AVG	Method: MCBLOCK	Elapsed: 0.04584	MiB: 32.00000	Copy: 698.024 MiB/s
PERFORMANCE
/sys/kernel/debug/clk/krait_l2_pri_mux/clk_rate: 1200000000
/sys/kernel/debug/clk/krait_l2_sec_mux/clk_rate: 384000000
/sys/kernel/debug/clk/hfpll_l2/clk_rate: 1200000000
AVG	Method: MEMCPY	Elapsed: 0.04533	MiB: 32.00000	Copy: 705.965 MiB/s
AVG	Method: DUMB	Elapsed: 0.19095	MiB: 32.00000	Copy: 167.581 MiB/s
AVG	Method: MCBLOCK	Elapsed: 0.04799	MiB: 32.00000	Copy: 666.825 MiB/s
opp-printk-while-above-is-running
[21314.953185] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1400000000 Hz
[21314.953249] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21314.963616] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21314.967553] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21314.970918] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21314.983041] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21314.990812] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1000000000 Hz
[21314.998342] cpu cpu0: _set_opp_voltage: voltages (mV): 902500 950000 997500
[21315.009072] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 1725000000 Hz
[21315.013154] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21315.037043] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21315.037172] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21315.047148] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1400000000 Hz
[21315.051095] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21315.059935] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21315.066401] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21315.089053] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21315.089176] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21315.099109] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1400000000 Hz
[21315.103108] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21315.112403] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21315.112961] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1000000000 Hz
[21315.118515] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21315.134930] cpu cpu1: _set_opp_voltage: voltages (mV): 950000 950000 950000
[21315.144036] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 1725000000 Hz
[21315.148889] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1000000000 Hz
[21315.148980] cpu cpu0: _set_opp_voltage: voltages (mV): 902500 950000 997500
[21315.158983] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 800000000 Hz
[21315.165735] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21315.172973] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21315.187854] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21315.192480] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1400000000 Hz
[21315.194371] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21315.208371] cpu cpu1: _set_opp_voltage: voltages (mV): 1025000 1025000 1025000
[21315.219249] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21315.222672] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1400000000 Hz
[21315.224959] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21315.233281] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21315.249093] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21315.256073] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21315.276965] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21315.277117] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21315.331056] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1400000000 Hz
[21315.331238] cpu cpu1: _set_opp_voltage: voltages (mV): 1025000 1025000 1025000
[21315.339123] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21315.345508] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21315.354987] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21315.360957] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21315.364944] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1400000000 Hz
[21315.376290] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21315.385040] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21315.391516] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21315.411138] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21315.411293] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21315.422094] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1400000000 Hz
[21315.422982] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1400000000 Hz
[21315.425150] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21315.439025] cpu cpu1: _set_opp_voltage: voltages (mV): 1025000 1025000 1025000
[21315.449023] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21315.455763] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21315.462943] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21315.477018] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21315.509328] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21315.509459] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21315.517818] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21315.523514] cpu cpu1: _set_opp_voltage: voltages (mV): 900000 900000 900000
[21316.542486] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21316.542548] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21316.550420] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21316.556806] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21324.931050] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21324.931120] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1400000000 Hz
[21324.931243] cpu cpu1: _set_opp_voltage: voltages (mV): 900000 900000 900000
[21324.939705] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21324.949090] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21324.955176] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21324.960855] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21324.968856] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21324.991089] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21324.991223] cpu cpu1: _set_opp_voltage: voltages (mV): 900000 900000 900000
[21325.003296] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1400000000 Hz
[21325.006024] cpu cpu1: _set_opp_voltage: voltages (mV): 1025000 1025000 1025000
[21325.015052] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21325.021372] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21325.043245] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21325.043386] cpu cpu1: _set_opp_voltage: voltages (mV): 900000 900000 900000
[21325.053293] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1400000000 Hz
[21325.057297] cpu cpu1: _set_opp_voltage: voltages (mV): 1025000 1025000 1025000
[21325.067068] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21325.072682] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21325.095223] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21325.095360] cpu cpu1: _set_opp_voltage: voltages (mV): 900000 900000 900000
[21325.105239] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1400000000 Hz
[21325.109246] cpu cpu1: _set_opp_voltage: voltages (mV): 1025000 1025000 1025000
[21325.115039] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1400000000 Hz
[21325.119645] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21325.125089] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21325.133493] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21325.145042] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21325.155317] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21325.161027] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1400000000 Hz
[21325.171285] cpu cpu1: _set_opp_voltage: voltages (mV): 1025000 1025000 1025000
[21325.177045] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21325.180216] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21325.186128] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21325.196552] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21325.203977] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21325.216663] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21325.237065] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21325.237191] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21325.307152] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1000000000 Hz
[21325.307294] cpu cpu1: _set_opp_voltage: voltages (mV): 950000 950000 950000
[21325.311135] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21325.319187] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 1725000000 Hz
[21325.321302] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21325.339157] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21325.349120] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1000000000 Hz
[21325.352019] cpu cpu0: _set_opp_voltage: voltages (mV): 902500 950000 997500
[21325.359108] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1400000000 Hz
[21325.360876] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 1725000000 Hz
[21325.367133] cpu cpu1: _set_opp_voltage: voltages (mV): 1025000 1025000 1025000
[21325.385247] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21325.390638] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21325.391135] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21325.418152] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21325.418271] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21325.429174] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21325.432168] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21325.437146] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1000000000 Hz
[21325.447676] cpu cpu1: _set_opp_voltage: voltages (mV): 950000 950000 950000
[21325.457207] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 1725000000 Hz
[21325.462605] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21325.487296] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21325.487462] cpu cpu1: _set_opp_voltage: voltages (mV): 900000 900000 900000
[21325.497236] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1400000000 Hz
[21325.499253] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1400000000 Hz
[21325.501364] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21325.509661] cpu cpu1: _set_opp_voltage: voltages (mV): 1025000 1025000 1025000
[21325.519160] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21325.531990] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21325.540356] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 800000000 Hz
[21325.547375] cpu cpu1: _set_opp_voltage: voltages (mV): 900000 900000 900000
[21325.645839] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21325.645986] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21325.657947] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21325.659924] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21325.711151] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21325.711272] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21325.728269] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1400000000 Hz
[21325.728328] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21325.739714] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21325.742785] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21325.763254] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21325.763367] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21325.793263] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1000000000 Hz
[21325.793317] cpu cpu0: _set_opp_voltage: voltages (mV): 902500 950000 997500
[21325.805171] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 1400000000 Hz
[21325.807522] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21325.816413] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21325.822695] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21325.853263] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1000000000 Hz
[21325.854051] cpu cpu0: _set_opp_voltage: voltages (mV): 902500 950000 997500
[21325.865678] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 1725000000 Hz
[21325.867690] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21325.899346] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21325.899490] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21325.913281] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21325.913336] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21325.935105] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1400000000 Hz
[21325.935214] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21325.983342] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 800000000 Hz
[21325.983462] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21325.993805] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1400000000 Hz
[21325.998053] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21326.045397] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 800000000 Hz
[21326.045519] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21326.059576] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1400000000 Hz
[21326.059632] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21326.083165] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1000000000 Hz
[21326.083281] cpu cpu0: _set_opp_voltage: voltages (mV): 902500 950000 997500
[21326.095986] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 1400000000 Hz
[21326.097317] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21326.107216] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21326.113416] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21326.117168] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1000000000 Hz
[21326.130045] cpu cpu1: _set_opp_voltage: voltages (mV): 950000 950000 950000
[21326.133136] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1000000000 Hz
[21326.141310] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 1400000000 Hz
[21326.142961] cpu cpu0: _set_opp_voltage: voltages (mV): 902500 950000 997500
[21326.151495] cpu cpu1: _set_opp_voltage: voltages (mV): 1025000 1025000 1025000
[21326.151916] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21326.151929] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21326.163343] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21326.173602] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 1400000000 Hz
[21326.173618] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21326.188936] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 800000000 Hz
[21326.198684] cpu cpu1: _set_opp_voltage: voltages (mV): 900000 900000 900000
[21326.206338] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21326.215176] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21326.221310] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21326.227342] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21326.234600] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21326.257538] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21326.264769] cpu cpu1: _set_opp_voltage: voltages (mV): 900000 900000 900000
[21326.273020] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21326.279664] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21326.288055] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21326.294652] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21326.416146] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21326.416265] cpu cpu1: _set_opp_voltage: voltages (mV): 900000 900000 900000
[21329.956654] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21329.956715] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21329.957225] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21329.991141] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21330.150218] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1000000000 Hz
[21330.150769] cpu cpu0: _set_opp_voltage: voltages (mV): 902500 950000 997500
[21330.161503] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 1725000000 Hz
[21330.164248] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21330.349167] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1000000000 Hz
[21330.349296] cpu cpu0: _set_opp_voltage: voltages (mV): 902500 950000 997500
[21330.359171] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 1400000000 Hz
[21330.363222] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21330.373205] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21330.378655] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21331.113469] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21331.113592] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21331.517240] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1400000000 Hz
[21331.517249] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21331.517263] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21331.517377] cpu cpu1: _set_opp_voltage: voltages (mV): 1025000 1025000 1025000
[21331.541192] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21331.546992] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21331.567222] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21331.567357] cpu cpu1: _set_opp_voltage: voltages (mV): 900000 900000 900000
[21331.581287] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21331.581336] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21331.609396] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21331.609534] cpu cpu1: _set_opp_voltage: voltages (mV): 900000 900000 900000
[21333.383232] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1400000000 Hz
[21333.383354] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21334.289314] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 800000000 Hz
[21334.289431] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21334.301458] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1400000000 Hz
[21334.303278] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21334.313222] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21334.318599] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21334.459342] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21334.459459] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21334.469799] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1400000000 Hz
[21334.473424] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21334.483267] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21334.489046] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21334.511363] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21334.511475] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21334.521834] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21334.526355] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21334.553312] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21334.553429] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21334.575628] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1000000000 Hz
[21334.575680] cpu cpu0: _set_opp_voltage: voltages (mV): 902500 950000 997500
[21334.627749] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 800000000 Hz
[21334.627997] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21334.639687] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21334.643590] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21334.693304] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21334.693532] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21334.711495] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1400000000 Hz
[21334.711747] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21334.735324] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 800000000 Hz
[21334.735452] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21334.754358] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1400000000 Hz
[21334.754415] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21334.777791] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1000000000 Hz
[21334.777914] cpu cpu0: _set_opp_voltage: voltages (mV): 902500 950000 997500
[21334.789668] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 1400000000 Hz
[21334.792164] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21334.801597] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21334.807411] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21334.833701] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21334.833844] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21334.844525] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21334.847917] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21334.877335] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21334.877450] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21334.887937] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1725000000 Hz
[21334.891700] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21334.959604] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1400000000 Hz
[21334.959723] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21334.959920] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1000000000 Hz
[21334.977463] cpu cpu1: _set_opp_voltage: voltages (mV): 950000 950000 950000
[21334.983267] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 1725000000 Hz
[21334.983308] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21334.988893] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21334.997242] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1000000000 Hz
[21335.013459] cpu cpu1: _set_opp_voltage: voltages (mV): 950000 950000 950000
[21335.021271] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21335.029470] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 1725000000 Hz
[21335.034951] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21335.055309] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1400000000 Hz
[21335.055442] cpu cpu1: _set_opp_voltage: voltages (mV): 1025000 1025000 1025000
[21335.067317] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21335.069861] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21335.078039] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21335.079290] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1400000000 Hz
[21335.084890] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21335.101331] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21335.109262] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21335.115333] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21335.171501] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1400000000 Hz
[21335.171637] cpu cpu1: _set_opp_voltage: voltages (mV): 1025000 1025000 1025000
[21335.172259] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1000000000 Hz
[21335.186092] cpu cpu0: _set_opp_voltage: voltages (mV): 902500 950000 997500
[21335.193603] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1000000000 Hz
[21335.194786] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 1725000000 Hz
[21335.201548] cpu cpu1: _set_opp_voltage: voltages (mV): 950000 950000 950000
[21335.210912] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21335.219369] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 1725000000 Hz
[21335.231764] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21335.248182] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1400000000 Hz
[21335.248327] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21335.255886] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21335.263032] cpu cpu1: _set_opp_voltage: voltages (mV): 900000 900000 900000
[21335.271586] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21335.272223] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1000000000 Hz
[21335.277593] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21335.286189] cpu cpu1: _set_opp_voltage: voltages (mV): 950000 950000 950000
[21335.302901] cpu cpu1: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 1725000000 Hz
[21335.308042] cpu cpu1: _set_opp_voltage: voltages (mV): 1100000 1100000 1100000
[21335.309064] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 1000000000 Hz
[21335.324544] cpu cpu0: _set_opp_voltage: voltages (mV): 902500 950000 997500
[21335.333460] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1000000000 Hz --> 1725000000 Hz
[21335.338373] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21335.361509] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21335.361664] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21335.371525] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1400000000 Hz
[21335.375622] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21335.384581] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21335.390952] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21335.413496] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz
[21335.413641] cpu cpu0: _set_opp_voltage: voltages (mV): 855000 900000 945000
[21335.423550] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 800000000 Hz --> 1400000000 Hz
[21335.427620] cpu cpu0: _set_opp_voltage: voltages (mV): 973750 1025000 1076250
[21335.437363] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1400000000 Hz --> 1725000000 Hz
[21335.443815] cpu cpu0: _set_opp_voltage: voltages (mV): 1045000 1100000 1155000
[21335.465473] cpu cpu0: dev_pm_opp_set_rate: switching OPP: 1725000000 Hz --> 800000000 Hz

The original post about the scaling issues.

There is some frequency setting bug in ipq8065's drivers. If you change frequency from 1GHz-1.4GHz to max, you get a lot worse latency than when changing from 600-800MHz. I suspect L2 is not done right?

@Ansuel can you run your test in 4.19 using this way of switching to performace governor?

can you explain better how to test this?

Run these commands below and then run bwm the way you did.

echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
echo performance > /sys/devices/system/cpu/cpufreq/policy1/scaling_governor
echo 800000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq
echo 800000 > /sys/devices/system/cpu/cpufreq/policy1/scaling_max_freq
sleep 1
echo 1750000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_max_freq
echo 1750000 > /sys/devices/system/cpu/cpufreq/policy1/scaling_max_freq

Before

root@No-Lag-Router:/tmp# ./mbw 32 | grep AVG
AVG     Method: MEMCPY  Elapsed: 0.05528        MiB: 32.00000   Copy: 578.877 MiB/s
AVG     Method: DUMB    Elapsed: 0.45141        MiB: 32.00000   Copy: 70.889 MiB/s
AVG     Method: MCBLOCK Elapsed: 0.06016        MiB: 32.00000   Copy: 531.895 MiB/s

after

root@No-Lag-Router:/tmp# ./mbw 32 | grep AVG
AVG     Method: MEMCPY  Elapsed: 0.05853        MiB: 32.00000   Copy: 546.753 MiB/s
AVG     Method: DUMB    Elapsed: 0.39838        MiB: 32.00000   Copy: 80.326 MiB/s
AVG     Method: MCBLOCK Elapsed: 0.06192        MiB: 32.00000   Copy: 516.767 MiB/s

I think we should find a way to trigger the error and check if it does show also with this patch...

Both 19.07 and master seem to faster by ~30% according to this metric...

Again my test are done with a loaded system
Will kill any process any try again...
Still there is a problem with l2 cache scaling.

There is no argument here. We all are just trying to figure out how to measure the impact of the changes and making sure that the router is not slower than it used to be with the broken L2 cache scaling.

1 Like

Tweaking some code as i notice there are some small problem in the scaling logic...
Anyway we have peak but still can't exceed 700mb

root@No-Lag-Router:~# ./mbw 32
Long uses 4 bytes. Allocating 2*8388608 elements = 67108864 bytes of memory.
Using 262144 bytes as blocks for memcpy block copy test.
Getting down to business... Doing 10 runs per test.
0       Method: MEMCPY  Elapsed: 0.05364        MiB: 32.00000   Copy: 596.614 MiB/s
1       Method: MEMCPY  Elapsed: 0.04946        MiB: 32.00000   Copy: 646.935 MiB/s
2       Method: MEMCPY  Elapsed: 0.04380        MiB: 32.00000   Copy: 730.677 MiB/s
3       Method: MEMCPY  Elapsed: 0.04356        MiB: 32.00000   Copy: 734.568 MiB/s
4       Method: MEMCPY  Elapsed: 0.04394        MiB: 32.00000   Copy: 728.249 MiB/s
5       Method: MEMCPY  Elapsed: 0.05945        MiB: 32.00000   Copy: 538.249 MiB/s
6       Method: MEMCPY  Elapsed: 0.06197        MiB: 32.00000   Copy: 516.404 MiB/s
7       Method: MEMCPY  Elapsed: 0.06210        MiB: 32.00000   Copy: 515.306 MiB/s
8       Method: MEMCPY  Elapsed: 0.06188        MiB: 32.00000   Copy: 517.147 MiB/s
9       Method: MEMCPY  Elapsed: 0.06211        MiB: 32.00000   Copy: 515.223 MiB/s
AVG     Method: MEMCPY  Elapsed: 0.05419        MiB: 32.00000   Copy: 590.510 MiB/s
0       Method: DUMB    Elapsed: 0.83081        MiB: 32.00000   Copy: 38.517 MiB/s
1       Method: DUMB    Elapsed: 0.84676        MiB: 32.00000   Copy: 37.791 MiB/s
2       Method: DUMB    Elapsed: 0.82403        MiB: 32.00000   Copy: 38.834 MiB/s
3       Method: DUMB    Elapsed: 0.83276        MiB: 32.00000   Copy: 38.427 MiB/s
4       Method: DUMB    Elapsed: 0.81806        MiB: 32.00000   Copy: 39.117 MiB/s
5       Method: DUMB    Elapsed: 0.82962        MiB: 32.00000   Copy: 38.572 MiB/s
6       Method: DUMB    Elapsed: 0.43703        MiB: 32.00000   Copy: 73.222 MiB/s
7       Method: DUMB    Elapsed: 0.20770        MiB: 32.00000   Copy: 154.071 MiB/s
8       Method: DUMB    Elapsed: 0.18971        MiB: 32.00000   Copy: 168.681 MiB/s
9       Method: DUMB    Elapsed: 0.53902        MiB: 32.00000   Copy: 59.366 MiB/s
AVG     Method: DUMB    Elapsed: 0.63555        MiB: 32.00000   Copy: 50.350 MiB/s
0       Method: MCBLOCK Elapsed: 0.06207        MiB: 32.00000   Copy: 515.564 MiB/s
1       Method: MCBLOCK Elapsed: 0.06249        MiB: 32.00000   Copy: 512.066 MiB/s
2       Method: MCBLOCK Elapsed: 0.06256        MiB: 32.00000   Copy: 511.542 MiB/s
3       Method: MCBLOCK Elapsed: 0.06228        MiB: 32.00000   Copy: 513.825 MiB/s
4       Method: MCBLOCK Elapsed: 0.06217        MiB: 32.00000   Copy: 514.718 MiB/s
5       Method: MCBLOCK Elapsed: 0.06335        MiB: 32.00000   Copy: 505.114 MiB/s
6       Method: MCBLOCK Elapsed: 0.04638        MiB: 32.00000   Copy: 689.953 MiB/s
7       Method: MCBLOCK Elapsed: 0.04597        MiB: 32.00000   Copy: 696.046 MiB/s
8       Method: MCBLOCK Elapsed: 0.06358        MiB: 32.00000   Copy: 503.295 MiB/s
9       Method: MCBLOCK Elapsed: 0.06270        MiB: 32.00000   Copy: 510.383 MiB/s
AVG     Method: MCBLOCK Elapsed: 0.05935        MiB: 32.00000   Copy: 539.130 MiB/s

Do you have this in your patch set?

Oh, one more thing to do on this router to free up some CPU cycles to disable stats collection on the switch:

swconfig dev switch0 set ar8xxx_mib_poll_interval 0

i'm start to thinking that the real culprit here is the fab scaling...
Improvement with stock implementation is massive...

root@No-Lag-Router:~# echo performance > /sys/devices/system/cpu/cpufreq/policy0
/scaling_governor
root@No-Lag-Router:~# echo performance > /sys/devices/system/cpu/cpufreq/policy1
/scaling_governor
root@No-Lag-Router:~# ./mbw 32 | grep AVG
AVG     Method: MEMCPY  Elapsed: 0.04263        MiB: 32.00000   Copy: 750.717 MiB/s
AVG     Method: DUMB    Elapsed: 0.18602        MiB: 32.00000   Copy: 172.024 MiB/s
AVG     Method: MCBLOCK Elapsed: 0.04317        MiB: 32.00000   Copy: 741.187 MiB/s
root@No-Lag-Router:~# ./mbw 32 | grep AVG
AVG     Method: MEMCPY  Elapsed: 0.04333        MiB: 32.00000   Copy: 738.498 MiB/s
AVG     Method: DUMB    Elapsed: 0.18547        MiB: 32.00000   Copy: 172.536 MiB/s
AVG     Method: MCBLOCK Elapsed: 0.04298        MiB: 32.00000   Copy: 744.612 MiB/s
root@No-Lag-Router:~# ./mbw 32 | grep AVG
AVG     Method: MEMCPY  Elapsed: 0.04364        MiB: 32.00000   Copy: 733.356 MiB/s
AVG     Method: DUMB    Elapsed: 0.18602        MiB: 32.00000   Copy: 172.029 MiB/s
AVG     Method: MCBLOCK Elapsed: 0.04369        MiB: 32.00000   Copy: 732.503 MiB/s

Also

root@No-Lag-Router:~# echo 800000 > /sys/devices/system/cpu/cpufreq/policy0/scal
ing_max_freq
sleep 1
root@No-Lag-Router:~# echo 800000 > /sys/devices/system/cpu/cpufreq/policy1/scal
ing_max_freq
root@No-Lag-Router:~# sleep 1
root@No-Lag-Router:~# echo 1750000 > /sys/devices/system/cpu/cpufreq/policy0/sca
ling_max_freq
root@No-Lag-Router:~# echo 1750000 > /sys/devices/system/cpu/cpufreq/policy1/sca
ling_max_freq
root@No-Lag-Router:~# ./mbw 32 | grep AVG
AVG     Method: MEMCPY  Elapsed: 0.04316        MiB: 32.00000   Copy: 741.395 MiB/s
AVG     Method: DUMB    Elapsed: 0.18944        MiB: 32.00000   Copy: 168.923 MiB/s
AVG     Method: MCBLOCK Elapsed: 0.04540        MiB: 32.00000   Copy: 704.860 MiB/s
root@No-Lag-Router:~# ./mbw 32 | grep AVG
AVG     Method: MEMCPY  Elapsed: 0.04338        MiB: 32.00000   Copy: 737.672 MiB/s
AVG     Method: DUMB    Elapsed: 0.18819        MiB: 32.00000   Copy: 170.039 MiB/s
AVG     Method: MCBLOCK Elapsed: 0.04597        MiB: 32.00000   Copy: 696.086 MiB/s

We need to find a way to trigger the problem... I added one line to the stock patchest that set the l2 clk to idle and then to the real one. That's all...

Would you consider submitting this one to 19.07 as well?

Np but we still need to make sure it's actually fixed and for now i can't find a way to check this

What is it? I thought that you were going after memory throughput, which is improved. Even though I can achieve the same 700+ MB/s with the existing code by changing the CPU freq from 800 to 1,750MHz.

It = problem with performance degradation with cache freq transaction

Doing more test ...

Setting scaling_max_freq to 1000000
Setting scaling_max_freq to 600000
Setting scaling_min_freq to 600000
cpu0 cur_freq: 600000
cpu1 cur_freq: 600000
AVG     Method: MEMCPY  Elapsed: 0.01975        MiB: 8.00000    Copy: 405.024 MiB/s
AVG     Method: DUMB    Elapsed: 0.14143        MiB: 8.00000    Copy: 56.566 MiB/s
AVG     Method: MCBLOCK Elapsed: 0.02036        MiB: 8.00000    Copy: 392.939 MiB/s
Setting scaling_max_freq to 1000000
Setting scaling_max_freq to 800000
Setting scaling_min_freq to 800000
cpu0 cur_freq: 800000
cpu1 cur_freq: 800000
AVG     Method: MEMCPY  Elapsed: 0.01800        MiB: 8.00000    Copy: 444.447 MiB/s
AVG     Method: DUMB    Elapsed: 0.09569        MiB: 8.00000    Copy: 83.601 MiB/s
AVG     Method: MCBLOCK Elapsed: 0.01846        MiB: 8.00000    Copy: 433.287 MiB/s
Setting scaling_max_freq to 1000000
Setting scaling_max_freq to 1000000
Setting scaling_min_freq to 1000000
cpu0 cur_freq: 1000000
cpu1 cur_freq: 1000000
AVG     Method: MEMCPY  Elapsed: 0.01283        MiB: 8.00000    Copy: 623.320 MiB/s
AVG     Method: DUMB    Elapsed: 0.07759        MiB: 8.00000    Copy: 103.112 MiB/s
AVG     Method: MCBLOCK Elapsed: 0.01286        MiB: 8.00000    Copy: 622.079 MiB/s
Setting scaling_max_freq to 1000000
Setting scaling_max_freq to 1400000
Setting scaling_min_freq to 1400000
cpu0 cur_freq: 1400000
cpu1 cur_freq: 1400000
AVG     Method: MEMCPY  Elapsed: 0.01186        MiB: 8.00000    Copy: 674.639 MiB/s
AVG     Method: DUMB    Elapsed: 0.05576        MiB: 8.00000    Copy: 143.476 MiB/s
AVG     Method: MCBLOCK Elapsed: 0.01181        MiB: 8.00000    Copy: 677.220 MiB/s
Setting scaling_max_freq to 1000000
sh: write error: Invalid argument
sh: write error: Invalid argument
Setting scaling_max_freq to 1725000
Setting scaling_min_freq to 1725000
cpu0 cur_freq: 1725000
cpu1 cur_freq: 1725000
AVG     Method: MEMCPY  Elapsed: 0.01174        MiB: 8.00000    Copy: 681.628 MiB/s
AVG     Method: DUMB    Elapsed: 0.04653        MiB: 8.00000    Copy: 171.928 MiB/s
AVG     Method: MCBLOCK Elapsed: 0.01193        MiB: 8.00000    Copy: 670.573 MiB/s

Looks good to me