• Danny Lin's avatar
    arm64: dts: qcom: sm8250: Add CPU capacities and energy model · 6aabed55
    Danny Lin authored
    Power and performance measurements were made using my freqbench [1]
    benchmark coordinator, which isolates, offlines, and disables the timer
    tick on test CPUs to maximize accuracy. It uses EEMBC CoreMark [2] as
    the workload and measures power usage using the PM8150B PMIC's fuel
    gauge.
    
    The energy model dynamic-power-coefficient values were calculated with
        DPC = µW / MHz / V^2
    for each OPP, and averaged across all OPPs within each cluster for the
    final coefficient. Voltages were obtained from the qcom-cpufreq-hw
    driver that reads voltages from the OSM LUT programmed into the SoC.
    
    Normalized DMIPS/MHz capacity scale values for each CPU were calculated
    from CoreMarks/MHz (CoreMark iterations per second per MHz), which
    serves the same purpose. For each CPU, the final capacity-dmips-mhz
    value is the C/MHz value of its maximum frequency normalized to
    SCHED_CAPACITY_SCALE (1024) for the fastest CPU in the system.
    
    A Xiaomi Redmi K30S Ultra device running a downstream Qualcomm 4.19
    kernel was used for benchmarking to ensure proper frequency scaling and
    other low-level controls.
    
    Raw benchmark results can be found in the freqbench repository [3].
    Below is a human-readable summary:
    
    Frequency domains: cpu1 cpu4 cpu7
    Offline CPUs: cpu1 cpu2 cpu3 cpu4 cpu5 cpu6 cpu7
    Baseline power usage: 1223 mW
    
    ===== CPU 1 =====
    Frequencies: 300 403 518 614 691 787 883 979 1075 1171 1248 1344 1420 1516 1612 1708 1804
    
     300:  1114     3.7 C/MHz     29 mW    6.4 J   39.0 I/mJ   224.5 s
     403:  1497     3.7 C/MHz     33 mW    5.5 J   45.2 I/mJ   167.0 s
     518:  1925     3.7 C/MHz     48 mW    6.3 J   39.7 I/mJ   129.9 s
     614:  2281     3.7 C/MHz     73 mW    8.0 J   31.1 I/mJ   109.6 s
     691:  2566     3.7 C/MHz     46 mW    4.5 J   55.2 I/mJ    97.4 s
     787:  2923     3.7 C/MHz     86 mW    7.4 J   33.8 I/mJ    85.5 s
     883:  3279     3.7 C/MHz     77 mW    5.9 J   42.5 I/mJ    76.2 s
     979:  3635     3.7 C/MHz     65 mW    4.4 J   56.2 I/mJ    68.8 s
    1075:  3992     3.7 C/MHz     71 mW    4.4 J   56.2 I/mJ    62.6 s
    1171:  4348     3.7 C/MHz    121 mW    6.9 J   36.0 I/mJ    57.5 s
    1248:  4633     3.7 C/MHz     79 mW    4.2 J   58.9 I/mJ    54.0 s
    1344:  4990     3.7 C/MHz     81 mW    4.0 J   61.7 I/mJ    50.1 s
    1420:  5275     3.7 C/MHz     85 mW    4.0 J   61.8 I/mJ    47.4 s
    1516:  5632     3.7 C/MHz     88 mW    3.9 J   64.3 I/mJ    44.4 s
    1612:  5988     3.7 C/MHz     92 mW    3.8 J   65.4 I/mJ    41.7 s
    1708:  6346     3.7 C/MHz     96 mW    3.8 J   66.3 I/mJ    39.4 s
    1804:  6701     3.7 C/MHz    105 mW    3.9 J   63.5 I/mJ    37.3 s
    
    ===== CPU 4 =====
    Frequencies: 710 825 940 1056 1171 1286 1382 1478 1574 1670 1766 1862 1958 2054 2150 2246 2342 2419
    
     710:  6022     8.5 C/MHz    123 mW    5.1 J   49.1 I/mJ    41.5 s
     825:  7001     8.5 C/MHz    142 mW    5.1 J   49.4 I/mJ    35.7 s
     940:  7987     8.5 C/MHz    164 mW    5.1 J   48.7 I/mJ    31.3 s
    1056:  8954     8.5 C/MHz    185 mW    5.2 J   48.3 I/mJ    27.9 s
    1171:  9944     8.5 C/MHz    212 mW    5.3 J   46.9 I/mJ    25.2 s
    1286: 10926     8.5 C/MHz    235 mW    5.4 J   46.4 I/mJ    22.9 s
    1382: 11735     8.5 C/MHz    253 mW    5.4 J   46.4 I/mJ    21.3 s
    1478: 12531     8.5 C/MHz    277 mW    5.5 J   45.2 I/mJ    20.0 s
    1574: 13335     8.5 C/MHz    306 mW    5.7 J   43.6 I/mJ    18.8 s
    1670: 14169     8.5 C/MHz    335 mW    5.9 J   42.2 I/mJ    17.7 s
    1766: 14969     8.5 C/MHz    353 mW    5.9 J   42.3 I/mJ    16.7 s
    1862: 15800     8.5 C/MHz    444 mW    7.0 J   35.6 I/mJ    15.8 s
    1958: 16630     8.5 C/MHz    463 mW    7.0 J   35.9 I/mJ    15.0 s
    2054: 17428     8.5 C/MHz    480 mW    6.9 J   36.3 I/mJ    14.4 s
    2150: 18238     8.5 C/MHz    496 mW    6.8 J   36.8 I/mJ    13.7 s
    2246: 19053     8.5 C/MHz    578 mW    7.6 J   32.9 I/mJ    13.1 s
    2342: 19873     8.5 C/MHz    625 mW    7.9 J   31.8 I/mJ    12.6 s
    2419: 20522     8.5 C/MHz    675 mW    8.2 J   30.4 I/mJ    12.2 s
    
    ===== CPU 7 =====
    Frequencies: 844 960 1075 1190 1305 1401 1516 1632 1747 1862 1977 2073 2169 2265 2361 2457 2553 2649 2745 2841
    
     844:  7172     8.5 C/MHz    155 mW    5.4 J   46.4 I/mJ    34.9 s
     960:  8148     8.5 C/MHz    172 mW    5.3 J   47.4 I/mJ    30.7 s
    1075:  9116     8.5 C/MHz    197 mW    5.4 J   46.2 I/mJ    27.4 s
    1190: 10105     8.5 C/MHz    220 mW    5.4 J   46.0 I/mJ    24.8 s
    1305: 11084     8.5 C/MHz    242 mW    5.5 J   45.8 I/mJ    22.6 s
    1401: 11888     8.5 C/MHz    262 mW    5.5 J   45.4 I/mJ    21.0 s
    1516: 12859     8.5 C/MHz    297 mW    5.8 J   43.2 I/mJ    19.5 s
    1632: 13840     8.5 C/MHz    335 mW    6.1 J   41.3 I/mJ    18.1 s
    1747: 14827     8.5 C/MHz    369 mW    6.2 J   40.1 I/mJ    16.9 s
    1862: 15800     8.5 C/MHz    395 mW    6.3 J   40.0 I/mJ    15.8 s
    1977: 16786     8.5 C/MHz    443 mW    6.6 J   37.9 I/mJ    14.9 s
    2073: 17566     8.5 C/MHz    488 mW    6.9 J   36.0 I/mJ    14.2 s
    2169: 18395     8.5 C/MHz    620 mW    8.4 J   29.7 I/mJ    13.6 s
    2265: 19223     8.5 C/MHz    621 mW    8.1 J   30.9 I/mJ    13.0 s
    2361: 20040     8.5 C/MHz    672 mW    8.4 J   29.8 I/mJ    12.5 s
    2457: 20852     8.5 C/MHz    696 mW    8.3 J   29.9 I/mJ    12.0 s
    2553: 21684     8.5 C/MHz    738 mW    8.5 J   29.3 I/mJ    11.5 s
    2649: 22458     8.5 C/MHz    793 mW    8.8 J   28.3 I/mJ    11.1 s
    2745: 23314     8.5 C/MHz    875 mW    9.4 J   26.6 I/mJ    10.7 s
    2841: 24103     8.5 C/MHz    928 mW    9.6 J   26.0 I/mJ    10.4 s
    
    [1] https://github.com/kdrag0n/freqbench
    [2] https://www.eembc.org/coremark/
    [3] https://github.com/kdrag0n/freqbench/tree/master/results/sm8250/k30sSigned-off-by: default avatarDanny Lin <danny@kdrag0n.dev>
    Link: https://lore.kernel.org/r/20210112013255.415253-2-danny@kdrag0n.devSigned-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
    6aabed55
sm8250.dtsi 98.5 KB