Message ID | 20200107090519.3231-1-cw00.choi@samsung.com (mailing list archive) |
---|---|
Headers | show |
Series | PM / devfreq: Add debugfs support | expand |
Hi, On 07.01.2020 10:05, Chanwoo Choi wrote: > Add debugfs interface to provide debugging information of devfreq device. > It contains 'devfreq_summary' and 'debug_transitions' debugfs file > in order to provide the simple profiling to user via debugfs > without any specific profiling tool. > > [Added debugfs file] > - "/sys/kernel/debug/devfreq/devfreq_summary" > : Show the summary of the registered devfreq devices. > - "/sys/kernel/debug/devfreq/devfreq_transitions" > : Show the frequency transition of the registered devfreq devices. > > Recommend the each patch to check the detailed description > of each fields of both devfreq_summary and devfreq_transitions. > > This series contains the patch[1] and add the patch2 for 'devfreq_transitions' > [1] https://patchwork.kernel.org/patch/11320265/ > - [v3] PM / devfreq: Add debugfs support with devfreq_summary file > > > For example on Exynos5422-based Odroid-XU3 board, > - In order to show the multiple governors on devfreq_summay result, > change the governor of devfreq0 from simple_ondemand to userspace. > > $ cat /sys/kernel/debug/devfreq/devfreq_summary > dev_name dev parent_dev governor polling_ms cur_freq_hz min_freq_hz max_freq_hz Imho either drop "_hz" or change it to "_Hz". > ------------------------------ ---------- ---------- --------------- ---------- ------------ ------------ ------------ > 10c20000.memory-controller devfreq0 userspace 0 206000000 165000000 825000000 > soc:bus_wcore devfreq1 simple_ondemand 50 532000000 88700000 532000000 > soc:bus_noc devfreq2 devfreq1 passive 0 111000000 66600000 111000000 > soc:bus_fsys_apb devfreq3 devfreq1 passive 0 222000000 111000000 222000000 > soc:bus_fsys devfreq4 devfreq1 passive 0 200000000 75000000 200000000 > soc:bus_fsys2 devfreq5 devfreq1 passive 0 200000000 75000000 200000000 > soc:bus_mfc devfreq6 devfreq1 passive 0 333000000 83250000 333000000 > soc:bus_gen devfreq7 devfreq1 passive 0 266000000 88700000 266000000 > soc:bus_peri devfreq8 devfreq1 passive 0 66600000 66600000 66600000 > soc:bus_g2d devfreq9 devfreq1 passive 0 0 83250000 333000000 Imho it better looks with freq aligned to right, eg.: soc:bus_gen devfreq7 devfreq1 passive 0 266000000 88700000 266000000 soc:bus_peri devfreq8 devfreq1 passive 0 66600000 66600000 66600000 soc:bus_g2d devfreq9 devfreq1 passive 0 0 83250000 333000000 > soc:bus_g2d_acp devfreq10 devfreq1 passive 0 0 66500000 266000000 > soc:bus_jpeg devfreq11 devfreq1 passive 0 0 75000000 300000000 > soc:bus_jpeg_apb devfreq12 devfreq1 passive 0 0 83250000 166500000 > soc:bus_disp1_fimd devfreq13 devfreq1 passive 0 0 120000000 200000000 > soc:bus_disp1 devfreq14 devfreq1 passive 0 0 120000000 300000000 > soc:bus_gscl_scaler devfreq15 devfreq1 passive 0 0 150000000 300000000 > soc:bus_mscl devfreq16 devfreq1 passive 0 0 84000000 666000000 > > $ cat /sys/kernel/debug/devfreq/devfreq_transitions > time_ms dev_name dev parent_dev load_% old_freq_hz new_freq_hz > ---------- ------------------------------ ---------- ---------- ---------- ------------ ------------ > 14600 soc:bus_noc devfreq2 devfreq1 0 100000000 67000000 > 14600 soc:bus_fsys_apb devfreq3 devfreq1 0 200000000 100000000 > 14600 soc:bus_fsys devfreq4 devfreq1 0 200000000 100000000 > 14600 soc:bus_fsys2 devfreq5 devfreq1 0 150000000 75000000 > 14602 soc:bus_mfc devfreq6 devfreq1 0 222000000 96000000 > 14602 soc:bus_gen devfreq7 devfreq1 0 267000000 89000000 > 14602 soc:bus_g2d devfreq9 devfreq1 0 300000000 84000000 > 14602 soc:bus_g2d_acp devfreq10 devfreq1 0 267000000 67000000 > 14602 soc:bus_jpeg devfreq11 devfreq1 0 300000000 75000000 > 14602 soc:bus_jpeg_apb devfreq12 devfreq1 0 167000000 84000000 > 14603 soc:bus_disp1_fimd devfreq13 devfreq1 0 200000000 120000000 > 14603 soc:bus_disp1 devfreq14 devfreq1 0 300000000 120000000 > 14606 soc:bus_gscl_scaler devfreq15 devfreq1 0 300000000 150000000 > 14606 soc:bus_mscl devfreq16 devfreq1 0 333000000 84000000 > 14608 soc:bus_wcore devfreq1 9 333000000 84000000 > 14783 10c20000.memory-controller devfreq0 35 825000000 633000000 > 15873 soc:bus_wcore devfreq1 41 84000000 400000000 > 15873 soc:bus_noc devfreq2 devfreq1 0 67000000 100000000 > [snip] > > > Depends on: > It depends on patch[2] for preventing the merge conflic. > [2] https://patchwork.kernel.org/patch/11320257/ > - PM / devfreq: Add missing function description and rename static functions > > Chanwoo Choi (2): > PM / devfreq: Add debugfs support with devfreq_summary file > PM / devfreq: Add devfreq_transitions debugfs file > > drivers/devfreq/Kconfig | 13 ++ > drivers/devfreq/devfreq.c | 206 +++++++++++++++++++++++++++++ > drivers/devfreq/governor.h | 3 + > drivers/devfreq/governor_passive.c | 2 + > include/linux/devfreq.h | 1 + > 5 files changed, 225 insertions(+) >
On 1/10/20 12:06 AM, Kamil Konieczny wrote: > Hi, > > On 07.01.2020 10:05, Chanwoo Choi wrote: >> Add debugfs interface to provide debugging information of devfreq device. >> It contains 'devfreq_summary' and 'debug_transitions' debugfs file >> in order to provide the simple profiling to user via debugfs >> without any specific profiling tool. >> >> [Added debugfs file] >> - "/sys/kernel/debug/devfreq/devfreq_summary" >> : Show the summary of the registered devfreq devices. >> - "/sys/kernel/debug/devfreq/devfreq_transitions" >> : Show the frequency transition of the registered devfreq devices. >> >> Recommend the each patch to check the detailed description >> of each fields of both devfreq_summary and devfreq_transitions. >> >> This series contains the patch[1] and add the patch2 for 'devfreq_transitions' >> [1] https://patchwork.kernel.org/patch/11320265/ >> - [v3] PM / devfreq: Add debugfs support with devfreq_summary file >> >> >> For example on Exynos5422-based Odroid-XU3 board, >> - In order to show the multiple governors on devfreq_summay result, >> change the governor of devfreq0 from simple_ondemand to userspace. >> >> $ cat /sys/kernel/debug/devfreq/devfreq_summary >> dev_name dev parent_dev governor polling_ms cur_freq_hz min_freq_hz max_freq_hz > > Imho either drop "_hz" or change it to "_Hz". hz -> Hz > >> ------------------------------ ---------- ---------- --------------- ---------- ------------ ------------ ------------ >> 10c20000.memory-controller devfreq0 userspace 0 206000000 165000000 825000000 >> soc:bus_wcore devfreq1 simple_ondemand 50 532000000 88700000 532000000 >> soc:bus_noc devfreq2 devfreq1 passive 0 111000000 66600000 111000000 >> soc:bus_fsys_apb devfreq3 devfreq1 passive 0 222000000 111000000 222000000 >> soc:bus_fsys devfreq4 devfreq1 passive 0 200000000 75000000 200000000 >> soc:bus_fsys2 devfreq5 devfreq1 passive 0 200000000 75000000 200000000 >> soc:bus_mfc devfreq6 devfreq1 passive 0 333000000 83250000 333000000 >> soc:bus_gen devfreq7 devfreq1 passive 0 266000000 88700000 266000000 >> soc:bus_peri devfreq8 devfreq1 passive 0 66600000 66600000 66600000 >> soc:bus_g2d devfreq9 devfreq1 passive 0 0 83250000 333000000 > > Imho it better looks with freq aligned to right, eg.: OK. > > soc:bus_gen devfreq7 devfreq1 passive 0 266000000 88700000 266000000 > soc:bus_peri devfreq8 devfreq1 passive 0 66600000 66600000 66600000 > soc:bus_g2d devfreq9 devfreq1 passive 0 0 83250000 333000000 > >> soc:bus_g2d_acp devfreq10 devfreq1 passive 0 0 66500000 266000000 >> soc:bus_jpeg devfreq11 devfreq1 passive 0 0 75000000 300000000 >> soc:bus_jpeg_apb devfreq12 devfreq1 passive 0 0 83250000 166500000 >> soc:bus_disp1_fimd devfreq13 devfreq1 passive 0 0 120000000 200000000 >> soc:bus_disp1 devfreq14 devfreq1 passive 0 0 120000000 300000000 >> soc:bus_gscl_scaler devfreq15 devfreq1 passive 0 0 150000000 300000000 >> soc:bus_mscl devfreq16 devfreq1 passive 0 0 84000000 666000000 >> >> $ cat /sys/kernel/debug/devfreq/devfreq_transitions >> time_ms dev_name dev parent_dev load_% old_freq_hz new_freq_hz >> ---------- ------------------------------ ---------- ---------- ---------- ------------ ------------ >> 14600 soc:bus_noc devfreq2 devfreq1 0 100000000 67000000 >> 14600 soc:bus_fsys_apb devfreq3 devfreq1 0 200000000 100000000 >> 14600 soc:bus_fsys devfreq4 devfreq1 0 200000000 100000000 >> 14600 soc:bus_fsys2 devfreq5 devfreq1 0 150000000 75000000 >> 14602 soc:bus_mfc devfreq6 devfreq1 0 222000000 96000000 >> 14602 soc:bus_gen devfreq7 devfreq1 0 267000000 89000000 >> 14602 soc:bus_g2d devfreq9 devfreq1 0 300000000 84000000 >> 14602 soc:bus_g2d_acp devfreq10 devfreq1 0 267000000 67000000 >> 14602 soc:bus_jpeg devfreq11 devfreq1 0 300000000 75000000 >> 14602 soc:bus_jpeg_apb devfreq12 devfreq1 0 167000000 84000000 >> 14603 soc:bus_disp1_fimd devfreq13 devfreq1 0 200000000 120000000 >> 14603 soc:bus_disp1 devfreq14 devfreq1 0 300000000 120000000 >> 14606 soc:bus_gscl_scaler devfreq15 devfreq1 0 300000000 150000000 >> 14606 soc:bus_mscl devfreq16 devfreq1 0 333000000 84000000 >> 14608 soc:bus_wcore devfreq1 9 333000000 84000000 >> 14783 10c20000.memory-controller devfreq0 35 825000000 633000000 >> 15873 soc:bus_wcore devfreq1 41 84000000 400000000 >> 15873 soc:bus_noc devfreq2 devfreq1 0 67000000 100000000 >> [snip] >> >> >> Depends on: >> It depends on patch[2] for preventing the merge conflic. >> [2] https://patchwork.kernel.org/patch/11320257/ >> - PM / devfreq: Add missing function description and rename static functions >> >> Chanwoo Choi (2): >> PM / devfreq: Add debugfs support with devfreq_summary file >> PM / devfreq: Add devfreq_transitions debugfs file >> >> drivers/devfreq/Kconfig | 13 ++ >> drivers/devfreq/devfreq.c | 206 +++++++++++++++++++++++++++++ >> drivers/devfreq/governor.h | 3 + >> drivers/devfreq/governor_passive.c | 2 + >> include/linux/devfreq.h | 1 + >> 5 files changed, 225 insertions(+) >> >