Re: [PATCH 00/10] interconnect: osm-l3: SC8280XP L3 and DDR scaling

From: Steev Klimaszewski
Date: Fri Oct 28 2022 - 21:27:47 EST


On Thu, Oct 27, 2022 at 10:42 PM Bjorn Andersson
<quic_bjorande@xxxxxxxxxxx> wrote:
>
> The SC8280XP currently shows depressing results in memory benchmarks.
> Fix this by introducing support for the platform in the OSM (and EPSS)
> L3 driver and support for the platform in the bwmon binding.
>
> Then add the necessary nodes and values throughout the sc8280xp and
> sa8540p dtsi files to make the various devices on these platforms scale
> both L3, memory bus and DDR.
>
> Bjorn Andersson (10):
> interconnect: qcom: osm-l3: Use platform-independent node ids
> interconnect: qcom: osm-l3: Squash common descriptors
> interconnect: qcom: osm-l3: Add per-core EPSS L3 support
> interconnect: qcom: osm-l3: Simplify osm_l3_set()
> dt-bindings: interconnect: Add sm8350, sc8280xp and generic OSM L3
> compatibles
> arm64: dts: qcom: Align with generic osm-l3/epss-l3
> arm64: dts: qcom: sc8280xp: Add epss_l3 node
> arm64: dts: qcom: sc8280xp: Set up L3 scaling
> dt-bindings: interconnect: qcom,msm8998-bwmon: Add sc8280xp bwmon
> instances
> arm64: dts: qcom: sc8280xp: Add bwmon instances
>
> .../interconnect/qcom,msm8998-bwmon.yaml | 5 +
> .../bindings/interconnect/qcom,osm-l3.yaml | 22 ++-
> arch/arm64/boot/dts/qcom/sa8540p.dtsi | 39 +++++
> arch/arm64/boot/dts/qcom/sc7180.dtsi | 2 +-
> arch/arm64/boot/dts/qcom/sc7280.dtsi | 2 +-
> arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 152 ++++++++++++++++++
> arch/arm64/boot/dts/qcom/sdm845.dtsi | 2 +-
> arch/arm64/boot/dts/qcom/sm8150.dtsi | 2 +-
> arch/arm64/boot/dts/qcom/sm8250.dtsi | 2 +-
> drivers/interconnect/qcom/osm-l3.c | 126 ++++-----------
> 10 files changed, 251 insertions(+), 103 deletions(-)
>
> --
> 2.37.3
>
Prior to this series being applied:

steev@cho:~/temp/mybw$ ./mybw
64: 21043.42MB/s
128: 22511.90MB/s
256: 23190.96MB/s
512: 23532.00MB/s
1024: 23537.36MB/s
2K: 23730.19MB/s
4K: 23307.45MB/s
8K: 23603.36MB/s
16K: 23752.39MB/s
32K: 23819.91MB/s
64K: 23871.28MB/s
128K: 23890.10MB/s
256K: 23851.90MB/s
512K: 23759.65MB/s
1024K: 15956.73MB/s
2M: 8418.88MB/s
4M: 6385.06MB/s
8M: 5959.11MB/s
16M: 5892.18MB/s
32M: 6109.78MB/s


With this series applied:
steev@cho:~/temp/mybw$ ./mybw
64: 21193.63MB/s
128: 22513.64MB/s
256: 23196.15MB/s
512: 23554.33MB/s
1024: 23555.31MB/s
2K: 23738.53MB/s
4K: 23310.13MB/s
8K: 23616.14MB/s
16K: 23768.47MB/s
32K: 23847.16MB/s
64K: 23881.61MB/s
128K: 23901.33MB/s
256K: 23910.21MB/s
512K: 23839.70MB/s
1024K: 23577.47MB/s
2M: 23836.08MB/s
4M: 23798.35MB/s
8M: 23759.23MB/s
16M: 22887.62MB/s
32M: 22491.87MB/s

Additionally, if anyone is curious, geekbench 5.4 comparison, with
this patchset applied on 6.0.5:

https://browser.geekbench.com/v5/cpu/compare/18284519?baseline=18076980

This change is very welcomed :)

Tested on the Lenovo Thinkpad X13s

Tested-by: Steev Klimaszewski <steev@xxxxxxxx>