These add the scheduler information to be aware cpu capacity. Some R-Car SoCs have big LITTLE architecture(e.g. CA57/CA53). It has a difference performance/power consumption for each CPUs. As the scheduler will be aware the capacity of CPU, the scheduler is balancing so that the free capacity of each CPU is even. This means that it aggressively migrates tasks to big CPUs(e.g. CA57) with large capacity in case of the system load is low and middle, the performance of user application is improved than before. Since most users for IVI are using CPU with performance oriented than power consumption, this change will benefit for their use-cases. Some benchmark is improved as an example below. UnixBench (1 parallel) on R-Car M3-W (CA57x2 + CA53x4) : before after - Dhrystone 2 using register variables 9197952 15534005 +68% - Double-Precision Whetstone 1390 1697 +22% - Execl Throughput 621 1189 +91% - File Copy 1024 bufsize 2000 maxblocks 81755 138840 +69% - File Copy 256 bufsize 500 maxblocks 25819 40125 +55% - File Copy 4096 bufsize 8000 maxblocks 212116 384956 +81% - Pipe Throughput 133006 232866 +75% - Pipe-based Context Switching 23973 46271 +93% - Process Creation 1085 2253 +107% - Shell Scripts (1 concurrent) 682 1003 +47% - Shell Scripts (8 concurrent) 261 319 +22% - System Call Overhead 107912 193681 +79% - System Benchmarks Index Score 177 293 +65% UnixBench (8 parallel) on R-Car H3 (CA57x4 + CA53x4) : before after - Dhrystone 2 using register variables 86830146 86498236 0% - Double-Precision Whetstone 11640 11783 +1% - Execl Throughput 4196 4207 0% - File Copy 1024 bufsize 2000 maxblocks 122995 127868 +3% - File Copy 256 bufsize 500 maxblocks 32339 30683 -6% - File Copy 4096 bufsize 8000 maxblocks 312526 421738 +34% - Pipe Throughput 904408 896829 -1% - Pipe-based Context Switching 136409 122969 -10% - Process Creation 5877 5712 -3% - Shell Scripts (1 concurrent) 3533 3279 -7% - Shell Scripts (8 concurrent) 467 465 0% - System Call Overhead 738344 735697 0% - System Benchmarks Index Score 718 721 0% based on renesas-devel-20180212-v4.16-rc1 Gaku Inami (5): arm64: dts: renesas: r8a7795: Add multi-cluster definition arm64: dts: renesas: r8a7796: Add multi-cluster definition arm64: dts: renesas: r8a7795: Add cpu capacity-dmips-mhz arm64: dts: renesas: r8a7796: Add cpu capacity-dmips-mhz soc: renesas: rcar-topology: Add support to be aware cpu capacity arch/arm64/boot/dts/renesas/r8a7795.dtsi | 40 ++++++++++++++++++++++++++++++++ arch/arm64/boot/dts/renesas/r8a7796.dtsi | 32 +++++++++++++++++++++++++ drivers/soc/renesas/Kconfig | 4 ++++ drivers/soc/renesas/Makefile | 1 + drivers/soc/renesas/rcar-topology.c | 36 ++++++++++++++++++++++++++++ 5 files changed, 113 insertions(+) create mode 100644 drivers/soc/renesas/rcar-topology.c -- 2.7.4