diff options
author | Alexander Koskovich <zvnexus@outlook.com> | 2020-08-25 12:06:17 +0000 |
---|---|---|
committer | alk3pInjection <webmaster@raspii.tech> | 2022-01-16 08:24:08 +0800 |
commit | cdfc07813553ed5681292c6acd8b5f05d2f12fa7 (patch) | |
tree | 2ef89183352cd5cf2bd156f1eebdc027856e613b | |
parent | 0ae8e61fdc7576cde1453bb0d5b1f38cac0fa962 (diff) |
common: Add QTI perf component
Squashed with the following changes:
Author: Vishalcj17 <vishalcj@aospa.co>
Date: Thu Oct 28 15:59:17 2021 +0900
[DNM] perf: Remove libcomposerextn for now.
* Causes surfaceflinger crash.
Change-Id: Ic97b979e5217d8477a01827c7cd73b869643c9c1
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Thu Jun 3 11:16:51 2021 -0700
common: Update to QSSI (12100) | MANNAR (05700)
Change-Id: Ie57ae6091f1bf20270a78041463d24cb0931152e
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Tue May 4 08:56:07 2021 -0700
common: perf: Add the poweropt service back.
Change-Id: I2f4d083e159041b12a0864fb7ce3f44b08747988
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Tue May 4 07:52:47 2021 -0700
common: Update to QSSI (11600) | MANNAR (05200)
Change-Id: I7e69f4bcb7c3dd322a96595cf014d3184d9bb000
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Mon Apr 26 22:11:38 2021 -0700
common: perf: Enable PASR active mode on v5.4 targets.
Change-Id: Ifef2c6786b84dcb5ef5479176ba6ced23b696276
Author: Jun Wang <junwan@codeaurora.org>
Date: Wed Apr 29 00:44:19 2020 +0800
common: perf: Enable the pre-rendering feature.
* Pre-rendering feature can improve FPS and reduce the janks
in scrolling cases.
* It is to be noted that QCOM only intends this be enabled
on LAHAINA, SHIMA, YUPIK and HOLI targets.
Change-Id: Ifd19196bc1f43643826edcd5bfa70bcb9612eda7
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Wed Apr 21 08:29:48 2021 -0700
common: Include beluga properties for LAHAINA.
Change-Id: Ib83c8e4959cf891fc0063408c0d8c7ea59c34ce5
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Wed Apr 21 08:38:40 2021 -0700
common: perf: Remove libmemutils.
* It's an overriding target in LAHAINA display HAL,
and it doesn't link against anything otherwise
so not quite sure why I originally added it.
Change-Id: I0ae5ab5191d1b983d44a7fffc1810dec7436916b
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Wed Apr 21 08:36:25 2021 -0700
common: perf: Add support for the gPLAF feature.
Change-Id: I07f185138e6e03311a2a144f021f0f2343e8487f
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Thu Apr 22 06:04:36 2021 -0700
common: Move task profiles to perf component.
* Looked like media on first glance to me.
Change-Id: Ibc275a70441807be085984fac682fbe4fbb5039e
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Mon Apr 19 21:59:21 2021 -0700
common: perf: Simplify copy out.
* Was broken on LAHAINA and realized that this is a
lot more complicated than it needs to be.
Change-Id: I530e3a83200d044af6a604bf8aef74c2c89f6944
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Thu Apr 15 01:59:21 2021 -0700
common: init: Update to LAHAINA (15500) | QSSI (11000).
* The init component is LAHAINA (15800).
Change-Id: I8e0414c31227c127cb469f4a8c7e335a4ec8f09f
Author: Adithya R <gh0strider.2k18.reborn@gmail.com>
Date: Sat Mar 13 21:34:03 2021 +0530
common: perf: Move sm6150 configs to correct folder
* TARGET_BOARD_PLATFORM is set to sm6150 on this platform.
* Also move perf configs correctly into subdir.
Change-Id: Ia7f2f0c85ac5c3e43625a0c449d389e044a9e0e6
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Fri Mar 12 07:12:46 2021 -0700
common: perf: Remove libpowercallback.
* Leftover.
Change-Id: I95de5df6ca960bcc2fe1ea9cddb5d4fff433eb77
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Wed Mar 10 23:21:40 2021 -0700
common: perf: Update configs from LA.UM.9.12.r1-10800-SMxx50.0.
Change-Id: Ic920b609f31b07225f00bc16a4548c2ee1780304
Author: StyloGey <stylogey@gmail.com>
Date: Mon Mar 1 18:14:03 2021 +0100
common: perf: correct irq priority of sdm660
Change-Id: Ieb7035242598fa62cb58b19fb6ab3ceea7431f4c
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Mon Mar 1 06:58:05 2021 -0700
common: perf: Disable the IOP HAL for select platforms.
Change-Id: Iabf70c3d8e94e10f64e7eb8e9afa47dfc562d9c4
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Mon Mar 1 06:24:13 2021 -0700
common: perf: Don't include platform boost configs.
* HOLI doesn't build the boost HAL that uses these.
Change-Id: I47d865876a7e02e569a75b6b173f203638743976
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Mon Mar 1 06:13:34 2021 -0700
common: perf: Remove poweropt service.
* Pretty much no device can use this, and doesn't offer
much value to the devices that can. Revisit this in the
future.
Change-Id: Id6875d6fffede876b7d9ca3a5bba84db8b8b8025
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Fri Feb 19 09:01:22 2021 -0700
common: perf: Build libpsi from source.
* Pulled this into proprietary files without a second
thought, assumed it was apart of psiclient.
Change-Id: I0adca9e5a8c9b06bbf4b99d50b27309fc34bffda
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Fri Feb 19 00:12:26 2021 -0700
common: perf: Add performance configs per SoC.
Change-Id: I5d630928c2b5d4b6f73b2ba2191178e5eea705ec
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Tue Feb 16 01:13:43 2021 -0700
common: perf: Don't advertise the sPLH feature.
* Broken on every non 5.4 device, and its very vocal
about that fact, performance dips as a result.
Change-Id: I2564297bb3e4c8111ba024937e8186fe92f7c21e
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Mon Feb 15 20:40:21 2021 -0700
common: perf: Add back 32 bit libraries.
* Turns out select legacy platforms require this still
for media.
Change-Id: I939d9762974fb640b44d5df00e33c7659f487564
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Thu Feb 11 09:47:16 2021 -0700
common: perf: Bring in /vendor stack from LA.UM.9.16.r1-03300-MANNAR.0.
Change-Id: I36985b69b67778878508cc993d6bd5fc9d47f049
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Thu Feb 11 10:49:22 2021 -0700
common: Update to LA.QSSI.11.0.r1-09900-qssi.0.
Change-Id: I6d4c3757904e55a043f57ba6ff2d269ed28f47ca
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Mon Feb 15 13:34:20 2021 -0700
common: Move AOSPA performance RC to proper component.
Change-Id: I5c19db40049f500f1ef4ef9639f0c2d22f6233e6
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Fri Jan 29 11:39:15 2021 -0700
common: Remove 32 bit libraries where possible.
* Reduces size of affected components by about 20%.
Change-Id: Ia7ca6c72f094a8da2a66a5819b8dc61289f4d467
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Thu Dec 24 12:08:30 2020 -0700
common: perf: Add QXPerformance JAR.
Change-Id: I07952acfe53af0c07b35fb30e928a2b1971795c0
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Thu Dec 3 07:24:27 2020 -0700
common: Use platform certificate with QSSI apps.
* Looking back they only presign a select few /vendor
apps.
Change-Id: I7fadd728d9be7c69f8bf2dd2a9b483f3efe6e306
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Sun Nov 29 22:30:43 2020 -0700
common: Add Service Tracker to the perf component.
Change-Id: I1f405004023052fdc908418ad2a1abb7bd03fdc5
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Thu Nov 12 22:02:22 2020 -0700
common: Update to LA.QSSI.11.0.r1-07500-qssi.0.
Change-Id: I6c2d30261395b2880d20a1d1ea1e37eaa03baf61
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Wed Oct 28 19:46:26 2020 -0700
common: Look through QSSI dump and find stuff we want to pull in.
Change-Id: I2bddc8cb1fc99f340d5b074870a5e908d70231fd
Author: Jake Weinstein <jake@aospa.co>
Date: Mon Oct 26 20:07:10 2020 +0100
common: add libbeluga (Scudo performance optimization) to perf component
Change-Id: I6774fb91abf1f9f56d7283a0be9ee939a5a7a281
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Fri Oct 16 20:25:30 2020 -0700
common: Update to LA.QSSI.11.0.r1-06600-qssi.0.
Change-Id: I2b4e5fcf5b07285a5ffd52fd59a2a3eb08498829
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Wed Sep 16 12:24:46 2020 -0700
common: Update from LA.QSSI.11.0.r1-05600-qssi.0.
Change-Id: I30d3d09087414b76afd41c7593697f0651c4bba0
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Tue Aug 25 15:09:54 2020 +0000
common: Clean up pathing, structure, move framework modules to dex import.
Change-Id: I145c8cc21b7137d2c8e8e33ca8369a9251f39cbf
Author: Alexander Koskovich <zvnexus@outlook.com>
Date: Tue Aug 25 12:06:17 2020 +0000
common: Update from LA.UM.8.12.c3-11300-sm8250.0.
* Add & pin some blobs from legacy SOCs that aren't
auto generated in newer releases.
Change-Id: I00ca9d513b8458a9e4ca9e74382a84645a93c93f
Author: Jake Weinstein <jake@aospa.co>
Date: Mon Jun 29 20:50:50 2020 +0200
perf: add Smooth Motion and Layer Extension libraries
Change-Id: I8fca4cf91a9519ea2bd0ea07529d274cf7064a4c
Author: Jake Weinstein <jake@aospa.co>
Date: Wed Jun 10 00:24:01 2020 +0200
common: clean up internal paths
No Functional Change
Change-Id: Id2cb0b1fa8bee053f1e38beb31d897d6a22fce0a
Author: Jake Weinstein <jake@aospa.co>
Date: Mon Jun 1 22:44:56 2020 +0200
common: Update proprietary-files.txt for LA.UM.8.13.r1-08500-sm8250.0
Change-Id: I6b894eb40cf1f0d96b476b8c16a136e125b010ab
Change-Id: I625dc9b1d3222221b19755785840b074587e1184
205 files changed, 16696 insertions, 0 deletions
@@ -56,6 +56,10 @@ ifneq (,$(filter display, $(TARGET_COMMON_QTI_COMPONENTS))) include $(LOCAL_PATH)/display/qti-display.mk endif +ifneq (,$(filter perf, $(TARGET_COMMON_QTI_COMPONENTS))) +include $(LOCAL_PATH)/perf/qti-perf.mk +endif + ifneq (,$(filter telephony, $(TARGET_COMMON_QTI_COMPONENTS))) include $(LOCAL_PATH)/telephony/qti-telephony.mk endif diff --git a/perf/Android.bp b/perf/Android.bp new file mode 100644 index 0000000..8d40f92 --- /dev/null +++ b/perf/Android.bp @@ -0,0 +1,30 @@ +// Copyright (C) 2021 Paranoid Android +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +soong_namespace { +} + +prebuilt_etc { + name: "init.ice.perf.rc", + src: "init.ice.perf.rc", + sub_dir: "init", + vendor: true, +} + +prebuilt_etc { + name: "task_profiles-qti", + filename_from_src: true, + src: "task_profiles.json", + vendor: true, +} diff --git a/perf/configs/atoll/lm/AdaptLaunchFeature.xml b/perf/configs/atoll/lm/AdaptLaunchFeature.xml new file mode 100644 index 0000000..25a5a51 --- /dev/null +++ b/perf/configs/atoll/lm/AdaptLaunchFeature.xml @@ -0,0 +1,46 @@ +<!-- +/****************************************************************************** + @file AdaptLaunchFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2018-2019 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AdaptLaunch</Name> + <Libname>libadaptlaunch.so</Libname> + <Configs> + <Enable>1</Enable> + </Configs> + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>VmRss</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>false</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + </Trigger> + </Triggers> + <Samples>160</Samples> + <Fields> + <Field>VmRss:</Field> + </Fields> + </Meter> + </Meters> +</Feature> diff --git a/perf/configs/atoll/lm/AppClassifierFeature.xml b/perf/configs/atoll/lm/AppClassifierFeature.xml new file mode 100644 index 0000000..d91bdbf --- /dev/null +++ b/perf/configs/atoll/lm/AppClassifierFeature.xml @@ -0,0 +1,36 @@ +<!-- +/****************************************************************************** + @file AppClassifierFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2017-2019 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AppClassifier</Name> + <Configs> + <Enable>1</Enable> + </Configs> + <Libname>libappclassifier.so</Libname> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> +</Feature> diff --git a/perf/configs/atoll/lm/GameOptimizationFeature.xml b/perf/configs/atoll/lm/GameOptimizationFeature.xml new file mode 100644 index 0000000..425577d --- /dev/null +++ b/perf/configs/atoll/lm/GameOptimizationFeature.xml @@ -0,0 +1,140 @@ +<!-- +/****************************************************************************** + @file GameOptimizationFeature.xml + @brief Game Optimization feature xml + + DESCRIPTION + Each feature has an xml file to define the feature components + + =========================================================================== + Copyright (c) 2017-2019 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> + +<Feature> + <Name>GameOptimization</Name> + <Libname>libgameoptfeature.so</Libname> + <Configs> + <Enable>1</Enable> + <MIN_DDR_FREQ>1144</MIN_DDR_FREQ> + <MAX_MIN_DDR_FREQ>2086</MAX_MIN_DDR_FREQ> + </Configs> + <Profiles> + <Profile> + <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4 --> + <DEFAULT>0x40c6c000,1000000,0x41444000,1,0x40C9C000,4</DEFAULT> + <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4 --> + <SKEW2>0x40c6c000,1000000,0x41444000,1,0x40C9C000,4</SKEW2> + </Profile> + </Profiles> + + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>MinDDR</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + </Triggers> + <Configs> + <MEMLAT_FREQ_VOTE_LITTLE_PATH>/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/cur_freq</MEMLAT_FREQ_VOTE_LITTLE_PATH> + <MEMLAT_FREQ_VOTE_BIG_PATH>/sys/class/devfreq/soc:qcom,cpu6-llcc-ddr-lat/cur_freq</MEMLAT_FREQ_VOTE_BIG_PATH> + <MEMLAT_AVAIL_FREQ_LITTLE_PATH>/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/available_frequencies</MEMLAT_AVAIL_FREQ_LITTLE_PATH> + </Configs> + <Samples>100</Samples> + </Meter> + + <Meter> + <Name>Fps</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + </Triggers> + <Configs> + <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE> + <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE> + </Configs> + <Samples>100</Samples> + </Meter> + </Meters> +</Feature> diff --git a/perf/configs/atoll/msm_irqbalance.conf b/perf/configs/atoll/msm_irqbalance.conf new file mode 100644 index 0000000..6990e67 --- /dev/null +++ b/perf/configs/atoll/msm_irqbalance.conf @@ -0,0 +1,32 @@ +# Copyright (c) 2017, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of The Linux Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# + +PRIO=1,1,0,0,0,0,0,0 +#arch_timer, arm-pmu, arch_mem_timer +IGNORED_IRQ=19,21,38 diff --git a/perf/configs/atoll/perf/perfboostsconfig.xml b/perf/configs/atoll/perf/perfboostsconfig.xml new file mode 100644 index 0000000..d9088b0 --- /dev/null +++ b/perf/configs/atoll/perf/perfboostsconfig.xml @@ -0,0 +1,198 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2018-2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +*/ +--> + + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + <!-- SCHED DOWNMIGRATE resource opcode, value--> + <!-- SCHED UPMIGRATE resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" + Resources="0x40C20000, 0x28, 0x40C1C000, 0x32, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1516, + 0x40800100, 1516" /> + + + <!--app lauch boost (disabling packing)--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- LLCCBW resource opcode, value--> + <!-- L3 resource opcode, value--> + <!-- GPU nap resource opcode, value--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="1500" + Resources="0x40400000, 0x1, 0x42C10000, 0x1, 0x43010000, 59, + 0x41828000, 806, 0x43400000, 1190, 0x4281C000, 1500" /> + + + <!-- config_enableLaunchBoostv3--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" + Resources="0x40C00000, 0x3, 0x40C58000, 95, 0x40C54000, 100, 0x40408000, 0x63" /> + + <!-- config_gameBoost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <!-- Type="4", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="4" Enable="true" Timeout="15000" + Resources="0x40C00000, 0x3, 0x40C58000, 95, 0x40C54000, 100, 0x40408000, 0x63" /> + + <!-- config_enableLaunchBoost6--> + <!-- LPM_BIAS resource opcode, val ms--> + <!-- SLB_BIG, val, SLB_BIG, val--> + <!-- MIN_FREQ_BIG, val MHz --> + <!-- CPU_DOWN_FREQ_THRESHOLD_US, val us --> + + <!-- Type="6", Game Launch boost --> + <Config + Id="0x00001081" Type="6" Enable="true" Timeout="2000" + Resources="0x40408000, 0x5, + 0x40C68000, 60, 0x40C68010, 60, + 0x40800000, 1363, + 0x41448000, 20000 "/> + + <!--Animation boost --> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <Config + Id="0x00001083" Enable="true" Timeout="400" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF, 0x40800100, 0xFFF" /> + + <!--Vertical Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" + Resources="0x43010000, 0x26, 0x40800000, 1017, 0x40800100, 1100, 0x40C00000, 2" /> + + <!--Horizontal Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" + Resources="0x43010000, 0x26, 0x40800000, 1017, 0x40800100, 1100, 0x40C00000, 2" /> + + + <!--Pre-Fling boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="4", Pre-Fling boost --> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" + Resources="0x43010000, 0x26, 0x40800000, 1017, 0x40800100, 1100, 0x40C00000, 2" /> + + <!--MTP boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- LPM Bias resource opcode, value --> + + <!-- Type="", MTP boost --> + <Config + Id="0x00001086" Enable="true" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1516, + 0x40800100, 1516, 0x42C10000, 0x1, 0x40408000, 0x19" /> + + <!--PackageInstall boost--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- Type="", Package Install boost --> + <Config + Id="0x00001088" Enable="true" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF, + 0x40800100, 0xFFF, 0x40CA0000, 0, 0x40C00000, 2" /> + + <!--Rotation latency boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + <Config + Id="0x00001089" Enable="true" Timeout="1500" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + + <!--Rotation animation boost--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- GPU MIN_FREQUENCY resource opcode,value--> + <!-- Type="", Rotation animation boost --> + <Config + Id="0x00001090" Enable="true" Timeout="1000" + Resources="0x40800100, 1000, 0x42804000, 0" /> + + <!--Drag boost--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + + <!-- Type="1", Drag boost --> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" + Resources="0x40800000, 1017, 0x40800100, 1248" /> + + <!--Display on Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001041" Enable="true" Timeout="0" + Resources="0x40000000, 1" /> + + <!--Display off Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001040" Enable="true" Timeout="0" + Resources="0x40000000, 0x0" /> + + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/atoll/perf/perfconfigstore.xml b/perf/configs/atoll/perf/perfconfigstore.xml new file mode 100644 index 0000000..188821f --- /dev/null +++ b/perf/configs/atoll/perf/perfconfigstore.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is PerfConfigsStore file which returns the value when a +particular property name is invoked --> + +<!-- This file supports only Prop tag, which has the following fields +* Name, to identify the name of the property. The names of the +properties have been classified into Vendor and System property. +* Value, the new value to be returned as string when respective +property Name is called. --> + +<PerfConfigsStore> + <PerfConfigs> + + <!--Vendor Properties --> + <Prop Name="vendor.debug.enable.lm" Value="true" /> + <Prop Name="vendor.iop.enable_uxe" Value="1" /> + <Prop Name="vendor.enable.prefetch" Value="false" /> + <Prop Name="vendor.iop.enable_prefetch_ofr" Value="false" /> + <Prop Name="vendor.perf.iop_v3.enable" Value="false" /> + <Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" /> + <Prop Name="vendor.debug.enable.memperfd" Value="true" /> + + <!--System Properties --> + <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="300000" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="15" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="4294967296" /> + <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" /> + <Prop Name="ro.vendor.iocgrp.config" Value="1" /> + <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" /> + <Prop Name="ro.vendor.at_library" Value="libqti-at.so" /> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" /> + + </PerfConfigs> +</PerfConfigsStore> diff --git a/perf/configs/atoll/perf/targetconfig.xml b/perf/configs/atoll/perf/targetconfig.xml new file mode 100644 index 0000000..71ffa30 --- /dev/null +++ b/perf/configs/atoll/perf/targetconfig.xml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2018-2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="atoll" + NumClusters="2" + TotalNumCores="8" + SocIds="407,443" + SynCore="1" + CoreCtlCpu="0" + MinCoreOnline="0" + CpufreqGov="1" /> + + <ClustersInfo Id="0" NumCores="6" Type="little" /> + <ClustersInfo Id="1" NumCores="2" Type="big" /> + + </Config1> + +</TargetConfig> diff --git a/perf/configs/atoll/perf/targetresourceconfigs.xml b/perf/configs/atoll/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..008ac75 --- /dev/null +++ b/perf/configs/atoll/perf/targetresourceconfigs.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2018-2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to modify the Supported field information. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing path +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. +NOTE - It is not Mandatory to write all the resources which are not supported, +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x1" Supported="no" /> <!-- toggle_l2_pc_perf --> + + <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task --> + <Config MajorValue="0x3" MinorValue="0x6" Supported="no" /> <!-- sched_init_task_load --> + <Config MajorValue="0x3" MinorValue="0xB" Supported="no" /> <!-- sched_spill_nr_run --> + <Config MajorValue="0x3" MinorValue="0xC" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_set_freq_aggr --> + <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggr_threshold --> + + <Config MajorValue="0x5" MinorValue="0x13" Supported="no" /> <!-- rtg_boost_freq --> + + <!--All the cpubw_hmon path are now migrated to new opcodes.Hence unsupporting old ones--> + <Config MajorValue="0x6" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x3" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x6" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x7" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x8" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x9" Supported="no" /> + + <!--All llcbw path are now migrated to new opcode.Hence unsupporting old ones.--> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0xA" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0xC" MinorValue="0xB" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent --> + + <Config MajorValue="0xD" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu%d-cpu-l3-lat/min_freq" /> + <Config MajorValue="0xD" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,cpu6-cpu-l3-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0x3" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/mem_latency/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/class/devfreq/soc:qcom,cpu6-cpu-l3-lat/mem_latency/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0x9" Node="/sys/class/devfreq/soc:qcom,cpu6-cpu-llcc-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0xB" Node="/sys/class/devfreq/soc:qcom,cpu6-cpu-llcc-lat/mem_latency/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0xE" Node="/sys/class/devfreq/soc:qcom,cpu6-llcc-ddr-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0x10" Node="/sys/class/devfreq/soc:qcom,cpu6-llcc-ddr-lat/mem_latency/stall_floor" /> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/bengal/lm/AdaptLaunchFeature.xml b/perf/configs/bengal/lm/AdaptLaunchFeature.xml new file mode 100644 index 0000000..7b562b1 --- /dev/null +++ b/perf/configs/bengal/lm/AdaptLaunchFeature.xml @@ -0,0 +1,46 @@ +<!-- +/****************************************************************************** + @file AdaptLaunchFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2019 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AdaptLaunch</Name> + <Libname>libadaptlaunch.so</Libname> + <Configs> + <Enable>1</Enable> + </Configs> + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>VmRss</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>false</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + </Trigger> + </Triggers> + <Samples>160</Samples> + <Fields> + <Field>VmRss:</Field> + </Fields> + </Meter> + </Meters> +</Feature> diff --git a/perf/configs/bengal/lm/AppClassifierFeature.xml b/perf/configs/bengal/lm/AppClassifierFeature.xml new file mode 100644 index 0000000..934e8b6 --- /dev/null +++ b/perf/configs/bengal/lm/AppClassifierFeature.xml @@ -0,0 +1,36 @@ +<!-- +/****************************************************************************** + @file AppClassifierFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2019 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AppClassifier</Name> + <Configs> + <Enable>1</Enable> + </Configs> + <Libname>libappclassifier.so</Libname> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> +</Feature> diff --git a/perf/configs/bengal/lm/GameOptimizationFeature.xml b/perf/configs/bengal/lm/GameOptimizationFeature.xml new file mode 100644 index 0000000..805e0a7 --- /dev/null +++ b/perf/configs/bengal/lm/GameOptimizationFeature.xml @@ -0,0 +1,135 @@ +<!-- +/****************************************************************************** + @file GameOptimizationFeature.xml + @brief Game Optimization feature xml + + DESCRIPTION + Each feature has an xml file to define the feature components + + =========================================================================== + Copyright (c) 2019 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> + +<Feature> + <Name>GameOptimization</Name> + <Libname>libgameoptfeature.so</Libname> + <Configs> + <Enable>1</Enable> + <MIN_DDR_FREQ>1144</MIN_DDR_FREQ> + <MAX_MIN_DDR_FREQ>2086</MAX_MIN_DDR_FREQ> + </Configs> + <Profiles> + <Profile> + <!-- Colocation v3 1 GHz, Sched Many Wake Up Threshold 4 --> + <DEFAULT>0x4144C100,1000000,0x40C9C000,4</DEFAULT> + <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4 --> + <SKEW2>0x4144C100,1000000,0x41444000,1,0x40C9C000,4</SKEW2> + </Profile> + </Profiles> + + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>MinDDR</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + </Triggers> + <Samples>100</Samples> + </Meter> + + <Meter> + <Name>Fps</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + </Triggers> + <Configs> + <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE> + <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE> + </Configs> + <Samples>100</Samples> + </Meter> + </Meters> +</Feature> diff --git a/perf/configs/bengal/msm_irqbalance.conf b/perf/configs/bengal/msm_irqbalance.conf new file mode 100644 index 0000000..5cbe8b2 --- /dev/null +++ b/perf/configs/bengal/msm_irqbalance.conf @@ -0,0 +1,9 @@ +################################################################################################################################ +# Copyright (c) 2019 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +################################################################################################################################ + +PRIO=1,1,1,1,0,0,0,0 +#arch_timer, arm-pmu, arch_mem_timer +IGNORED_IRQ=19,22,39 diff --git a/perf/configs/bengal/perf/perfboostsconfig.xml b/perf/configs/bengal/perf/perfboostsconfig.xml new file mode 100644 index 0000000..a62b9ec --- /dev/null +++ b/perf/configs/bengal/perf/perfboostsconfig.xml @@ -0,0 +1,249 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +*/ +--> + + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="bengal" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1401, + 0x40800100, 1305" /> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="scuba" + Resources="0x40804000, 0xFFF, 0x40800000, 1500" /> + + <!--app lauch boost (disabling packing)--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="bengal" + Resources="0x40400000, 0x1, 0x41800000, 59" /> + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="scuba" + Resources="0x40400000, 0x1, 0x41800000, 59" /> + + <!-- config_enableLaunchBoostv3--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="bengal" + Resources="0x40C00000, 0x3, 0x40C58000, 65, 0x40C54000, 71, 0x40408000, 0x5, + 0x40C74000, 0xF0" /> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="scuba" + Resources="0x40408000, 0x5, 0x40C74000, 0x0F" /> + + <!-- config_enableLaunchBoostv4--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + + <!-- Type="4", AA games only launch boost --> + <Config + Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="bengal" + Resources="0x40C00000, 0x3, 0x40C58000, 65, 0x40C54000, 71, 0x40408000, 0x5, + 0x40C74000, 0xF0" /> + <Config + Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="scuba" + Resources="0x40408000, 0x5, 0x40C74000, 0x0F" /> + + <!-- config_enableLaunchBoost6--> + <!-- LPM_BIAS resource opcode, val ms--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- SLB_BIG, val, SLB_BIG, val, SLB_BIG, val, SLB_BIG, val--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- MIN_FREQ_BIG, val MHz --> + <!-- CPU_DOWN_FREQ_THRESHOLD_US, val us --> + + <!-- Type="6", Game Launch boost --> + <Config + Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="bengal" + Resources="0x40408000, 0x63, 0x40C74000, 0xF0, + 0x40C68040, 60, 0x40C68050, 60, + 0x40C68060, 60, 0x40C68070, 60, + 0x40C58000, 65, 0x40C54000, 71, + 0x40800000, 1056, + 0x41448000, 20000"/> + <Config + Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="scuba" + Resources="0x40408000, 0x63, 0x40C74000, 0x0F, + 0x40800000, 1056, 0x41448000, 20000"/> + + <!--Animation boost --> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <Config + Id="0x00001083" Enable="true" Timeout="400" Target="bengal" + Resources="0x40804000, 2016, 0x40804100, 1804, 0x40800000, 2208, 0x40800100, 1708" /> + <Config + Id="0x00001083" Enable="true" Timeout="400" Target="scuba" + Resources="0x40804000, 2016, 0x40800000, 2208" /> + + <!--Vertical Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="bengal" + Resources="0x41800000, 0x26, 0x40800000, 1056, 0x40800100, 1017, 0x40C00000, 2" /> + <Config + Id="0x00001080" Type="1" Enable="true" Target="scuba" + Resources="0x41800000, 0x8c, 0x40800000, 1056" /> + + <!--Horizontal Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="bengal" + Resources="0x41800000, 0x26, 0x40800000, 1056, 0x40800100, 1017, 0x40C00000, 2" /> + <Config + Id="0x00001080" Type="2" Enable="true" Target="scuba" + Resources="0x41800000, 0x26, 0x40800000, 1056" /> + + <!--Pre-Fling boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="4", Pre-Fling boost --> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="bengal" + Resources="0x41800000, 0x26, 0x40800000, 1056, 0x40800100, 1017, 0x40C00000, 2" /> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="scuba" + Resources="0x41800000, 0x26, 0x40800000, 1056" /> + + <!--MTP boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + + <!-- Type="", MTP boost --> + + <Config + Id="0x00001086" Enable="true" Target="bengal" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1401, + 0x40800100, 1305, 0x42C10000, 0x1" /> + <Config + Id="0x00001086" Enable="true" Target="scuba" + Resources="0x40804000, 0xFFF, 0x40800000, 1401, 0x42C10000, 0x1, 0x40408000, 99, 0x40c74000, 15" /> + + <!--PackageInstall boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Package Install boost --> + + <Config + Id="0x00001088" Enable="true" Target="bengal" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + <Config + Id="0x00001088" Enable="true" Target="scuba" + Resources="0x40804000, 0xFFF, 0x40800000,0xFFF" /> + + <!--Rotation latency boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="bengal" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="scuba" + Resources="0x40804000, 0xFFF, 0x40800000,0xFFF" /> + + <!--Rotation animation boost--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- GPU MIN_FREQUENCY resource opcode,value--> + <!-- Type="", Rotation animation boost --> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="bengal" + Resources="0x40800100, 1000, 0x4280C000, 950" /> + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="scuba" + Resources="0x40800000, 1000, 0x4280C000, 950" /> + + <!--Drag boost--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + + <!-- Type="1", Drag boost --> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="bengal" + Resources="0x40800000, 1056, 0x40800100, 1017" /> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="scuba" + Resources="0x40800000, 1056" /> + + <!--Display on Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="bengal" + Resources="0x40000000, 1" /> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="scuba" + Resources="0x40000000, 1" /> + <!--Display off Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="bengal" + Resources="0x40000000, 0x0" /> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="scuba" + Resources="0x40000000, 0x0" /> + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/bengal/perf/perfconfigstore.xml b/perf/configs/bengal/perf/perfconfigstore.xml new file mode 100644 index 0000000..21b36ca --- /dev/null +++ b/perf/configs/bengal/perf/perfconfigstore.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is PerfConfigsStore file which returns the value when a +particular property name is invoked --> + +<!-- This file supports only Prop tag, which has the following fields +* Name, to identify the name of the property. The names of the +properties have been classified into Vendor and System property. +* Value, the new value to be returned as string when respective +property Name is called. --> + +<PerfConfigsStore> + <PerfConfigs> + + <!--Vendor Properties --> + <Prop Name="vendor.debug.enable.lm" Value="true" /> + <Prop Name="vendor.iop.enable_uxe" Value="1" /> + <Prop Name="ro.lmk.enable_preferred_apps" Value="true" /> + <Prop Name="vendor.enable.prefetch" Value="false" /> + <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" /> + <Prop Name="vendor.perf.iop_v3.enable" Value="false" /> + <Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" /> + <Prop Name="vendor.debug.enable.memperfd" Value="true" /> + <Prop Name="vendor.perf.pfar.enable" Value="1"/> + + <!--System Properties --> + <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="300000" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="15" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="4294967296" /> + <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" /> + <Prop Name="ro.vendor.iocgrp.config" Value="0" /> + <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="true" /> + <Prop Name="ro.lmk.enhance_batch_kill" Value="false" /> + <Prop Name="ro.lmk.enable_watermark_check" Value="true" /> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" /> + <Prop Name="ro.lmk.use_new_strategy_dup" Value="true"/> + <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" /> + <Prop Name="ro.vendor.at_library" Value="libqti-at.so" /> + <Prop Name="vendor.appcompact.enable_app_compact" Value="true" /> + <Prop Name="vendor.appcompact.full_compact_type" Value="2" /> + <Prop Name="vendor.appcompact.some_compact_type" Value="2" /> + <Prop Name="vendor.perf.bgt.enable" Value="true" /> + + <!--Mention all the target/kernel specific properties at the end of xml file + All the default valuea are kept above--> + <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="5000" Variant="bengal_32" /> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="32" Variant="bengal_32" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="5" Variant="bengal_32" /> + <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="false" Variant="bengal_32" /> + <Prop Name="vendor.iop.enable_uxe" Value="0" Variant="bengal_32" /> + <Prop Name="ro.lmk.enable_preferred_apps" Value="false" Variant="bengal_32"/> + <Prop Name="ro.lmk.psi_window_size_ms" Value="500" Variant="bengal_32"/> + <Prop Name="ro.lmk.psi_poll_period_scrit_ms" Value="100" Variant="bengal_32"/> + <Prop Name="ro.lmk.psi_scrit_complete_stall_ms" Value="85" Variant="bengal_32"/> + + <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="5000" Variant="bengal_32go" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="5" Variant="bengal_32go" /> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="32" Variant="bengal_32go" /> + <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="false" Variant="bengal_32go" /> + <Prop Name="vendor.iop.enable_uxe" Value="0" Variant="bengal_32go" /> + <Prop Name="ro.lmk.enable_preferred_apps" Value="false" Variant="bengal_32go"/> + <Prop Name="ro.lmk.psi_window_size_ms" Value="500" Variant="bengal_32go"/> + <Prop Name="ro.lmk.psi_poll_period_scrit_ms" Value="100" Variant="bengal_32go"/> + <Prop Name="ro.lmk.psi_scrit_complete_stall_ms" Value="85" Variant="bengal_32go"/> + </PerfConfigs> +</PerfConfigsStore> diff --git a/perf/configs/bengal/perf/targetconfig.xml b/perf/configs/bengal/perf/targetconfig.xml new file mode 100644 index 0000000..85bb786 --- /dev/null +++ b/perf/configs/bengal/perf/targetconfig.xml @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="bengal" + NumClusters="2" + TotalNumCores="8" + SocIds="417,420,444,445" + SynCore="1" + CoreCtlCpu="4" + MinCoreOnline="0" + CpufreqGov="1" /> + + <ClustersInfo Id="0" NumCores="4" Type="little" /> + <ClustersInfo Id="1" NumCores="4" Type="big" /> + + </Config1> + + <Config2> + + <TargetInfo + Target="scuba" + NumClusters="1" + TotalNumCores="4" + SocIds="441" + SynCore="1" + MinCoreOnline="1" + CpufreqGov="1" /> + + <ClustersInfo Id="0" NumCores="4" Type="big" /> + + </Config2> + +</TargetConfig> diff --git a/perf/configs/bengal/perf/targetresourceconfigs.xml b/perf/configs/bengal/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..ceae756 --- /dev/null +++ b/perf/configs/bengal/perf/targetresourceconfigs.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to modify the Supported field information. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing path +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. +NOTE - It is not Mandatory to write all the resources which are not supported, +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x2" Node="/proc/sys/kernel/sched_busy_hyst_ns" /> + + <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task --> + <Config MajorValue="0x3" MinorValue="0x6" Supported="no" /> <!-- sched_init_task_load --> + <Config MajorValue="0x3" MinorValue="0xA" Supported="no" /> <!-- sched_add_group --> + <Config MajorValue="0x3" MinorValue="0xB" Supported="no" /> <!-- sched_spill_nr_run --> + <Config MajorValue="0x3" MinorValue="0xC" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_set_freq_aggr --> + <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggr_threshold --> + + <Config MajorValue="0x6" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/min_freq" /> + <Config MajorValue="0x6" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/decay_rate" /> + <Config MajorValue="0x6" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/io_percent" /> + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent --> + <Config MajorValue="0x6" MinorValue="0x6" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/max_freq" /> + <Config MajorValue="0x6" MinorValue="0x7" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/polling_interval" /> + <Config MajorValue="0x6" MinorValue="0x8" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/sample_ms" /> + <Config MajorValue="0x6" MinorValue="0x9" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/idle_mbps" /> + <Config MajorValue="0x6" MinorValue="0xA" Supported="no" /> + + <!-- llcbw L3 and DDR major end --> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" /> + + <Config MajorValue="0xD" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x3" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x4" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x5" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x6" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x7" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x8" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x9" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0xA" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0xB" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0xC" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-lat/min_freq" /> + <Config MajorValue="0xD" MinorValue="0xD" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0xE" Node="/sys/class/devfreq/soc:qcom,cpu4-cpu-ddr-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0xF" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-lat/mem_latency/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0x10" Node="/sys/class/devfreq/soc:qcom,cpu4-cpu-ddr-lat/mem_latency/stall_floor" /> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/common/perf/commonresourceconfigs.xml b/perf/configs/common/perf/commonresourceconfigs.xml new file mode 100644 index 0000000..3f40225 --- /dev/null +++ b/perf/configs/common/perf/commonresourceconfigs.xml @@ -0,0 +1,299 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- Supported XML tags with their fields. + * Major tag supports OpcodeValue. + * Minor tag supports OpcodeValue, Nodepath and Supported(Optional) fields. + * By default, all the resources are assumed as supported. + Supported field can be used to mark a resource as not supported. + * All the interactive nodes, ondemand nodes and some nodes of sched major + group which aren't being used are marked as Not supported by default and + can be enabled by using the target specific config files. --> + +<!-- For resources which update multiple nodes or which require speical +acquire/release funcitons, need to mention the keyword SPECIAL_NODE +in their node path field and accordingly their ApplyOts and ResetOpts +functions need to be defined in the code.--> + +<!-- For adding a new resource, a new minor tag with all mandatory fields +need to be added just before the end of it's major group. --> + +<ResourceConfigs> + <PerfResources> + + <!-- display off major start --> + <Major OpcodeValue="0x0" /> + <Minor OpcodeValue="0x0" Node="SPECIAL_NODE - display_off" /> + <!-- display off major end --> + + <!-- power collapse major start --> + <Major OpcodeValue="0x1" /> + <Minor OpcodeValue="0x0" Node="/dev/cpu_dma_latency" /> + <Minor OpcodeValue="0x1" Node="/sys/module/lpm_levels/system/perf/perf-l2-pc/idle_enabled" /> + <Minor OpcodeValue="0x2" Node="/sys/module/lpm_levels/parameters/bias_hyst" /> + <Minor OpcodeValue="0x3" Node="/sys/module/lpm_levels/parameters/ref_stddev" /> + <Minor OpcodeValue="0x4" Node="/sys/module/lpm_levels/parameters/tmr_add" /> + <Minor OpcodeValue="0x5" Node="/sys/module/lpm_levels/parameters/lpm_ipi_prediction" Supported="no" /> + <!-- power collapse major end --> + + <!-- cpufreq major start --> + <Major OpcodeValue="0x2" /> + <Minor OpcodeValue="0x0" Node="/sys/module/msm_performance/parameters/cpu_min_freq" /> + <Minor OpcodeValue="0x1" Node="/sys/module/msm_performance/parameters/cpu_max_freq" /> + <!-- cpufreq major end --> + + <!-- sched major start --> + <Major OpcodeValue="0x3" /> + <!--Sysfsnode paths may change basing on the target for minors 0x1, 0x4, 0x5, 0x9. + So, for targets with different node paths than default, need to be specified + in the target specific resource config xml file. --> + <Minor OpcodeValue="0x0" Node="/proc/sys/kernel/sched_boost" /> + <Minor OpcodeValue="0x1" Node="/proc/sys/kernel/sched_prefer_idle" Supported="no" /> + <Minor OpcodeValue="0x2" Node="/proc/sys/kernel/sched_migration_cost_ns" /> + <Minor OpcodeValue="0x3" Node="/proc/sys/kernel/sched_small_task" /> + <Minor OpcodeValue="0x4" Node="/proc/sys/kernel/sched_mostly_idle_load" Supported="no" /> + <Minor OpcodeValue="0x5" Node="/proc/sys/kernel/sched_mostly_idle_nr_run" Supported="no" /> + <Minor OpcodeValue="0x6" Node="/proc/sys/kernel/sched_init_task_load" /> + <Minor OpcodeValue="0x7" Node="/proc/sys/kernel/sched_upmigrate" /> + <Minor OpcodeValue="0x8" Node="/proc/sys/kernel/sched_downmigrate" /> + <Minor OpcodeValue="0x9" Node="/proc/sys/kernel/sched_mostly_idle_freq" Supported="no" /> + <Minor OpcodeValue="0xA" Node="SPECIAL_NODE - sched_add_group" /> + <Minor OpcodeValue="0xB" Node="/proc/sys/kernel/sched_spill_nr_run" /> + <Minor OpcodeValue="0xC" Node="/sys/devices/system/cpu/cpu0/sched_static_cpu_pwr_cost" /> + <Minor OpcodeValue="0xD" Node="/proc/sys/kernel/sched_restrict_cluster_spill" /> + <Minor OpcodeValue="0xE" Node="SPECIAL_NODE - sched_freq_add_group" /> + <Minor OpcodeValue="0xF" Node="/dev/cpuset/top-app/cpus" /> + <Minor OpcodeValue="0x10" Node="/dev/cpuset/foreground/cpus" /> + <Minor OpcodeValue="0x11" Node="/dev/cpuset/system-background/cpus" /> + <Minor OpcodeValue="0x12" Node="/dev/cpuset/background/cpus" /> + <Minor OpcodeValue="0x13" Node="/proc/sys/kernel/sched_freq_aggregate" /> + <Minor OpcodeValue="0x14" Node="/proc/sys/kernel/sched_enable_thread_grouping" /> + <Minor OpcodeValue="0x15" Node="/proc/sys/kernel/sched_group_upmigrate" /> + <Minor OpcodeValue="0x16" Node="/proc/sys/kernel/sched_group_downmigrate" /> + <!-- sched_freq_aggr_threshold perflock will have contention with sched_boost level 3, + so disable this resource for the target which is going to use sched boost 3 level.--> + <Minor OpcodeValue="0x17" Node="/proc/sys/kernel/sched_freq_aggregate_threshold" /> + <Minor OpcodeValue="0x18" Node="/dev/stune/top-app/schedtune.prefer_idle" /> + <Minor OpcodeValue="0x19" Node="/proc/sys/kernel/sched_initial_task_util" /> + <Minor OpcodeValue="0x1A" Node="/sys/devices/system/cpu/cpu0/sched_load_boost" /> + <Minor OpcodeValue="0x1B" Node="/proc/sys/kernel/sched_little_cluster_coloc_fmin_khz" /> + <Minor OpcodeValue="0x1C" Node="/dev/stune/top-app/schedtune.boost" /> + <Minor OpcodeValue="0x1D" Node="/proc/sys/kernel/sched_busy_hysteresis_enable_cpus" /> + <Minor OpcodeValue="0x1E" Node="/proc/sys/kernel/sched_min_task_util_for_colocation" /> + <Minor OpcodeValue="0x1F" Node="/proc/sys/kernel/sched_min_task_util_for_boost" /> + <Minor OpcodeValue="0x20" Node="/proc/%d/sched_boost" Supported="yes"/> <!-- sched_task_boost --> + <Minor OpcodeValue="0x21" Node="/proc/sys/kernel/sched_user_hint" /> <!--sched_user_hint --> + <Minor OpcodeValue="0x22" Node="/proc/sys/kernel/sched_task_unfilter_nr_windows" /> <!--sched_task_unfilter_nr_windows --> + <Minor OpcodeValue="0x23" Node="/proc/sys/kernel/sched_coloc_downmigrate_ns" /> <!--sched_coloc_downmigrate_ns --> + <Minor OpcodeValue="0x24" Node="/proc/sys/kernel/sched_coloc_busy_hysteresis_enable_cpus" /> + <Minor OpcodeValue="0x25" Node="/proc/sys/kernel/sched_coloc_busy_hyst_ns" /> + <Minor OpcodeValue="0x26" Node="/proc/sys/kernel/sched_window_stats_policy" /> + <Minor OpcodeValue="0x27" Node="/proc/sys/kernel/sched_many_wakeup_threshold" /> + <Minor OpcodeValue="0x28" Node="/proc/sys/kernel/sched_sync_hint_enable" /> + <Minor OpcodeValue="0x29" Node="/proc/sys/kernel/sched_ravg_window_nr_ticks" /> + <Minor OpcodeValue="0x2A" Node="/proc/sys/kernel/sched_prefer_spread" /> + <Minor OpcodeValue="0x2B" Node="/dev/cpuctl/top-app/cpu.uclamp.min" /> + <Minor OpcodeValue="0x2C" Node="/proc/%d/sched_boost" Supported="yes" /> <!-- enable sched_task_boost for top-app render thread--> + <Minor OpcodeValue="0x2D" Node="/proc/%d/sched_boost" Supported="yes" /> <!-- disable sched_task_boost for top-app render thread--> + <Minor OpcodeValue="0x2E" Node="/proc/sys/walt/sched_task_unfilter_period" /> + <Minor OpcodeValue="0x2F" Node="/proc/sys/walt/sched_conservative_pl" /> + <Minor OpcodeValue="0x30" Node="/proc/sys/walt/sched_coloc_busy_hyst_cpu_busy_pct" /> + <Minor OpcodeValue="0x31" Node="/proc/sys/walt/sched_coloc_busy_hyst_cpu_ns" /> + <Minor OpcodeValue="0x32" Node="/proc/sys/kernel/walt_rtg_cfs_boost_prio" /> + <Minor OpcodeValue="0x33" Node="/proc/sys/kernel/sched_force_lb_enable" Supported="yes" /> + <Minor OpcodeValue="0x34" Node="/proc/%d/sched_low_latency" Supported="yes" /> + <Minor OpcodeValue="0x35" Node="/proc/sys/kernel/sched_min_granularity_ns" /> + <Minor OpcodeValue="0x36" Node="/proc/sys/kernel/walt_low_latency_task_threshold" /> + <Minor OpcodeValue="0x37" Node="/dev/stune/foreground/schedtune.prefer_idle" /> + <Minor OpcodeValue="0x38" Node="/proc/sys/kernel/%s" Supported="no"/> + <Minor OpcodeValue="0x39" Node="/dev/stune/top-app/schedtune.colocate" Supported="no" /> + <Minor OpcodeValue="0x3A" Node="/dev/cpuctl/top-app/cpu.uclamp.latency_sensitive" /> + <Minor OpcodeValue="0x3B" Node="/dev/cpuctl/foreground/cpu.uclamp.latency_sensitive" /> + <Minor OpcodeValue="0x3D" Node="/proc/sys/kernel/%s" Supported="no"/> + <!-- sched major end --> + + <!-- core hotplug major start --> + <Major OpcodeValue="0x4" /> + <Minor OpcodeValue="0x0" Node="SPECIAL_NODE - lock_min_cores" /> + <Minor OpcodeValue="0x1" Node="SPECIAL_NODE - lock_max_cores" /> + <!-- core hotplug major end--> + + <!-- interactive major start --> + <Major OpcodeValue="0x5" /> + <!-- For following minors node paths might change basing on GovInstanceType and + Supported field might change basing on the type of CpufreqGov.--> + <Minor OpcodeValue="0x0" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay" Supported="no" /> + <Minor OpcodeValue="0x1" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/boost" Supported="no" /> + <Minor OpcodeValue="0x2" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/boostpulse" Supported="no" /> + <Minor OpcodeValue="0x3" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/boostpulse_duration" Supported="no" /> + <Minor OpcodeValue="0x4" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load" Supported="no" /> + <Minor OpcodeValue="0x5" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq" Supported="no" /> + <Minor OpcodeValue="0x6" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy" Supported="no" /> + <Minor OpcodeValue="0x7" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time" Supported="no" /> + <Minor OpcodeValue="0x8" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads" Supported="no" /> + <Minor OpcodeValue="0x9" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate" Supported="no" /> + <Minor OpcodeValue="0xA" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_slack" Supported="no" /> + <Minor OpcodeValue="0xB" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis" Supported="no" /> + <Minor OpcodeValue="0xC" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load" Supported="no" /> + <Minor OpcodeValue="0xD" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif" Supported="no" /> + <Minor OpcodeValue="0xE" Node="/sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif" Supported="no" /> + <Minor OpcodeValue="0xF" Node="/sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_freq" /> + <Minor OpcodeValue="0x10" Node="/sys/devices/system/cpu/cpu0/cpufreq/schedutil/hispeed_load" /> + <Minor OpcodeValue="0x11" Node="/sys/devices/system/cpu/cpu0/cpufreq/schedutil/pl" /> + <Minor OpcodeValue="0x12" Node="/sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us" /> + <Minor OpcodeValue="0x13" Node="/sys/devices/system/cpu/cpu0/cpufreq/schedutil/rtg_boost_freq" /> + <!-- interactive major end --> + + <!-- cpubw hwmon major start --> + <Major OpcodeValue="0x6" /> + <!-- ALl the following minors might change based on target. --> + <Minor OpcodeValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpubw/min_freq" /> + <Minor OpcodeValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/decay_rate" /> + <Minor OpcodeValue="0x2" Node="/sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent" /> + <Minor OpcodeValue="0x3" Node="SPECIAL_NODE - cpubw_hwmon_hyst_opt" /> + <Minor OpcodeValue="0x4" Node="/sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_ceil_mbps" /> + <Minor OpcodeValue="0x5" Node="/sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_io_percent" /> + <Minor OpcodeValue="0x6" Node="/sys/class/devfreq/soc:qcom,cpubw/max_freq" /> + <Minor OpcodeValue="0x7" Node="/sys/class/devfreq/soc:qcom,cpubw/polling_interval" /> + <Minor OpcodeValue="0x8" Node="/sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/sample_ms" /> + <Minor OpcodeValue="0x9" Node="/sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/idle_mbps" /> + <!--Here onwards are the path for new opcodes to mark CPU_LLCC_BW nodes.Upper ones + of this major are marked as unsupported for the tergets using the new opcodes--> + <Minor OpcodeValue="0xA" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/min_freq" /> + <Minor OpcodeValue="0xB" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/up_scale" /> + <Minor OpcodeValue="0xC" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/use_ab" /> + <Minor OpcodeValue="0xD" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/io_percent" /> + <Minor OpcodeValue="0xE" Node="SPECIAL_NODE - llcbw_hwmon_hyst_opt" /> + <Minor OpcodeValue="0xF" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/sample_ms" /> + <Minor OpcodeValue="0x10" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/polling_interval" /> + <Minor OpcodeValue="0x11" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/min_freq" /> + <Minor OpcodeValue="0x12" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/max_freq" /> + <!-- cpubw hwmon major end --> + + <!-- video major start --> + <Major OpcodeValue="0x7" /> + <Minor OpcodeValue="0x0" Node="SPECIAL_NODE - handle_vid_encplay_hint" /> + <Minor OpcodeValue="0x1" Node="SPECIAL_NODE - handle_vid_decplay_hint" /> + <Minor OpcodeValue="0x2" Node="SPECIAL_NODE - handle_disp_hint" /> + <!-- video major end --> + + <!-- ksm major start --> + <Major OpcodeValue="0x8" /> + <Minor OpcodeValue="0x0" Node="SPECIAL_NODE - disable_ksm" /> + <Minor OpcodeValue="0x1" Node="SPECIAL_NODE - set_ksm_param" /> + <!-- ksm major end --> + + <!-- ondemand major start --> + <Major OpcodeValue="0x9" /> + <Minor OpcodeValue="0x0" Node="/sys/devices/system/cpu/cpufreq/ondemand/sampling_rate" Supported="no" /> + <Minor OpcodeValue="0x1" Node="/sys/devices/system/cpu/cpufreq/ondemand/io_is_busy" Supported="no" /> + <Minor OpcodeValue="0x2" Node="/sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor" Supported="no" /> + <Minor OpcodeValue="0x3" Node="/sys/devices/system/cpu/cpufreq/ondemand/sync_freq" Supported="no" /> + <Minor OpcodeValue="0x4" Node="/sys/devices/system/cpu/cpufreq/ondemand/optimal_freq" Supported="no" /> + <Minor OpcodeValue="0x5" Node="/sys/devices/system/cpu/cpufreq/ondemand/enable_stepup" Supported="no" /> + <Minor OpcodeValue="0x6" Node="/sys/devices/system/cpu/cpufreq/ondemand/max_intermediate_steps" Supported="no" /> + <Minor OpcodeValue="0x7" Node="/dev/cpuctl/cpu.notify_on_migrate" Supported="no" /> + <!-- ondemand major end --> + + <!-- gpu major start --> + <Major OpcodeValue="0xA" /> + <Minor OpcodeValue="0x0" Node="/sys/class/kgsl/kgsl-3d0/default_pwrlevel" /> + <Minor OpcodeValue="0x1" Node="/sys/class/kgsl/kgsl-3d0/min_pwrlevel" /> + <Minor OpcodeValue="0x2" Node="/sys/class/kgsl/kgsl-3d0/max_pwrlevel" /> + <Minor OpcodeValue="0x3" Node="/sys/class/kgsl/kgsl-3d0/devfreq/min_freq" /> + <Minor OpcodeValue="0x4" Node="/sys/class/kgsl/kgsl-3d0/devfreq/max_freq" /> + <Minor OpcodeValue="0x5" Node="/sys/class/devfreq/soc:qcom,gpubw/min_freq" /> + <Minor OpcodeValue="0x6" Node="/sys/class/devfreq/soc:qcom,gpubw/max_freq" /> + <Minor OpcodeValue="0x7" Node="SPECIAL_NODE - gpu_disable_gpu_nap" /> + <Minor OpcodeValue="0x8" Node="/sys/class/kgsl/kgsl/proc/%d/state" /> + <Minor OpcodeValue="0x9" Node="/sys/class/kgsl/kgsl/proc/%d/state" /> + <Minor OpcodeValue="0xA" Node="/sys/class/kgsl/kgsl-3d0/devfreq/mod_percent" /> + <!-- gpu major end --> + + <!-- misc major start --> + <Major OpcodeValue="0xB" /> + <Minor OpcodeValue="0x0" Node="SPECIAL_NODE - unsupported" /> + <Minor OpcodeValue="0x1" Node="SPECIAL_NODE - irq_balancer" /> + <Minor OpcodeValue="0x2" Node="/sys/module/cpu_boost/parameters/input_boost_freq" /> + <Minor OpcodeValue="0x3" Node="/proc/sys/vm/swap_ratio" /> + <Minor OpcodeValue="0x4" Node="StorageNode_path_is_figured_out_based_on_the_target_device" /> + <Minor OpcodeValue="0x5" Node="SPECIAL_NODE - dummy_or_keep_alive" /> + <Minor OpcodeValue="0x6" Node="/sys/module/process_reclaim/parameters/enable_process_reclaim" /> + <Minor OpcodeValue="0x7" Node="SPECIAL_NODE - disable_pasr" /> + <!-- misc major end --> + + <!-- llcbw hwmon major start --> + <Major OpcodeValue="0xC" /> + <!-- ALl the following minors node path might change based on target. --> + <Minor OpcodeValue="0x0" Node="/sys/class/devfreq/soc:qcom,llccbw/min_freq" /> + <Minor OpcodeValue="0x1" Node="/sys/class/devfreq/soc:qcom,llccbw/bw_hwmon/io_percent" /> + <Minor OpcodeValue="0x2" Node="SPECIAL_NODE - llcbw_hwmon_hyst_opt" /> + <Minor OpcodeValue="0x3" Node="/sys/class/devfreq/soc:qcom,llccbw/bw_hwmon/sample_ms" /> + <!--Here onwards are the path for new opcodes to mark LLCC_DDR_BW nodes.Upper ones + of this major are marked as unsupported for the tergets using the new opcodes--> + <Minor OpcodeValue="0x4" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/min_freq" /> + <Minor OpcodeValue="0x5" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/up_scale" /> + <Minor OpcodeValue="0x6" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/max_freq" /> + <Minor OpcodeValue="0x7" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/decay_rate" /> + <Minor OpcodeValue="0x8" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/io_percent" /> + <Minor OpcodeValue="0x9" Node="SPECIAL_NODE - cpubw_hwmon_hyst_opt" /> + <Minor OpcodeValue="0xA" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/low_power_ceil_mbps" /> + <Minor OpcodeValue="0xB" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/low_power_io_percent" /> + <Minor OpcodeValue="0xC" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/polling_interval" /> + <Minor OpcodeValue="0xD" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/sample_ms" /> + <Minor OpcodeValue="0xE" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/idle_mbps" /> + <Minor OpcodeValue="0xF" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/min_freq" /> + <Minor OpcodeValue="0x10" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/max_freq" /> + <Minor OpcodeValue="0x11" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/use_ab" /> + + <!-- llcbw hwmon major end --> + + <!-- memlat major start --> + <Major OpcodeValue="0xD" /> + <!-- ALl the following minors node path might change based on target. --> + <Minor OpcodeValue="0x0" Node="/sys/class/devfreq/soc:qcom,l3-cpu%d/min_freq" /> + <Minor OpcodeValue="0x1" Node="/sys/class/devfreq/soc:qcom,memlat-cpu0/mem_latency/ratio_ceil" /> + <Minor OpcodeValue="0x2" Node="/sys/class/devfreq/soc:qcom,memlat-cpu4/mem_latency/ratio_ceil" /> + <Minor OpcodeValue="0x3" Node="/sys/class/devfreq/soc:qcom,memlat-cpu0/mem_latency/stall_floor" /> + <Minor OpcodeValue="0x4" Node="/sys/class/devfreq/soc:qcom,memlat-cpu4/mem_latency/stall_floor" /> + <Minor OpcodeValue="0x5" Node="/sys/class/devfreq/soc:qcom,memlat-cpu0/min_freq" /> + <Minor OpcodeValue="0x6" Node="/sys/class/devfreq/soc:qcom,memlat-cpu4/min_freq" /> + <Minor OpcodeValue="0x7" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-llcc-lat/min_freq" /> + <Minor OpcodeValue="0x8" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-llcc-lat/mem_latency/ratio_ceil" /> + <Minor OpcodeValue="0x9" Node="/sys/class/devfreq/soc:qcom,cpu4-cpu-llcc-lat/mem_latency/ratio_ceil" /> + <Minor OpcodeValue="0xA" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-llcc-lat/mem_latency/stall_floor" /> + <Minor OpcodeValue="0xB" Node="/sys/class/devfreq/soc:qcom,cpu4-cpu-llcc-lat/mem_latency/stall_floor" /> + <Minor OpcodeValue="0xC" Node="/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/min_freq" /> + <Minor OpcodeValue="0xD" Node="/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/mem_latency/ratio_ceil" /> + <Minor OpcodeValue="0xE" Node="/sys/class/devfreq/soc:qcom,cpu4-llcc-ddr-lat/mem_latency/ratio_ceil" /> + <Minor OpcodeValue="0xF" Node="/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/mem_latency/stall_floor" /> + <Minor OpcodeValue="0x10" Node="/sys/class/devfreq/soc:qcom,cpu4-llcc-ddr-lat/mem_latency/stall_floor" /> + <Minor OpcodeValue="0x11" Node="/sys/class/devfreq/18321000.qcom,devfreq-l3:qcom,cpu%d-cpu-l3-lat/max_freq" /> + <Minor OpcodeValue="0x12" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-latfloor/min_freq" /> + <Minor OpcodeValue="0x13" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-latfloor/max_freq" /> + <Minor OpcodeValue="0x14" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-llcc-lat/max_freq" /> + <Minor OpcodeValue="0x15" Node="/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/max_freq" /> + <Minor OpcodeValue="0x16" Node="/sys/devices/system/cpu/bus_dcvs/L3/soc:qcom,memlat:l3:prime/min_freq" /> + <Minor OpcodeValue="0x17" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/soc:qcom,memlat:llcc:silver/min_freq" /> + <Minor OpcodeValue="0x18" Node="/sys/devices/system/cpu/bus_dcvs/DDR/soc:qcom,memlat:ddr:silver/min_freq" /> + <!-- memlat major end --> + + <!-- npu major start --> + <Major OpcodeValue="0xE" /> + <!-- ALl the following minors node path might change based on target. --> + <Minor OpcodeValue="0x0" Node="/sys/class/devfreq/soc:qcom,npu-npu-llcc-bw/bw_hwmon/sample_ms" /> + <Minor OpcodeValue="0x1" Node="/sys/class/devfreq/soc:qcom,npu-npu-llcc-bw/bw_hwmon/io_percent" /> + <Minor OpcodeValue="0x2" Node="SPECIAL_NODE - npu_llcbw_hwmon_hyst_opt" /> + <!--Here onwards are the path for new opcodes to mark NPU_LLCC_DDR_BW nodes.--> + <Minor OpcodeValue="0x3" Node="/sys/class/devfreq/soc:qcom,npu-llcc-ddr-bw/bw_hwmon/sample_ms" /> + <Minor OpcodeValue="0x4" Node="/sys/class/devfreq/soc:qcom,npu-llcc-ddr-bw/bw_hwmon/io_percent" /> + <Minor OpcodeValue="0x5" Node="SPECIAL_NODE - npu_ddr_llcbw_hwmon_hyst_opt" /> + <!-- npu major end --> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/common/perf/commonsysnodesconfigs.xml b/perf/configs/common/perf/commonsysnodesconfigs.xml new file mode 100644 index 0000000..22db738 --- /dev/null +++ b/perf/configs/common/perf/commonsysnodesconfigs.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2021 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + */ +--> + +<ResourceConfigs> + <PerfResources> + <SysNode Idx="0x0" Node="/sys/module/msm_performance/parameters/num_clusters" /> + <SysNode Idx="0x1" Node="/sys/module/msm_performance/parameters/managed_cpus" /> + <SysNode Idx="0x2" Node="/sys/module/msm_performance/parameters/cpu_max_freq" /> + <SysNode Idx="0x3" Node="/sys/module/msm_performance/events/cpu_hotplug" /> + <SysNode Idx="0x4" Node="/sys/module/msm_performance/parameters/max_cpus" /> + <SysNode Idx="0x5" Node="/sys/module/msm_performance/parameters/inst" /> + <SysNode Idx="0x6" Node="/sys/module/msm_performance/parameters/splh_notif" /> + <SysNode Idx="0x7" Node="/sys/module/msm_performance/notify/gfx_evt" /> + <SysNode Idx="0x8" Node="/sys/module/msm_performance/parameters/evnt_gplaf_pid" /> + </PerfResources> +</ResourceConfigs>
\ No newline at end of file diff --git a/perf/configs/holi/lm/AdaptLaunchFeature.xml b/perf/configs/holi/lm/AdaptLaunchFeature.xml new file mode 100644 index 0000000..a938df1 --- /dev/null +++ b/perf/configs/holi/lm/AdaptLaunchFeature.xml @@ -0,0 +1,50 @@ +<!-- +/****************************************************************************** + @file AdaptLaunchFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2020 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AdaptLaunch</Name> + <Libname>libadaptlaunch.so</Libname> + <Configs> + <Enable>1</Enable> + </Configs> + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>VmRss</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>false</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + </Trigger> + </Triggers> + <Samples>300</Samples> + <Fields> + <Field>VmRss:</Field> + </Fields> + </Meter> + </Meters> +</Feature> diff --git a/perf/configs/holi/lm/AppClassifierFeature.xml b/perf/configs/holi/lm/AppClassifierFeature.xml new file mode 100644 index 0000000..ed62117 --- /dev/null +++ b/perf/configs/holi/lm/AppClassifierFeature.xml @@ -0,0 +1,36 @@ +<!-- +/****************************************************************************** + @file AppClassifierFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2020 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AppClassifier</Name> + <Configs> + <Enable>1</Enable> + </Configs> + <Libname>libappclassifier.so</Libname> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> +</Feature> diff --git a/perf/configs/holi/lm/GameOptimizationFeature.xml b/perf/configs/holi/lm/GameOptimizationFeature.xml new file mode 100644 index 0000000..f002b2c --- /dev/null +++ b/perf/configs/holi/lm/GameOptimizationFeature.xml @@ -0,0 +1,172 @@ +<!-- +/****************************************************************************** + @file GameOptimizationFeature.xml + @brief Game Optimization feature xml + + DESCRIPTION + Each feature has an xml file to define the feature components + + =========================================================================== + Copyright (c) 2020 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> + +<Feature> + <Name>GameOptimization</Name> + <Libname>libgameoptfeature.so</Libname> + <Configs target="holi"> + <Enable>1</Enable> + <ATML1>1</ATML1> + <ATML2>1</ATML2> + <ATML3>1</ATML3> + <GFAR>1</GFAR> + <AGPE>0</AGPE> + <IDLE_SENSE>0</IDLE_SENSE> + <GROUP_UPMIGRATE_PATH>/proc/sys/kernel/sched_group_upmigrate</GROUP_UPMIGRATE_PATH> + <GROUP_DOWNMIGRATE_PATH>/proc/sys/kernel/sched_group_downmigrate</GROUP_DOWNMIGRATE_PATH> + <BIG_CLUSTER_ID>6,7</BIG_CLUSTER_ID> + <BIG_SLB_OPCODE>0x40C68000,0x40C68010</BIG_SLB_OPCODE> + <LITTLE_SLB_OPCODE>0x40C68100,0x40C68110,0x40C68120,0x40C68130,0x40C68140,0x40C68150</LITTLE_SLB_OPCODE> + <!-- SLBval, TADemand, Jank--> + <SLB_MAP>14,200,40,6,150,30,4,125,25,2,100,15,0</SLB_MAP> + <STUTTER_SCALE>10</STUTTER_SCALE> + <ENABLE_DB_L2_L3>0</ENABLE_DB_L2_L3> + <!-- This will enbale SLB clamping if Janks are zero in consistent learning window--> + <ENABLE_SLB_CLAMPER>1</ENABLE_SLB_CLAMPER> + <L3_JANK_THRESHOLD>2,12</L3_JANK_THRESHOLD> + <!-- Janky vector threshold, Total no. of Janks Threshold--> + <L1_JANK_THRESHOLD>4,8</L1_JANK_THRESHOLD> + <!-- Default slb little, Default slb big--> + <ATM_L3_DEFAULTS>0,-6</ATM_L3_DEFAULTS> + </Configs> + <Profiles> + <Profile target="holi"> + <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4 ,LPM IPI Prediction 0 --> + <DEFAULT>0x4144C100,860000,0x41444000,1,0x40C9C000,4,0x40414000,0</DEFAULT> + <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4, LPM IPI Prediction 0--> + <SKEW2>0x4144C100,860000,0x41444000,1,0x40C9C000,4,0x40414000,0</SKEW2> + </Profile> + </Profiles> + + <Meters> + <SamplesRequired>4</SamplesRequired> + + <Meter> + <Name>Fps</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_HEADROOM_REGULATOR</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_SENSOR_DATA</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> + <Configs> + <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE> + <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE> + </Configs> + <Samples>100</Samples> + </Meter> + + <Meter> + <Name>SchedParams</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + </Triggers> + <Samples>100</Samples> + </Meter> + </Meters> + <IgnoredApps> + <App>com.google.android.gms</App> + <App>com.android.vending</App> + <App>com.google.android.projection.gearhead</App> + </IgnoredApps> +</Feature> diff --git a/perf/configs/holi/lm/PreKillFeature.xml b/perf/configs/holi/lm/PreKillFeature.xml new file mode 100644 index 0000000..f7cfdbf --- /dev/null +++ b/perf/configs/holi/lm/PreKillFeature.xml @@ -0,0 +1,82 @@ +<!-- +/****************************************************************************** + @file PreKillMeter.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + ========================================================================= + Copyright (c) 2020 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + ========================================================================= +******************************************************************************/ +--> + +<Feature> + <Name>PreKill</Name> + <Libname>libprekill.so</Libname> + <Meters> + <SamplesRequired>3</SamplesRequired> + <Meter> + <Name>Memory</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>2</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>101</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>102</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_KILL</AsyncId> + <AsyncType>0</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_UPDATE</AsyncId> + <AsyncType>0</AsyncType> + </Trigger> + + <Trigger> + <Primary>false</Primary> + <AsyncId>VENDOR_HINT_FIRST_DRAW</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>false</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + </Trigger> + </Triggers> + <Samples>1</Samples> + <Configs> + <TotalSamplesToRun>120</TotalSamplesToRun> + </Configs> + <Fields> + <Field>ion_kgsl</Field> + <Field>rss_swap</Field> + </Fields> + </Meter> + </Meters> +</Feature> diff --git a/perf/configs/holi/lm/prekill/prekill_2GB.data b/perf/configs/holi/lm/prekill/prekill_2GB.data Binary files differnew file mode 100644 index 0000000..fce8a00 --- /dev/null +++ b/perf/configs/holi/lm/prekill/prekill_2GB.data diff --git a/perf/configs/holi/lm/prekill/prekill_4GB.data b/perf/configs/holi/lm/prekill/prekill_4GB.data Binary files differnew file mode 100644 index 0000000..f052cd5 --- /dev/null +++ b/perf/configs/holi/lm/prekill/prekill_4GB.data diff --git a/perf/configs/holi/lm/prekill/prekill_6GB.data b/perf/configs/holi/lm/prekill/prekill_6GB.data Binary files differnew file mode 100644 index 0000000..c5db16f --- /dev/null +++ b/perf/configs/holi/lm/prekill/prekill_6GB.data diff --git a/perf/configs/holi/lm/sPLHFeature.xml b/perf/configs/holi/lm/sPLHFeature.xml new file mode 100644 index 0000000..4ac7c94 --- /dev/null +++ b/perf/configs/holi/lm/sPLHFeature.xml @@ -0,0 +1,48 @@ +<!-- +/****************************************************************************** + @file sPLHFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2020 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + Specify ipc threashold and freq threashold for 60,90,120,144:: + <Configs> + <FPS60>IPC1,FREQ1,IPC2,FREQ2,IPC3,FREQ3</FPS60> + </Configs> +--> + +<Feature> + <Name>sPLH</Name> + <Configs> + <FPS>60,90,120,144</FPS> + <FPS60>0,760,80,1600,120,2000</FPS60> + <FPS90>0,760,80,1600,120,2000</FPS90> + <FPS120>0,760,80,1600,120,2000</FPS120> + <FPS144>0,760,80,1600,120,2000</FPS144> + <DISABLEFPS144>2035</DISABLEFPS144> + </Configs> + <Libname>libsplh.so</Libname> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_SCROLL_BOOST</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_SCROLL_BOOST</AsyncId> + <AsyncType>2</AsyncType> + </Trigger> + </Triggers> +</Feature> diff --git a/perf/configs/holi/msm_irqbalance.conf b/perf/configs/holi/msm_irqbalance.conf new file mode 100644 index 0000000..58d8c94 --- /dev/null +++ b/perf/configs/holi/msm_irqbalance.conf @@ -0,0 +1,2 @@ +PRIO=1,1,0,0,0,0,0,0 +IGNORED_IRQ=19,21,38 diff --git a/perf/configs/holi/perf/perfboostsconfig.xml b/perf/configs/holi/perf/perfboostsconfig.xml new file mode 100644 index 0000000..e7a2b00 --- /dev/null +++ b/perf/configs/holi/perf/perfboostsconfig.xml @@ -0,0 +1,321 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2020 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +*/ +--> + + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + <!-- SCHED DOWNMIGRATE resource opcode, value--> + <!-- SCHED UPMIGRATE resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="holi" + Resources="0x40C20000, 0x28, 0x40C1C000, 0x32, 0x40804000, 0xFFF, 0x40804100, 0xFFF, + 0x40800000, 1535, 0x40800100, 1478" /> + + <!--app lauch boost (disabling packing)--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- L3 resource opcode, value--> + <!-- GPU nap resource opcode, value--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="holi" + Resources="0x40400000, 0x1, 0x42C10000, 0x1, 0x43010000, 59, 0x43400000, 0x2DC0, 0x4281C000, 1500" /> + + <!-- config_enableLaunchBoostv3--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="holi" + Resources="0x40C00000, 0x3, 0x40C58000, 85, 0x40C54000, 100, 0x40408000, 0x63" /> + + <!-- config_gameBoost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <!-- Type="4", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="holi" + Resources="0x40C00000, 0x3, 0x40C58000, 85, 0x40C54000, 100, 0x40408000, 0x63" /> + + <!-- config_enableLaunchBoost6--> + <!-- LPM_BIAS resource opcode, val ms--> + <!-- SLB_BIG, val, SLB_BIG, val--> + <!-- MIN_FREQ_BIG, val MHz --> + <!-- CPU_DOWN_FREQ_THRESHOLD_US, val us --> + <!-- Type="6", Game Launch boost --> + <Config + Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="holi" + Resources="0x40408000, 0x5, + 0x40C68000, 60, 0x40C68010, 60, + 0x40800000, 1248, + 0x41448000, 20000" /> + + <!--app launch boost (attach application) --> + <!-- SCHED_TASK_BOOST resource opcode, value--> + <Config + Id="0x00001081" Type="103" Enable="true" Timeout="2000" Target="holi" + Resources="0x40C80000, 0x0" /> + + <!--Animation boost --> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <Config + Id="0x00001083" Enable="true" Timeout="400" Target="holi" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0x7F3, + 0x40800100, 0x70C" /> + + <!--Vertical Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="holi" Fps="60" + Resources="0x43010000, 38, 0x40800000, 1017, 0x40800100, 940, 0x40C00000, 2" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="holi" Fps="90" + Resources="0x43010000, 0x26, 0x40800000, 1651, 0x40800100, 940, 0x40C00000, 2, + 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="holi" Fps="120" + Resources="0x43010000, 0x26, 0x40800000, 2035, 0x40800100, 1478, 0x40C00000, 2, + 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="holi" Fps="144" + Resources="0x43010000, 0x26, 0x40800000, 2035, 0x40800100, 1478, 0x40C00000, 2, + 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <!--Horizontal Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="holi" Fps="60" + Resources="0x43010000, 38, 0x40800000, 1017, 0x40800100, 940, 0x40C00000, 2" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="holi" Fps="90" + Resources="0x43010000, 0x26, 0x40800000, 1651, 0x40800100, 940, 0x40C00000, 2, + 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="holi" Fps="120" + Resources="0x43010000, 0x26, 0x40800000, 2035, 0x40800100, 1478, 0x40C00000, 2, + 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="holi" Fps="144" + Resources="0x43010000, 0x26, 0x40800000, 2035, 0x40800100, 1478, 0x40C00000, 2, + 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <!--Pre-Fling boost--> + <!-- Type="4", Pre-Fling boost --> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="holi" Fps="60" + Resources="0x43010000, 38, 0x40800000, 1017, 0x40800100, 940, 0x40C00000, 2" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="holi" Fps="90" + Resources="0x43010000, 0x26, 0x40800000, 1651, 0x40800100, 940, 0x40C00000, 2, + 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="holi" Fps="120" + Resources="0x43010000, 0x26, 0x40800000, 2035, 0x40800100, 1478, 0x40C00000, 2, + 0x40C74000, 0xC0, 0x40408000, 0x27" /> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="holi" Fps="144" + Resources="0x43010000, 0x26, 0x40800000, 2035, 0x40800100, 1478, 0x40C00000, 2, + 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <!--MTP boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- Type="", MTP boost --> + <Config + Id="0x00001086" Enable="true" Target="holi" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1535, + 0x40800100, 1478, 0x42C10000, 0x1" /> + + <!--PackageInstall boost--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value--> + <!-- SCHED_FORCE_LB_ENABLE resource opcode, value--> + <!-- Type="", Package Install boost --> + <Config + Id="0x00001088" Enable="true" Target="holi" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF, + 0x40800100, 0xFFF, 0x40C00000, 0x2, 0x40CA0000, 0, + 0x40CCC000, 0" /> + + <!--Rotation latency boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="holi" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + + <!--Rotation animation boost--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- GPU_MIN_POWER_LEVEL resource opcode,value--> + <!-- Type="", Rotation animation boost --> + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="holi" + Resources="0x40800100, 940, 0x42804000, 0" /> + + <!--Drag boost--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- Type="1", Drag boost --> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="holi" + Resources="0x40800000, 1017, 0x40800100, 940" /> + + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="holi" Fps="120" + Resources="0x40800000, 1017, 0x40800100, 940, 0x40C00000, 2" /> + + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="holi" Fps="144" + Resources="0x40800000, 1017, 0x40800100, 940, 0x40C00000, 2" /> + + <!--Display on Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="holi" + Resources="0x40000000, 1" /> + + <!--Display off Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="holi" + Resources="0x40000000, 0x0" /> + + <!--FPS Update Resource--> + <!-- PREDECITIVE_LOAD BIG CORE resource opcode, value --> + <!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value --> + <!-- SCHED_PREFER_SPREAD resource opcode, value --> + <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value --> + <!-- Type="60" --> + <Config + Id="0x00001094" Type="60" Enable="true" Target="holi" Timeout="0" + Resources="0x41444000, 0, 0x41444100, 0, 0x40CA8000, 0, 0x40CA4000, 5" /> + + <!-- Type="90" --> + <Config + Id="0x00001094" Type="90" Enable="true" Target="holi" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2, 0x40CA4000, 3" /> + + <!-- Type="120" --> + <Config + Id="0x00001094" Type="120" Enable="true" Target="holi" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2, 0x40CA4000, 2" /> + + <!-- Type="144" --> + <Config + Id="0x00001094" Type="144" Enable="true" Target="holi" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2, 0x40CA4000, 2" /> + + <!--FPS Immediate Update from within Perfd Resource--> + <!-- PREDECITIVE_LOAD BIG CORE resource opcode, value --> + <!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value --> + <!-- SCHED_PREFER_SPREAD resource opcode, value --> + <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value --> + <!-- Type="60" --> + <Config + Id="0x0000109B" Type="60" Enable="true" Target="holi" Timeout="0" + Resources="0x41444000, 0, 0x41444100, 0, 0x40CA8000, 0, 0x40CA4000, 5" /> + + <!-- Type="90" --> + <Config + Id="0x0000109B" Type="90" Enable="true" Target="holi" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2, 0x40CA4000, 3" /> + + <!-- Type="120" --> + <Config + Id="0x0000109B" Type="120" Enable="true" Target="holi" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2, 0x40CA4000, 2" /> + + <!-- Type="144" --> + <Config + Id="0x0000109B" Type="144" Enable="true" Target="holi" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2, 0x40CA4000, 2" /> + + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/holi/perf/perfconfigstore.xml b/perf/configs/holi/perf/perfconfigstore.xml new file mode 100644 index 0000000..de9eb0a --- /dev/null +++ b/perf/configs/holi/perf/perfconfigstore.xml @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2020 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is PerfConfigsStore file which returns the value when a +particular property name is invoked --> + +<!-- This file supports only Prop tag, which has the following fields +* Name, to identify the name of the property. The names of the +properties have been classified into Vendor and System property. +* Value, the new value to be returned as string when respective +property Name is called. --> + +<!--__________________________________Example format_______________________________________________ +<Prop Name="vendor.debug.enable.lm" Value="true" Target="holi" Variant="holi" Resolution="1080p" + Ram="3" Kernel="5.4"/> + Target: target code name (decided based on soc id, doesn't depend on lunch combo name) + ex: lito, lagoon, kona, etc + Variant: For Variants of Target go/32bit/64bit/nongo, examples below + Variant=bengal_32go -> bengal 32 bit go target + Variant=bengal_32 -> bengal 32 bit target + Variant=bengal -> bengal 64 bit target + Resolution="1080p", "2560", "720p", "HD+" + Kernel: kernel version, examples: "4.19", "5.4", etc + Ram: ram size in GB, examples: "1","2","3","4","6","8","10","12" (12 for target with >= 12GB of RAM as well) +_______________________________________________________________________________________________ --> + +<PerfConfigsStore> + <PerfConfigs> + + <!--Vendor Properties --> + <Prop Name="vendor.debug.enable.lm" Value="true" /> + <Prop Name="vendor.iop.enable_uxe" Value="1" /> + <Prop Name="vendor.enable.prefetch" Value="false" /> + <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" /> + <Prop Name="vendor.perf.iop_v3.enable" Value="false" /> + <Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" /> + <Prop Name="vendor.debug.enable.memperfd" Value="true" /> + <Prop Name="vendor.perf.pfar.enable" Value="1"/> + <Prop Name="vendor.perf.fps_switch.enable" Value="1"/> + <Prop Name="ro.vendor.perf.gfl.tap_ignore_enable" Value="true"/> + <Prop Name="ro.vendor.perf.wlc.heavygame" Value="true"/> + <Prop Name="ro.vendor.perf.splh" Value="none"/> + <Prop Name="vendor.perf.fps_switch_hyst_time_secs" Value="10" /> + + <!--System Properties --> + <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="300000" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="15" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="4294967296" /> + <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" /> + <Prop Name="ro.vendor.iocgrp.config" Value="1" /> + <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="true" /> + <Prop Name="ro.lmk.kill_timeout_ms_dup" Value="100" /> + <Prop Name="ro.lmk.thrashing_threshold" Value="30" /> + <Prop Name="ro.lmk.thrashing_decay" Value="5" /> + <Prop Name="ro.lmk.nstrat_low_swap" Value="10" /> + <Prop Name="ro.lmk.nstrat_wmark_boost_factor" Value="4" /> + <Prop Name="ro.lmk.enhance_batch_kill" Value="false" /> + <Prop Name="ro.lmk.enable_watermark_check" Value="true" /> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" /> + <Prop Name="ro.lmk.enable_preferred_apps" Value="true" /> + <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" /> + <Prop Name="ro.vendor.at_library" Value="libqti-at.so" /> + <Prop Name="vendor.appcompact.enable_app_compact" Value="true" /> + <Prop Name="vendor.appcompact.full_compact_type" Value="2" /> + <Prop Name="vendor.appcompact.some_compact_type" Value="2" /> + <Prop Name="vendor.appcompact.compact_throttle_somesome" Value="5000" /> + <Prop Name="vendor.appcompact.compact_throttle_somefull" Value="10000" /> + <Prop Name="vendor.appcompact.compact_throttle_fullsome" Value="500" /> + <Prop Name="vendor.appcompact.compact_throttle_fullfull" Value="10000" /> + <Prop Name="vendor.appcompact.compact_throttle_bfgs" Value="600000" /> + <Prop Name="vendor.appcompact.compact_throttle_persistent" Value="600000" /> + <Prop Name="vendor.appcompact.rss_throttle_kb" Value="12000" /> + <Prop Name="vendor.appcompact.delta_rss_throttle_kb" Value="8000" /> + + </PerfConfigs> +</PerfConfigsStore> diff --git a/perf/configs/holi/perf/targetconfig.xml b/perf/configs/holi/perf/targetconfig.xml new file mode 100644 index 0000000..f66bd1e --- /dev/null +++ b/perf/configs/holi/perf/targetconfig.xml @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2020 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="holi" + NumClusters="2" + TotalNumCores="8" + SocIds="454,507" + SynCore="1" + CoreCtlCpu="0" + MinCoreOnline="0" + CpufreqGov="1" + MinFpsForTuning="60" /> + + <ClustersInfo Id="0" NumCores="6" Type="little" /> + <ClustersInfo Id="1" NumCores="2" Type="big" /> + + </Config1> + +</TargetConfig> diff --git a/perf/configs/holi/perf/targetresourceconfigs.xml b/perf/configs/holi/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..a60b3e6 --- /dev/null +++ b/perf/configs/holi/perf/targetresourceconfigs.xml @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2020 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to modify the Supported field information. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing path +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. +NOTE - It is not Mandatory to write all the resources which are not supported, +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x1" Supported="no" /> <!-- toggle_l2_pc_perf --> + <Config MajorValue="0x1" MinorValue="0x2" Node="/proc/sys/kernel/sched_busy_hyst_ns" /> + <Config MajorValue="0x1" MinorValue="0x3" Supported="no" /> <!-- lpm_ref_stddev --> + <Config MajorValue="0x1" MinorValue="0x4" Supported="no" /> <!-- lpm_tmr_add --> + <Config MajorValue="0x1" MinorValue="0x5" Supported="yes" /> <!-- lpm_ipi_prediction --> + + <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task --> + <Config MajorValue="0x3" MinorValue="0x6" Supported="no" /> <!-- sched_init_task_load --> + <Config MajorValue="0x3" MinorValue="0xB" Supported="no" /> <!-- sched_spill_nr_run --> + <Config MajorValue="0x3" MinorValue="0xC" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_set_freq_aggr --> + <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggr_threshold --> + <Config MajorValue="0x3" MinorValue="0x22" Supported="no" /> <!-- sched_task_unfilter_nr_windows --> + <Config MajorValue="0x3" MinorValue="0x37" Supported="no" /> <!-- Enabled till Kernel 4.19 --> + <Config MajorValue="0x3" MinorValue="0x39" Supported="no" /> <!-- Enabled till Kernel 4.19 --> + + <!--All the cpubw_hmon path are now migrated to new opcodes.Hence unsupporting old ones--> + <Config MajorValue="0x6" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x3" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x6" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x7" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x8" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x9" Supported="no" /> + + <Config MajorValue="0xB" MinorValue="0x2" Node="/sys/devices/system/cpu/cpu_boost/input_boost_freq" /> + + <!--All llcbw path are now migrated to new opcode. Hence unsupporting old ones--> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x4" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/min_freq" /> + <Config MajorValue="0xC" MinorValue="0x5" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/up_scale" /> + <Config MajorValue="0xC" MinorValue="0x6" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/max_freq" /> + <Config MajorValue="0xC" MinorValue="0x7" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/decay_rate" /> + <Config MajorValue="0xC" MinorValue="0x8" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/io_percent" /> + <Config MajorValue="0xC" MinorValue="0xA" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0xC" MinorValue="0xB" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent --> + <Config MajorValue="0xC" MinorValue="0xC" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/polling_interval" /> + <Config MajorValue="0xC" MinorValue="0xD" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/sample_ms" /> + <Config MajorValue="0xC" MinorValue="0xE" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/idle_mbps" /> + + <Config MajorValue="0xD" MinorValue="0x0" Node="/sys/class/devfreq/fd90100.qcom,cpu%d-cpu-l3-lat/min_freq" /> + <Config MajorValue="0xD" MinorValue="0x1" Node="/sys/class/devfreq/fd90100.qcom,cpu0-cpu-l3-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/class/devfreq/fd90100.qcom,cpu6-cpu-l3-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0x3" Node="/sys/class/devfreq/fd90100.qcom,cpu0-cpu-l3-lat/mem_latency/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/class/devfreq/fd90100.qcom,cpu6-cpu-l3-lat/mem_latency/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0x11" Node="/sys/class/devfreq/fd90100.qcom,cpu%d-cpu-l3-lat/max_freq" /> + <Config MajorValue="0xD" MinorValue="0x5" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x6" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x7" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x8" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x9" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0xA" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0xB" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0xC" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0xD" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0xE" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0xF" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x10" Supported="no" /> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/kona/lm/AdaptLaunchFeature.xml b/perf/configs/kona/lm/AdaptLaunchFeature.xml new file mode 100644 index 0000000..a8650f7 --- /dev/null +++ b/perf/configs/kona/lm/AdaptLaunchFeature.xml @@ -0,0 +1,69 @@ +<!-- +/****************************************************************************** + @file AdaptLaunchFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2019 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AdaptLaunch</Name> + <Libname>libadaptlaunch.so</Libname> + <Configs> + <Enable>1</Enable> + </Configs> + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>VmRss</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>false</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + </Trigger> + </Triggers> + <Samples>160</Samples> + <Fields> + <Field>VmRss:</Field> + </Fields> + </Meter> + </Meters> + <SpuriousHintApps> + <App>com.android.permissioncontroller</App> + </SpuriousHintApps> +</Feature> diff --git a/perf/configs/kona/lm/AppClassifierFeature.xml b/perf/configs/kona/lm/AppClassifierFeature.xml new file mode 100644 index 0000000..d91bdbf --- /dev/null +++ b/perf/configs/kona/lm/AppClassifierFeature.xml @@ -0,0 +1,36 @@ +<!-- +/****************************************************************************** + @file AppClassifierFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2017-2019 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AppClassifier</Name> + <Configs> + <Enable>1</Enable> + </Configs> + <Libname>libappclassifier.so</Libname> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> +</Feature> diff --git a/perf/configs/kona/lm/GameOptimizationFeature.xml b/perf/configs/kona/lm/GameOptimizationFeature.xml new file mode 100644 index 0000000..f0dbe4c --- /dev/null +++ b/perf/configs/kona/lm/GameOptimizationFeature.xml @@ -0,0 +1,277 @@ +<!-- +/****************************************************************************** + @file GameOptimizationFeature.xml + @brief Game Optimization feature xml + + DESCRIPTION + Each feature has an xml file to define the feature components + + =========================================================================== + Copyright (c) 2017-2019 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> + +<Feature> + <Name>GameOptimization</Name> + <Libname>libgameoptfeature.so</Libname> + <Configs> + <Enable>1</Enable> + <STATIC_L0>1</STATIC_L0> + <ATML1>0</ATML1> + <ATML2>0</ATML2> + <ATML3>0</ATML3> + <GFAR>0</GFAR> + <AGPE>1</AGPE> + <IDLE_SENSE>0</IDLE_SENSE> + <THERMAL_MONITOR>1</THERMAL_MONITOR> + <GROUP_UPMIGRATE_PATH>/proc/sys/kernel/sched_group_upmigrate</GROUP_UPMIGRATE_PATH> + <GROUP_DOWNMIGRATE_PATH>/proc/sys/kernel/sched_group_downmigrate</GROUP_DOWNMIGRATE_PATH> + <BIG_CLUSTER_ID>4,5,6,7</BIG_CLUSTER_ID> + <BIG_SLB_OPCODE>0x40C68000,0x40C68010,0x40C68020,0x40C68200</BIG_SLB_OPCODE> + <LITTLE_SLB_OPCODE>0x40C68100, 0x40C68110, 0x40C68120, 0x40C68130</LITTLE_SLB_OPCODE> + <!-- SLBval, TADemand, Jank--> + <SLB_MAP>14,200,40,6,150,30,4,125,25,2,100,15,0</SLB_MAP> + <STUTTER_SCALE>2</STUTTER_SCALE> + <ENABLE_DB_L2_L3>0</ENABLE_DB_L2_L3> + <!-- This will enbale SLB clamping if Janks are zero in consistent learning window--> + <ENABLE_SLB_CLAMPER>1</ENABLE_SLB_CLAMPER> + <L3_JANK_THRESHOLD>2,12</L3_JANK_THRESHOLD> + <!-- Janky vector threshold, Total no. of Janks Threshold--> + <L1_JANK_THRESHOLD>4,8</L1_JANK_THRESHOLD> + <!-- Default slb little, Default slb big--> + <ATM_L3_DEFAULTS>0,0</ATM_L3_DEFAULTS> + <THERMAL_MONITOR_RULES>GAME_OPT_TSENS_RULE1,GAME_OPT_TSENS_RULE2,GAME_OPT_TSENS_RULE3</THERMAL_MONITOR_RULES> + <!-- AGPE threshold values in the order: Increase, Aggressive Increase, Decrease --> + <AGPE_FPS_30_THRESHOLD>1.1, 1.8, 0.6</AGPE_FPS_30_THRESHOLD> + <AGPE_FPS_35_THRESHOLD>1.1, 1.8, 0.6</AGPE_FPS_35_THRESHOLD> + <AGPE_FPS_40_THRESHOLD>1.1, 1.8, 0.6</AGPE_FPS_40_THRESHOLD> + <AGPE_FPS_60_THRESHOLD>1.1, 1.8, 0.6</AGPE_FPS_60_THRESHOLD> + <AGPE_FPS_90_THRESHOLD>2.0, 5.0, 0.1</AGPE_FPS_90_THRESHOLD> + <AGPE_FPS_120_THRESHOLD>2.0, 5.0, 0.1</AGPE_FPS_120_THRESHOLD> + <AGPE_FPS_144_THRESHOLD>2.0, 5.0, 0.1</AGPE_FPS_144_THRESHOLD> + </Configs> + <Profiles> + <!-- Heavy Game Default --> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, 0, SCHED_MIN_TASK_UTIL_FOR_BOOST, 0 --> + <!-- MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_BIG, 19000, MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_LITTLE, 19000 --> + <!-- SCHED_GROUP_DOWNMIGRATE, 75, SCHED_GROUP_UPMIGRATE, 90 --> + <Profile> + <DEFAULT_PROF> + 0x40C78000, 0, 0x40C7C000, 0, + 0x41448000, 19000, 0x41448100, 19000, + 0x40C58000, 75, 0x40C54000, 90 + </DEFAULT_PROF> + </Profile> + <!-- Agressive Profile - Junk detected --> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, 0, SCHED_MIN_TASK_UTIL_FOR_BOOST, 0 --> + <!-- MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_BIG, 79000, MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_LITTLE, 79000--> + <!-- CPUBW_HWMON_MIN_FREQ, 30, LLCBW_HWMON_MIN_FREQ, 90, L3_MEMLAT_MIN_FREQ, 9000 --> + <!-- MIN_FREQ_CLUSTER_PRIME_CORE_0, 1000, MIN_FREQ_CLUSTER_BIG_CORE_0, 1000, MIN_FREQ_CLUSTER_LITTLE_CORE_0, 1000 --> + <!-- SCHED_GROUP_DOWNMIGRATE, 65, SCHED_GROUP_UPMIGRATE, 80 --> + <!-- TO BE REPLACED: SCHED_BUSY_HYSTERSIS_CPU_MASK, 0xf0, LPM_BIAS_HYST, 99--> + <Profile> + <DEFAULT_PROF> + 0x40C78000, 0, 0x40C7C000, 0, + 0x41448000, 79000, 0x41448100, 79000, + 0x43000000, 30, 0x41800000, 90, 0x43400000, 9000, + 0x40800200, 1000, 0x40800000, 1000, 0x40800100, 1000, + 0x40C58000, 65, 0x40C54000, 80, + 0x40C74000, 0xf0, 0x40408000, 99 + </DEFAULT_PROF> + </Profile> + <Profile> + <!-- Colocation v3 1 GHz, Core-CTL 3 --> + <DEFAULT>0x4144C100,1000000,0x41000000,3</DEFAULT> + <!-- Colocation v3 1 GHz, Core-CTL 3 --> + <SKEW2>0x4144C100,1000000,0x41000000,3</SKEW2> + </Profile> + </Profiles> + + <Meters> + <SamplesRequired>4</SamplesRequired> + + <Meter> + <Name>Fps</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_HEADROOM_REGULATOR</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_SENSOR_DATA</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TOGGLE_GAMEOPT</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_TOP_APP</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_RENDER_RATE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_LOW_LAT</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_HIGH_CPUUTIL</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_LOAD_CHANGED</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + </Triggers> + + <Configs> + <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE> + <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE> + </Configs> + <Samples>100</Samples> + </Meter> + + <Meter> + <Name>SchedParams</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TOGGLE_GAMEOPT</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_TOP_APP</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_RENDER_RATE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_LOW_LAT</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_HIGH_CPUUTIL</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_LOAD_CHANGED</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + </Triggers> + <Samples>100</Samples> + </Meter> + </Meters> + <IgnoredApps> + <App>com.google.android.gms</App> + <App>com.android.vending</App> + <App>com.google.android.projection.gearhead</App> + </IgnoredApps> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_THERMAL_UPDATE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + </Triggers> +</Feature> diff --git a/perf/configs/kona/msm_irqbalance.conf b/perf/configs/kona/msm_irqbalance.conf new file mode 100644 index 0000000..bf4d7b1 --- /dev/null +++ b/perf/configs/kona/msm_irqbalance.conf @@ -0,0 +1,2 @@ +PRIO=1,1,1,1,0,0,0,0 +IGNORED_IRQ=27,23,38 diff --git a/perf/configs/kona/perf/perfboostsconfig.xml b/perf/configs/kona/perf/perfboostsconfig.xml new file mode 100644 index 0000000..e6cced6 --- /dev/null +++ b/perf/configs/kona/perf/perfboostsconfig.xml @@ -0,0 +1,337 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2017-2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + */ +--> + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- CPUBW_MAX_FREQ resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- LLCC DDR LAT CPU0 MIN FREQ resource opcode, value--> + <!-- L3 resource opcode, value--> + <!-- GPU DISABLE resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="kona" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF, 0x41818000, 0xFF, + 0x41800000, 0xFF, 0x40400000, 0x1, 0x42C10000, 0x1, 0x43430100, 0x28C5, + 0x43400000, 0xFFFF, 0x4281C000, 2000" /> + + <!--app lauch boost (disabling packing)--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + <Config + Id="0x00001081" Type="2" Enable="false" Timeout="1500" Target="kona" + Resources="" /> + + <!-- config_enableLaunchBoostv2--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- SCHED DOWNMIGRATE resource opcode, value --> + <!-- SCHED UPMIGRATE resource opcode, value --> + <!-- SCHED DOWNMIGRATE PRIME resource opcode, value --> + <!-- SCHED UPMIGRATE PRIME resource opcode, value --> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="kona" + Resources="0x40C00000, 0x3, 0x40C58000, 0x2D, 0x40C54000, 0x41, + 0x40C74000, 0xF0, 0x40408000, 0x63, 0x40C20000, 0x28, + 0x40C1C000, 0x3C, 0x40C20200, 0x28, 0x40C1C200, 0x3C" /> + + <!-- config_gameBoost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- SCHED DOWNMIGRATE resource opcode, value --> + <!-- SCHED UPMIGRATE resource opcode, value --> + <!-- SCHED DOWNMIGRATE PRIME resource opcode, value --> + <!-- SCHED UPMIGRATE PRIME resource opcode, value --> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- LLCCBW resource opcode, value--> + <!-- L3 resource opcode, value--> + + <!-- Type="4", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="kona" + Resources="0x40C00000, 0x1, 0x40C58000, 0x2D, 0x40C54000, 0x41, + 0x40C74000, 0xF0, 0x40408000, 0x63, 0x40C20000, 0x28, + 0x40C1C000, 0x3C, 0x40C20200, 0x28, 0x40C1C200, 0x3C, + 0x42C10000, 0x1, 0x40800200, 0x76C, 0x40800000, 0x76C, + 0x40800100, 0x4B0, 0x41800000, 0x50, 0x43000000, 0x3A, + 0x43400000, 0x3480" /> + + <!--app launch boost (attach application) --> + <!-- SCHED_TASK_BOOST resource opcode, value--> + <Config + Id="0x00001081" Type="103" Enable="true" Timeout="2000" Target="kona" + Resources="0x40C80000, 0x0" /> + + <!--Animation boost --> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <Config + Id="0x00001083" Enable="true" Timeout="400" Target="kona" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF" /> + + <!--Vertical Scroll boost--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value--> + <!-- Below additional resources for 120+fps--> + <!-- SCHED_PREFER_SPREAD resource opcode, value --> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="kona" Fps="60" + Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3" /> + <Config + Id="0x00001080" Type="1" Enable="true" Target="kona" Fps="90" + Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3" /> + <Config + Id="0x00001080" Type="1" Enable="true" Target="kona" Fps="120" + Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3, 0x40CA8000, 2" /> + <Config + Id="0x00001080" Type="1" Enable="true" Target="kona" Fps="144" + Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3, 0x40CA8000, 2" /> + + <!--Prefling Scroll boost--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value--> + <!-- Below additional resources for 120+fps--> + <!-- SCHED_PREFER_SPREAD resource opcode, value --> + <!-- TIMEOUT 80ms --> + <!-- Type="4", Prefling boost --> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="kona" Fps="60" + Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3" /> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="kona" Fps="90" + Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3" /> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="kona" Fps="120" + Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3, 0x40CA8000, 2" /> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="kona" Fps="144" + Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3, 0x40CA8000, 2" /> + + <!--MTP boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + + <!-- Type="", MTP boost --> + <Config + Id="0x00001086" Enable="true" Target="kona" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1800, + 0x40800100, 1400" /> + + <!--Drag boost--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value--> + <!-- Below additional resources for 120+fps--> + <!-- SCHED_PREFER_SPREAD resource opcode, value --> + <!-- Type="1", Drag boost --> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="kona" Fps="60" + Resources="0x43000000, 0x11, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3" /> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="kona" Fps="90" + Resources="0x43000000, 0x11, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3" /> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="kona" Fps="120" + Resources="0x43000000, 0x11, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3, 0x40CA8000, 2" /> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="kona" Fps="144" + Resources="0x43000000, 0x11, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3, 0x40CA8000, 2" /> + + <!--PackageInstall boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value --> + <!-- SCHED_FORCE_LB_ENABLE opcode, value--> + <!-- Type="", Package Install boost --> + + <Config + Id="0x00001088" Enable="true" Target="kona" + Resources="0x40C00000, 0x2, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200, 0xFFF, 0x40CA0000, 0, + 0x40CCC000, 0" /> + + <!--Rotation latency boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="kona" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200,0xFFF" /> + + <!--Rotation animation boost--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- GPU_MIN_POWER_LEVEL resource opcode,value--> + <!-- Type="", Rotation animation boost --> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="kona" + Resources="0x40800100, 1000, 0x42804000, 0" /> + + <!--Performance mode--> + <!-- SCHEDTUNE_BOOST --> + <!-- SCHED_WINDOW_TICKS_UPDATE --> + <!-- TASK_UNFILTER_NR_WINDOWS --> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM_BIAS_HYST resource opcode, value--> + <!-- Type="", Performance mode --> + <Config + Id="0x00001091" Enable="true" Target="kona" + Resources="0x40C70000, 20, 0x40CA4000, 2, 0x40C88000, 25, 0x40800000, 1574, 0x40800100, 691, 0x40800200, 1632, + 0x40C74000, 0xFF, 0x40408000, 0x63" /> + + <!--Display on Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="kona" + Resources="0x40000000, 1" /> + <!--Display off Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="kona" + Resources="0x40000000, 0x0" /> + + <!--FPS Update from Framework--> + <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value --> + <!-- Below additional resources for 120fps, 144fps--> + <!-- SCHED_PREFER_SPREAD resource opcode, value --> + <!-- Type indicates FPS --> + <!-- 30fps --> + <Config + Id="0x00001094" Type="30" Enable="true" Target="kona" Timeout="0" + Resources="0x40CA4000, 8" /> + <!-- 45fps --> + <Config + Id="0x00001094" Type="45" Enable="true" Target="kona" Timeout="0" + Resources="0x40CA4000, 5" /> + <!-- 60fps --> + <Config + Id="0x00001094" Type="60" Enable="true" Target="kona" Timeout="0" + Resources="0x40CA4000, 4" /> + <!-- 90fps --> + <Config + Id="0x00001094" Type="90" Enable="true" Target="kona" Timeout="0" + Resources="0x40CA4000, 3" /> + <!-- 120fps --> + <Config + Id="0x00001094" Type="120" Enable="true" Target="kona" Timeout="0" + Resources="0x40CA4000, 2, 0x40CA8000, 1" /> + <!-- 144fps --> + <Config + Id="0x00001094" Type="144" Enable="true" Target="kona" Timeout="0" + Resources="0x40CA4000, 2, 0x40CA8000, 1" /> + <!-- 180fps --> + <Config + Id="0x00001094" Type="180" Enable="true" Target="kona" Timeout="0" + Resources="0x40CA4000, 2" /> + <!-- 240fps --> + <Config + Id="0x00001094" Type="240" Enable="true" Target="kona" Timeout="0" + Resources="0x40CA4000, 2" /> + + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/kona/perf/perfconfigstore.xml b/perf/configs/kona/perf/perfconfigstore.xml new file mode 100644 index 0000000..bfa51f6 --- /dev/null +++ b/perf/configs/kona/perf/perfconfigstore.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is PerfConfigsStore file which returns the value when a +particular property name is invoked --> + +<!-- This file supports only Prop tag, which has the following fields +* Name, to identify the name of the property. The names of the +properties have been classified into Vendor and System property. +* Value, the new value to be returned as string when respective +property Name is called. --> + +<PerfConfigsStore> + <PerfConfigs> + + <!--Vendor Properties --> + <Prop Name="vendor.iop.enable_uxe" Value="1" /> + <Prop Name="vendor.debug.enable.lm" Value="true" /> + <Prop Name="vendor.perf.iop_v3.enable" Value="true" /> + <Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" /> + <Prop Name="vendor.enable.prefetch" Value="false" /> + <Prop Name="vendor.iop.enable_prefetch_ofr" Value="false" /> + <Prop Name="ro.vendor.perf.gfl.tap_ignore_enable" Value="true"/> + + <!--System Properties --> + <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="true" /> + <Prop Name="ro.lmk.enhance_batch_kill" Value="false" /> + <Prop Name="ro.lmk.enable_watermark_check" Value="true" /> + <Prop Name="ro.lmk.enable_preferred_apps" Value="true" /> + <Prop Name="ro.lmk.use_new_strategy_dup" Value="true" /> + <Prop Name="ro.lmk.super_critical" Value="606" /> + <Prop Name="ro.lmk.direct_reclaim_pressure" Value="45" /> + <Prop Name="ro.lmk.reclaim_scan_threshold" Value="0" /> + <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" /> + <Prop Name="vendor.perf.performancemode.support" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" /> + <Prop Name="ro.vendor.at_library" Value="libqti-at.so" /> + <Prop Name="vendor.perf.topAppRenderThreadBoost.enable" Value="false" /> + + </PerfConfigs> +</PerfConfigsStore> diff --git a/perf/configs/kona/perf/targetconfig.xml b/perf/configs/kona/perf/targetconfig.xml new file mode 100644 index 0000000..412e8bf --- /dev/null +++ b/perf/configs/kona/perf/targetconfig.xml @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="kona" + NumClusters="3" + TotalNumCores="8" + SocIds="356" + SynCore="1" + CoreCtlCpu="4" + MinCoreOnline="0" + CpufreqGov="1" /> + + <ClustersInfo Id="0" NumCores="4" Type="little" /> + <ClustersInfo Id="1" NumCores="3" Type="big" /> + <ClustersInfo Id="2" NumCores="1" Type="prime" /> + + </Config1> + +</TargetConfig> diff --git a/perf/configs/kona/perf/targetresourceconfigs.xml b/perf/configs/kona/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..1a8772d --- /dev/null +++ b/perf/configs/kona/perf/targetresourceconfigs.xml @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to modify the Supported field information. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing path +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. +NOTE - It is not Mandatory to write all the resources which are not supported, +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x1" Supported="no" /> <!-- toggle_l2_pc_perf --> + <Config MajorValue="0x1" MinorValue="0x2" Node="/proc/sys/kernel/sched_busy_hyst_ns" /> + + <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task --> + <Config MajorValue="0x3" MinorValue="0x6" Supported="no" /> <!-- sched_init_task_load --> + <Config MajorValue="0x3" MinorValue="0xB" Supported="no" /> <!-- sched_spill_nr_run --> + <Config MajorValue="0x3" MinorValue="0xC" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_set_freq_aggr --> + <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggr_threshold --> + + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent --> + <Config MajorValue="0x6" MinorValue="0xA" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0xB" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0xC" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0xD" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0xE" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0xF" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x10" Supported="no"/> + + <Config MajorValue="0x6" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/min_freq" /> + <Config MajorValue="0x6" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/decay_rate" /> + <Config MajorValue="0x6" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/io_percent" /> + <Config MajorValue="0x6" MinorValue="0x4" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/low_power_ceil_mbps" /> + <Config MajorValue="0x6" MinorValue="0x5" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/low_power_io_percent" /> + <Config MajorValue="0x6" MinorValue="0x6" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/max_freq" /> + <Config MajorValue="0x6" MinorValue="0x7" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/polling_interval" /> + <Config MajorValue="0x6" MinorValue="0x8" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/sample_ms" /> + <Config MajorValue="0x6" MinorValue="0x9" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/idle_mbps" /> + + <Config MajorValue="0xB" MinorValue="0x2" Node="/sys/devices/system/cpu/cpu_boost/input_boost_freq"/> + + <!-- llcbw L3 and DDR major end --> + <Config MajorValue="0xC" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/min_freq" /> + <Config MajorValue="0xC" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/io_percent" /> + <Config MajorValue="0xC" MinorValue="0x3" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/sample_ms" /> + <Config MajorValue="0xC" MinorValue="0x4" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x5" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x6" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x7" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x8" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x9" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0xA" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0xB" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0xC" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0xD" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0xE" Supported="no" /> + + <Config MajorValue="0xD" MinorValue="0x0" Node="/sys/class/devfreq/18590000.qcom,devfreq-l3:qcom,cpu%d-cpu-l3-lat/min_freq" /> + <Config MajorValue="0xD" MinorValue="0x1" Node="/sys/class/devfreq/18590000.qcom,devfreq-l3:qcom,cpu0-cpu-l3-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/class/devfreq/18590000.qcom,devfreq-l3:qcom,cpu4-cpu-l3-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0x3" Node="/sys/class/devfreq/18590000.qcom,devfreq-l3:qcom,cpu0-cpu-l3-lat/mem_latency/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/class/devfreq/18590000.qcom,devfreq-l3:qcom,cpu4-cpu-l3-lat/mem_latency/stall_floor" /> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/lahaina/lm/AdaptLaunchFeature.xml b/perf/configs/lahaina/lm/AdaptLaunchFeature.xml new file mode 100644 index 0000000..b46eaf3 --- /dev/null +++ b/perf/configs/lahaina/lm/AdaptLaunchFeature.xml @@ -0,0 +1,69 @@ +<!-- +/****************************************************************************** + @file AdaptLaunchFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2019-2021 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AdaptLaunch</Name> + <Libname>libadaptlaunch.so</Libname> + <Configs> + <Enable>1</Enable> + </Configs> + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>VmRss</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>false</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + </Trigger> + </Triggers> + <Samples>300</Samples> + <Fields> + <Field>VmRss:</Field> + </Fields> + </Meter> + </Meters> + <SpuriousHintApps> + <App>com.android.permissioncontroller</App> + </SpuriousHintApps> +</Feature> diff --git a/perf/configs/lahaina/lm/AppClassifierFeature.xml b/perf/configs/lahaina/lm/AppClassifierFeature.xml new file mode 100644 index 0000000..1f3d2e1 --- /dev/null +++ b/perf/configs/lahaina/lm/AppClassifierFeature.xml @@ -0,0 +1,36 @@ +<!-- +/****************************************************************************** + @file AppClassifierFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2017-2020 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AppClassifier</Name> + <Configs> + <Enable>1</Enable> + </Configs> + <Libname>libappclassifier.so</Libname> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> +</Feature> diff --git a/perf/configs/lahaina/lm/GameOptimizationFeature.xml b/perf/configs/lahaina/lm/GameOptimizationFeature.xml new file mode 100644 index 0000000..c437a0a --- /dev/null +++ b/perf/configs/lahaina/lm/GameOptimizationFeature.xml @@ -0,0 +1,427 @@ +<!-- +/****************************************************************************** + @file GameOptimizationFeature.xml + @brief Game Optimization feature xml + + DESCRIPTION + Each feature has an xml file to define the feature components + + =========================================================================== + Copyright (c) 2017-2020 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> + +<Feature> + <Name>GameOptimization</Name> + <Libname>libgameoptfeature.so</Libname> + <Configs target="lahaina"> + <Enable>1</Enable> + <STATIC_L0>1</STATIC_L0> + <AGPE>1</AGPE> + <GFAR>1</GFAR> + <STUTTER_SCALE>10</STUTTER_SCALE> + <PICARD>1</PICARD> + <IDLE_SENSE>0</IDLE_SENSE> + <THERMAL_MONITOR>1</THERMAL_MONITOR> + <THERMAL_MONITOR_RULES>GAME_OPT_TSENS_RULE1,GAME_OPT_TSENS_RULE2,GAME_OPT_TSENS_RULE3</THERMAL_MONITOR_RULES> + <!-- AGPE threshold values in the order: Increase, Aggressive Increase, Decrease --> + <AGPE_FPS_30_THRESHOLD>0.6, 1.0, 0.4</AGPE_FPS_30_THRESHOLD> + <AGPE_FPS_35_THRESHOLD>0.6, 1.0, 0.4</AGPE_FPS_35_THRESHOLD> + <AGPE_FPS_40_THRESHOLD>0.6, 1.0, 0.4</AGPE_FPS_40_THRESHOLD> + <AGPE_FPS_48_THRESHOLD>0.6, 1.0, 0.4</AGPE_FPS_48_THRESHOLD> + <AGPE_FPS_60_THRESHOLD>0.6, 1.0, 0.4</AGPE_FPS_60_THRESHOLD> + <AGPE_FPS_90_THRESHOLD>2.0, 5.0, 1.0</AGPE_FPS_90_THRESHOLD> + <AGPE_FPS_120_THRESHOLD>2.0, 5.0, 1.0</AGPE_FPS_120_THRESHOLD> + <AGPE_FPS_144_THRESHOLD>2.0, 5.0, 1.0</AGPE_FPS_144_THRESHOLD> + </Configs> + <Configs target="shima"> + <Enable>1</Enable> + <ATML1>1</ATML1> + <ATML2>1</ATML2> + <ATML3>0</ATML3> + <GFAR>1</GFAR> + <PICARD>0</PICARD> + <IDLE_SENSE>0</IDLE_SENSE> + <GROUP_UPMIGRATE_PATH>/proc/sys/kernel/sched_group_upmigrate</GROUP_UPMIGRATE_PATH> + <GROUP_DOWNMIGRATE_PATH>/proc/sys/kernel/sched_group_downmigrate</GROUP_DOWNMIGRATE_PATH> + <BIG_CLUSTER_ID>4,5,6,7</BIG_CLUSTER_ID> + <BIG_SLB_OPCODE>0x40C68000,0x40C68010,0x40C68020,0x40C680200</BIG_SLB_OPCODE> + <LITTLE_SLB_OPCODE>0x40C68100,0x40C68110,0x40C68120,0x40C68130</LITTLE_SLB_OPCODE> + <!-- SLBval, TADemand, Jank--> + <SLB_MAP>14,200,40,6,150,30,4,125,25,2,100,15,0</SLB_MAP> + <STUTTER_SCALE>10</STUTTER_SCALE> + <ENABLE_DB_L2_L3>0</ENABLE_DB_L2_L3> + <!-- This will enbale SLB clamping if Janks are zero in consistent learning window--> + <ENABLE_SLB_CLAMPER>1</ENABLE_SLB_CLAMPER> + <L3_JANK_THRESHOLD>2,12</L3_JANK_THRESHOLD> + <!-- Janky vector threshold, Total no. of Janks Threshold--> + <L1_JANK_THRESHOLD>4,8</L1_JANK_THRESHOLD> + <!-- Default slb little, Default slb big--> + <ATM_L3_DEFAULTS>0,-6</ATM_L3_DEFAULTS> + </Configs> + <Configs target="yupik"> + <Enable>1</Enable> + <ATML1>1</ATML1> + <ATML2>1</ATML2> + <ATML3>0</ATML3> + <GFAR>1</GFAR> + <PICARD>1</PICARD> + <IDLE_SENSE>0</IDLE_SENSE> + <GROUP_UPMIGRATE_PATH>/proc/sys/kernel/sched_group_upmigrate</GROUP_UPMIGRATE_PATH> + <GROUP_DOWNMIGRATE_PATH>/proc/sys/kernel/sched_group_downmigrate</GROUP_DOWNMIGRATE_PATH> + <BIG_CLUSTER_ID>4,5,6,7</BIG_CLUSTER_ID> + <BIG_SLB_OPCODE>0x40C68000,0x40C68010,0x40C68020,0x40C680200</BIG_SLB_OPCODE> + <LITTLE_SLB_OPCODE>0x40C68100,0x40C68110,0x40C68120,0x40C68130</LITTLE_SLB_OPCODE> + <!-- SLBval, TADemand, Jank--> + <SLB_MAP>14,200,40,6,150,30,4,125,25,2,100,15,0</SLB_MAP> + <STUTTER_SCALE>10</STUTTER_SCALE> + <ENABLE_DB_L2_L3>0</ENABLE_DB_L2_L3> + <!-- This will enbale SLB clamping if Janks are zero in consistent learning window--> + <ENABLE_SLB_CLAMPER>1</ENABLE_SLB_CLAMPER> + <L3_JANK_THRESHOLD>2,12</L3_JANK_THRESHOLD> + <!-- Janky vector threshold, Total no. of Janks Threshold--> + <L1_JANK_THRESHOLD>4,8</L1_JANK_THRESHOLD> + <!-- Default slb little, Default slb big--> + <ATM_L3_DEFAULTS>0,-6</ATM_L3_DEFAULTS> + </Configs> + <Profiles> + <!-- Heavy Game Default --> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, 0, SCHED_MIN_TASK_UTIL_FOR_BOOST, 0 --> + <!-- MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_BIG, 19000, MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_LITTLE, 19000 --> + <!-- SCHED_GROUP_DOWNMIGRATE, 75, SCHED_GROUP_UPMIGRATE, 90 --> + <Profile target="lahaina"> + <DEFAULT_PROF> + 0x40C78000, 0, 0x40C7C000, 0, + 0x41448000, 19000, 0x41448100, 19000, + 0x40C58000, 75, 0x40C54000, 90 + </DEFAULT_PROF> + </Profile> + <!-- Agressive Profile - Junk detected --> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, 0, SCHED_MIN_TASK_UTIL_FOR_BOOST, 0 --> + <!-- MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_BIG, 79000, MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_LITTLE, 79000--> + <!-- CPUBW_HWMON_MIN_FREQ, 30, LLCBW_HWMON_MIN_FREQ, 90, L3_MEMLAT_MIN_FREQ, 9000 --> + <!-- MIN_FREQ_CLUSTER_PRIME_CORE_0, 1000, MIN_FREQ_CLUSTER_BIG_CORE_0, 1000, MIN_FREQ_CLUSTER_LITTLE_CORE_0, 1000 --> + <!-- SCHED_GROUP_DOWNMIGRATE, 65, SCHED_GROUP_UPMIGRATE, 80 --> + <!-- TO BE REPLACED: SCHED_BUSY_HYSTERSIS_CPU_MASK, 0xf0, LPM_BIAS_HYST, 99--> + <Profile target="lahaina"> + <DEFAULT_PROF> + 0x40C78000, 0, 0x40C7C000, 0, + 0x41448000, 79000, 0x41448100, 79000, + 0x43010000, 30, 0x41828000, 90, 0x43400000, 9000, + 0x40800200, 1000, 0x40800000, 1000, 0x40800100, 1000, + 0x40C58000, 65, 0x40C54000, 80, + 0x40C74000, 0xf0, 0x40408000, 99 + </DEFAULT_PROF> + </Profile> + <Profile target="lahaina"> + <!-- Colocation v3 1 GHz --> + <DEFAULT>0x4144C100,1000000</DEFAULT> + <!-- Colocation v3 1 GHz --> + <SKEW2>0x4144C100,1000000</SKEW2> + </Profile> + <Profile target="shima"> + <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4 ,LPM IPI Prediction 0, MIN_TASK_UTIL_FOR_COLOCATION 19 --> + <DEFAULT>0x4144C100,860000,0x41444000,1,0x41444200,1,0x40C9C000,4,0x40414000,0,0x40C78000,19</DEFAULT> + <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4, LPM IPI Prediction 0, MIN_TASK_UTIL_FOR_COLOCATION 19 --> + <SKEW2>0x4144C100,860000,0x41444000,1,0x41444200,1,0x40C9C000,4,0x40414000,0,0x40C78000,19</SKEW2> + </Profile> + <Profile target="yupik"> + <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4 ,LPM IPI Prediction 0, MIN_TASK_UTIL_FOR_COLOCATION 19 --> + <DEFAULT>0x4144C100,860000,0x41444000,1,0x41444200,1,0x40C9C000,4,0x40414000,0,0x40C78000,19</DEFAULT> + <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4, LPM IPI Prediction 0, MIN_TASK_UTIL_FOR_COLOCATION 19 --> + <SKEW2>0x4144C100,860000,0x41444000,1,0x41444200,1,0x40C9C000,4,0x40414000,0,0x40C78000,19</SKEW2> + </Profile> + </Profiles> + + <Meters> + <SamplesRequired>4</SamplesRequired> + + <Meter> + <Name>Fps</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_HEADROOM_REGULATOR</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_SENSOR_DATA</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TOGGLE_GAMEOPT</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_TOP_APP</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_RENDER_RATE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_LOW_LAT</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_HIGH_CPUUTIL</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_LOAD_CHANGED</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> + + <Configs> + <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE> + <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE> + </Configs> + <Samples>100</Samples> + </Meter> + + <Meter> + <Name>SchedParams</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TOGGLE_GAMEOPT</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_TOP_APP</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_RENDER_RATE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_LOW_LAT</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_HIGH_CPUUTIL</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_LOAD_CHANGED</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> + <Samples>100</Samples> + </Meter> + + <Meter> + <Name>Gpu</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_HEADROOM_REGULATOR</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_SENSOR_DATA</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TOGGLE_GAMEOPT</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_TOP_APP</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_RENDER_RATE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_LOW_LAT</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_HIGH_CPUUTIL</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_LOAD_CHANGED</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> + + <Configs> + <GPU_AVAILABLE_FREQUENCIES>/sys/class/kgsl/kgsl-3d0/gpu_available_frequencies</GPU_AVAILABLE_FREQUENCIES> + <GPU_CLOCK_STATS>/sys/class/kgsl/kgsl-3d0/gpu_clock_stats</GPU_CLOCK_STATS> + <GPU_CLK>/sys/class/kgsl/kgsl-3d0/gpuclk</GPU_CLK> + <GPU_BUSY_PERCENTAGE>/sys/class/kgsl/kgsl-3d0/gpu_busy_percentage</GPU_BUSY_PERCENTAGE> + </Configs> + <Samples>100</Samples> + </Meter> + </Meters> + <IgnoredApps target="lahaina"> + <App>com.google.android.gms</App> + <App>com.android.vending</App> + <App>com.google.android.projection.gearhead</App> + <App>com.vectorunit.silver.googleplay</App> + <App>com.kiloo.subwaysurf</App> + <App>com.imangi.templerun2</App> + <App>com.ogien.trainsim</App> + </IgnoredApps> + <IgnoredApps target="shima"> + <App>com.google.android.gms</App> + <App>com.android.vending</App> + <App>com.google.android.projection.gearhead</App> + </IgnoredApps> + <IgnoredApps target="yupik"> + <App>com.google.android.gms</App> + <App>com.android.vending</App> + <App>com.google.android.projection.gearhead</App> + </IgnoredApps> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_THERMAL_UPDATE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + </Triggers> +</Feature> diff --git a/perf/configs/lahaina/lm/PreKillFeature.xml b/perf/configs/lahaina/lm/PreKillFeature.xml new file mode 100644 index 0000000..f7cfdbf --- /dev/null +++ b/perf/configs/lahaina/lm/PreKillFeature.xml @@ -0,0 +1,82 @@ +<!-- +/****************************************************************************** + @file PreKillMeter.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + ========================================================================= + Copyright (c) 2020 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + ========================================================================= +******************************************************************************/ +--> + +<Feature> + <Name>PreKill</Name> + <Libname>libprekill.so</Libname> + <Meters> + <SamplesRequired>3</SamplesRequired> + <Meter> + <Name>Memory</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>2</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>101</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>102</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_KILL</AsyncId> + <AsyncType>0</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_UPDATE</AsyncId> + <AsyncType>0</AsyncType> + </Trigger> + + <Trigger> + <Primary>false</Primary> + <AsyncId>VENDOR_HINT_FIRST_DRAW</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>false</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + </Trigger> + </Triggers> + <Samples>1</Samples> + <Configs> + <TotalSamplesToRun>120</TotalSamplesToRun> + </Configs> + <Fields> + <Field>ion_kgsl</Field> + <Field>rss_swap</Field> + </Fields> + </Meter> + </Meters> +</Feature> diff --git a/perf/configs/lahaina/lm/gPLAFFeature.xml b/perf/configs/lahaina/lm/gPLAFFeature.xml new file mode 100644 index 0000000..3f130fd --- /dev/null +++ b/perf/configs/lahaina/lm/gPLAFFeature.xml @@ -0,0 +1,73 @@ +<!-- +/****************************************************************************** + @file gPLAFFeature.xml + @brief Game Peak Load AR Filter(gPLAF) xml + + DESCRIPTION + Each feature has an xml file to define the feature components + + =========================================================================== + Copyright (c) 2020 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> + +<Feature> + <Name>gPLAFFeature</Name> + <Libname>libgplaf.so</Libname> + <Configs target="shima"> + <Resources_Big>0x40800200,0x40800000</Resources_Big> + <Resources_Lil>0x40800100</Resources_Lil> + <Boost_Heavy>2246,1804</Boost_Heavy> + <Boost_Light>1651,1324</Boost_Light> + </Configs> + <Configs target="yupik"> + <Resources_Big>0x40800200,0x40800000</Resources_Big> + <Resources_Lil>0x40800100</Resources_Lil> + <Boost_Heavy>2131,1804</Boost_Heavy> + <Boost_Light>1651,1324</Boost_Light> + </Configs> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + </Triggers> + <IgnoredApps target="shima"> + <App>com.google.android.gms</App> + <App>com.android.vending</App> + <App>com.google.android.projection.gearhead</App> + </IgnoredApps> + <IgnoredApps target="yupik"> + <App>com.google.android.gms</App> + <App>com.android.vending</App> + <App>com.google.android.projection.gearhead</App> + </IgnoredApps> + <SpuriousHintApps> + <App>PermissionGrantActivity</App> + </SpuriousHintApps> +</Feature> diff --git a/perf/configs/lahaina/lm/prekill/prekill_2GB.data b/perf/configs/lahaina/lm/prekill/prekill_2GB.data Binary files differnew file mode 100644 index 0000000..fce8a00 --- /dev/null +++ b/perf/configs/lahaina/lm/prekill/prekill_2GB.data diff --git a/perf/configs/lahaina/lm/prekill/prekill_4GB.data b/perf/configs/lahaina/lm/prekill/prekill_4GB.data Binary files differnew file mode 100644 index 0000000..f052cd5 --- /dev/null +++ b/perf/configs/lahaina/lm/prekill/prekill_4GB.data diff --git a/perf/configs/lahaina/lm/prekill/prekill_6GB.data b/perf/configs/lahaina/lm/prekill/prekill_6GB.data Binary files differnew file mode 100644 index 0000000..c5db16f --- /dev/null +++ b/perf/configs/lahaina/lm/prekill/prekill_6GB.data diff --git a/perf/configs/lahaina/lm/sPLHFeature.xml b/perf/configs/lahaina/lm/sPLHFeature.xml new file mode 100644 index 0000000..54a8873 --- /dev/null +++ b/perf/configs/lahaina/lm/sPLHFeature.xml @@ -0,0 +1,53 @@ +<!-- +/****************************************************************************** + @file sPLHFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2020 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + Specify ipc threashold and freq threashold for 60,90,120,144:: + <Configs> + <FPS60>IPC1,FREQ1,IPC2,FREQ2,IPC3,FREQ3</FPS60> + </Configs> +--> +<Feature> + <Name>sPLH</Name> + <Configs target="shima"> + <FPS>60,90,120,144</FPS> + <FPS60>0,650,150,1200,200,1700,250,2200</FPS60> + <FPS90>0,650,150,1200,200,1700,250,2200</FPS90> + <FPS120>0,1497,200,1700,250,2200</FPS120> + <FPS144>0,1497,200,1700,250,2200</FPS144> + </Configs> + <Configs target="yupik"> + <FPS>60,90,120,144</FPS> + <FPS60>0,690,80,1600,120,2000</FPS60> + <FPS90>0,690,80,1600,120,2000</FPS90> + <FPS120>0,690,80,1600,120,2000</FPS120> + <FPS144>0,690,80,1600,120,2000</FPS144> + </Configs> + <Libname>libsplh.so</Libname> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_SCROLL_BOOST</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_SCROLL_BOOST</AsyncId> + <AsyncType>2</AsyncType> + </Trigger> + </Triggers> +</Feature> diff --git a/perf/configs/lahaina/msm_irqbalance.conf b/perf/configs/lahaina/msm_irqbalance.conf new file mode 100644 index 0000000..7625005 --- /dev/null +++ b/perf/configs/lahaina/msm_irqbalance.conf @@ -0,0 +1,9 @@ +################################################################################################################################ +# Copyright (c) 2019 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +################################################################################################################################ + +PRIO=1,1,1,1,0,0,0,0 +#arch_timer, arm-pmu, arch_mem_timer +IGNORED_IRQ=27,23,38
\ No newline at end of file diff --git a/perf/configs/lahaina/perf/perfboostsconfig.xml b/perf/configs/lahaina/perf/perfboostsconfig.xml new file mode 100644 index 0000000..599b225 --- /dev/null +++ b/perf/configs/lahaina/perf/perfboostsconfig.xml @@ -0,0 +1,1104 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2017-2020 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + */ +--> + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- CPUBW_MAX_FREQ resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- LLCC DDR LAT CPU0 MIN FREQ resource opcode, value--> + <!-- L3 resource opcode, value--> + <!-- GPU DISABLE resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="lahaina" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF, 0x43018000, 0xFF, + 0x43010000, 0xFF, 0x40400000, 0x1, 0x42C10000, 0x1, 0x43430100, 0x28C5, + 0x43400000, 0xFFFF, 0x4281C000, 2000" /> + + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="shima" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000, 1497, 0x40800100, 1516, 0x40800200, 1766" /> + + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="yupik" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000, 1497, 0x40800100, 1497, 0x40800200, 1766" /> + + <!--app lauch boost (disabling packing)--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + <Config + Id="0x00001081" Type="2" Enable="false" Timeout="1500" Target="lahaina" + Resources="" /> + + <!-- POWER COLLAPSE resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- LLCCBW resource opcode, value--> + <!-- L3 resource opcode, value--> + <!-- GPU nap resource opcode, value--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="shima" + Resources="0x40400000, 0x1, 0x42C10000, 0x1, 0x43010000, 59, + 0x41828000, 806, 0x43400000, 0x2E80, 0x4281C000, 1500" /> + + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="yupik" + Resources="0x40400000, 0x1, 0x42C10000, 0x1, 0x43010000, 59, + 0x41828000, 806, 0x43400000, 0x2E80, 0x4281C000, 1500" /> + + <!-- config_enableLaunchBoostv3--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- SCHED DOWNMIGRATE resource opcode, value --> + <!-- SCHED UPMIGRATE resource opcode, value --> + <!-- SCHED DOWNMIGRATE PRIME resource opcode, value --> + <!-- SCHED UPMIGRATE PRIME resource opcode, value --> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="lahaina" + Resources="0x40C00000, 0x3, 0x40C58000, 0x2D, 0x40C54000, 0x41, + 0x40C74000, 0xF0, 0x40408000, 0x63, 0x40C20000, 0x28, + 0x40C1C000, 0x3C, 0x40C20200, 0x28, 0x40C1C200, 0x3C" /> + + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="shima" + Resources="0x40C00000, 0x3, 0x40C58000, 85, 0x40C54000, 100, 0x40408000, 0x5, + 0x40C74000, 0xF0" /> + + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="yupik" + Resources="0x40C00000, 0x3, 0x40C58000, 85, 0x40C54000, 100, 0x40408000, 0x5, + 0x40C74000, 0xF0" /> + + <!-- config_gameBoost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + + <!-- Type="4", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="shima" + Resources="0x40C00000, 0x3, 0x40C58000, 85, 0x40C54000, 100, 0x40408000, 0x5, + 0x40C74000, 0xF0" /> + + <Config + Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="yupik" + Resources="0x40C00000, 0x3, 0x40C58000, 85, 0x40C54000, 100, 0x40408000, 0x5, + 0x40C74000, 0xF0" /> + + <!-- config_gameBoost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- SCHED DOWNMIGRATE resource opcode, value --> + <!-- SCHED UPMIGRATE resource opcode, value --> + <!-- SCHED DOWNMIGRATE PRIME resource opcode, value --> + <!-- SCHED UPMIGRATE PRIME resource opcode, value --> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBW_MAX_FREQ resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- LLCCBW resource opcode, value--> + <!-- L3 resource opcode, value--> + + <!-- Type="6", FA launch boost of 2sec --> + <Config + Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="lahaina" + Resources="0x40C00000, 0x1, 0x40C58000, 0x2D, 0x40C54000, 0x41, + 0x40C74000, 0xF0, 0x40408000, 0x63, 0x40C20000, 0x28, + 0x40C1C000, 0x3C, 0x40C20200, 0x28, 0x40C1C200, 0x3C, + 0x42C10000, 0x1, 0x40800200, 0x76C, 0x40800000, 0x76C, + 0x40800100, 0x4B0, 0x43018000, 0xFF, 0x43010000, 0x50, + 0x41828000, 0x3A, 0x43400000, 0x3480" /> + + <!-- config_enableLaunchBoost6--> + <!-- SLB_BIG_CORE_1, val--> + <!-- SLB_BIG_CORE_2, val--> + <!-- SLB_BIG_CORE_3, val--> + <!-- SLB_PRIME, val--> + <!-- MIN_FREQ_BIG, val MHz --> + <!-- MIN_FREQ_PRIME, val MHz --> + <!-- CPU_DOWN_FREQ_THRESHOLD_US BIG, val us --> + <!-- CPU_DOWN_FREQ_THRESHOLD_US PRIME, val us --> + <!-- LPM_BIAS resource opcode, val ms--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + + <!-- Type="6", Game Launch boost --> + <Config + Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="shima" + Resources="0x40C68000, 60, + 0x40C68010, 60, + 0x40C68020, 60, + 0x40C68200, 60, + 0x40800000, 1209, + 0x40800200, 1267, + 0x41448000, 20000, + 0x41448200, 20000, + 0x40408000, 0x63, + 0x40C74000, 0xF0" /> + + <Config + Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="yupik" + Resources="0x40C68000, 60, + 0x40C68010, 60, + 0x40C68020, 60, + 0x40C68200, 60, + 0x40800000, 1228, + 0x40800200, 1324, + 0x41448000, 20000, + 0x41448200, 20000, + 0x40408000, 0x63, + 0x40C74000, 0xF0" /> + + <!--app launch boost (attach application) --> + <!-- SCHED_TASK_BOOST resource opcode, value--> + <Config + Id="0x00001081" Type="103" Enable="true" Timeout="2000" Target="lahaina" + Resources="0x40C80000, 0x0" /> + + <Config + Id="0x00001081" Type="103" Enable="true" Timeout="2000" Target="shima" + Resources="0x40C80000, 0x0" /> + + <Config + Id="0x00001081" Type="103" Enable="true" Timeout="2000" Target="yupik" + Resources="0x40C80000, 0x0" /> + + <!--Animation boost --> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <Config + Id="0x00001083" Enable="true" Timeout="400" Target="lahaina" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF" /> + + <Config + Id="0x00001083" Enable="true" Timeout="400" Target="shima" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF" /> + + <Config + Id="0x00001083" Enable="true" Timeout="400" Target="yupik" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF" /> + + <!--Vertical Scroll boost--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value--> + <!-- Below additional resources for 120+fps--> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value--> + <!-- SCHED_PREFER_SPREAD resource opcode, value --> + <!-- MIN_ONLINE_CPU_CLUSTER_PRIME opcode, value--> + <!-- SCHED DOWNMIGRATE PRIME resource opcode, value --> + <!-- SCHED UPMIGRATE PRIME resource opcode, value --> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="lahaina" Fps="60" + Resources="0x41828000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3" /> + <Config + Id="0x00001080" Type="1" Enable="true" Target="lahaina" Fps="90" + Resources="0x41828000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3" /> + <Config + Id="0x00001080" Type="1" Enable="true" Target="lahaina" Fps="120" + Resources="0x41828000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x40CA8000, 4, + 0x41000200, 1, 0x40C20200, 0xA, 0x40C1C200, 0x23" /> + <Config + Id="0x00001080" Type="1" Enable="true" Target="lahaina" Fps="144" + Resources="0x41828000, 0x19, 0x40800000, 1300, 0x40800100, 1100, 0x40800200, 1300, + 0x40C00000, 0x2, 0x43400000, 0x2AF8, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x40CA8000, 4, + 0x41000200, 1, 0x40C20200, 0xA, 0x40C1C200, 0x23" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="shima" Fps="60" + Resources="0x43010000, 0x26, 0x40800000, 1209, 0x40800100, 1171, 0x40800200, 1094, + 0x40C00000, 2" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="yupik" Fps="60" + Resources="0x43010000, 0x26, 0x40800000, 1228, 0x40800100, 1152, 0x40800200, 1056, + 0x40C00000, 2" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="shima" Fps="90" + Resources="0x43010000, 0x26, 0x40800000, 1651, 0x40800100, 1324, 0x40800200, 1766, + 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="yupik" Fps="90" + Resources="0x43010000, 0x26, 0x40800000, 1651, 0x40800100, 1324, 0x40800200, 1766, + 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value--> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="shima" Fps="120" + Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862, + 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3, + 0x40C78000, 0, 0x40C7C000, 0" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="yupik" Fps="120" + Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862, + 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3, + 0x40C78000, 0, 0x40C7C000, 0" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="shima" Fps="144" + Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862, + 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3, + 0x40C78000, 0, 0x40C7C000, 0, 0x43010000, 0x11, 0x43400000, 0x1F40" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="yupik" Fps="144" + Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862, + 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3, + 0x40C78000, 0, 0x40C7C000, 0, 0x43010000, 0x11, 0x43400000, 0x1F40" /> + + + <!--Horizontal Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="shima" Fps="60" + Resources="0x43010000, 0x26, 0x40800000, 1209, 0x40800100, 1171, 0x40800200, 1094, + 0x40C00000, 2" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="yupik" Fps="60" + Resources="0x43010000, 0x26, 0x40800000, 1228, 0x40800100, 1152, 0x40800200, 1056, + 0x40C00000, 2" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="shima" Fps="90" + Resources="0x43010000, 0x26, 0x40800000, 1651, 0x40800100, 1324, 0x40800200, 1766, + 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="yupik" Fps="90" + Resources="0x43010000, 0x26, 0x40800000, 1651, 0x40800100, 1324, 0x40800200, 1766, + 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value--> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="shima" Fps="120" + Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862, + 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3, + 0x40C78000, 0, 0x40C7C000, 0" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="yupik" Fps="120" + Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862, + 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3, + 0x40C78000, 0, 0x40C7C000, 0" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="shima" Fps="144" + Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862, + 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3, + 0x40C78000, 0, 0x40C7C000, 0, 0x43010000, 0x11, 0x43400000, 0x1F40" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="yupik" Fps="144" + Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862, + 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3, + 0x40C78000, 0, 0x40C7C000, 0, 0x43010000, 0x11, 0x43400000, 0x1F40" /> + + <!--Prefling Scroll boost--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value--> + <!-- Below additional resources for 120+fps--> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value--> + <!-- SCHED_PREFER_SPREAD resource opcode, value --> + <!-- MIN_ONLINE_CPU_CLUSTER_PRIME opcode, value--> + <!-- SCHED DOWNMIGRATE PRIME resource opcode, value --> + <!-- SCHED UPMIGRATE PRIME resource opcode, value --> + <!-- TIMEOUT 80ms --> + <!-- Type="4", Prefling boost --> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="lahaina" Fps="60" + Resources="0x41828000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3" /> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="lahaina" Fps="90" + Resources="0x41828000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3" /> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="lahaina" Fps="120" + Resources="0x41828000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x40CA8000, 4, + 0x41000200, 1, 0x40C20200, 0xA, 0x40C1C200, 0x23" /> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="lahaina" Fps="144" + Resources="0x41828000, 0x19, 0x40800000, 1300, 0x40800100, 1100, 0x40800200, 1300, + 0x40C00000, 0x2, 0x43400000, 0x2AF8, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x40CA8000, 4, + 0x41000200, 1, 0x40C20200, 0xA, 0x40C1C200, 0x23" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="4", Pre-Fling boost --> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="shima" Fps="60" + Resources="0x43010000, 0x26, 0x40800000, 1209, 0x40800100, 1171, 0x40800200, 1094, + 0x40C00000, 2" /> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="yupik" Fps="60" + Resources="0x43010000, 0x26, 0x40800000, 1228, 0x40800100, 1152, 0x40800200, 1056, + 0x40C00000, 2" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="shima" Fps="90" + Resources="0x43010000, 0x26, 0x40800000, 1651, 0x40800100, 1324, 0x40800200, 1766, + 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="yupik" Fps="90" + Resources="0x43010000, 0x26, 0x40800000, 1651, 0x40800100, 1324, 0x40800200, 1766, + 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27" /> + + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value--> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="shima" Fps="120" + Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862, + 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3, + 0x40C78000, 0, 0x40C7C000, 0" /> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="yupik" Fps="120" + Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862, + 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3, + 0x40C78000, 0, 0x40C7C000, 0" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="shima" Fps="144" + Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862, + 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3, + 0x40C78000, 0, 0x40C7C000, 0, 0x43010000, 0x11, 0x43400000, 0x1F40" /> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="yupik" Fps="144" + Resources="0x43010000, 0x26, 0x40800000, 1900, 0x40800100, 1516, 0x40800200, 1862, + 0x40C00000, 2, 0x40C74000, 0xF0, 0x40408000, 0x27, 0x41000000, 3, + 0x40C78000, 0, 0x40C7C000, 0, 0x43010000, 0x11, 0x43400000, 0x1F40" /> + + <!--MTP boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + + <!-- Type="", MTP boost --> + <Config + Id="0x00001086" Enable="true" Target="lahaina" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1800, + 0x40800100, 1400" /> + + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + + <!-- Type="", MTP boost --> + <Config + Id="0x00001086" Enable="true" Target="shima" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000, 1497, 0x40800100, 1324, 0x40800200, 1766, 0x42C10000, 0x1" /> + + <Config + Id="0x00001086" Enable="true" Target="yupik" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000, 1516, 0x40800100, 1324, 0x40800200, 1766, 0x42C10000, 0x1" /> + + <!--Drag boost--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value--> + <!-- Below additional resources for 120+fps--> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value--> + <!-- SCHED_PREFER_SPREAD resource opcode, value --> + <!-- MIN_ONLINE_CPU_CLUSTER_PRIME opcode, value--> + <!-- SCHED DOWNMIGRATE PRIME resource opcode, value --> + <!-- SCHED UPMIGRATE PRIME resource opcode, value --> + <!-- Type="1", Drag boost --> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="lahaina" Fps="60" + Resources="0x41828000, 0x11, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3" /> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="lahaina" Fps="90" + Resources="0x41828000, 0x11, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3" /> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="lahaina" Fps="120" + Resources="0x41828000, 0x11, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x40CA8000, 4, + 0x41000200, 1, 0x40C20200, 0xA, 0x40C1C200, 0x23" /> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="lahaina" Fps="144" + Resources="0x41828000, 0x11, 0x40800000, 1300, 0x40800100, 1100, 0x40800200, 1300, + 0x40C00000, 0x2, 0x43400000, 0x2AF8, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x40CA8000, 4, + 0x41000200, 1, 0x40C20200, 0xA, 0x40C1C200, 0x23" /> + + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value --> + + <!-- Type="1", Drag boost --> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="shima" + Resources="0x40800000, 1209, 0x40800100, 1171, 0x40800200, 1094" /> + + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="yupik" + Resources="0x40800000, 1228, 0x40800100, 1152, 0x40800200, 1056" /> + + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="shima" Fps="120" + Resources="0x40800000, 1209, 0x40800100, 1171, 0x40800200, 1094, 0x40C00000, 2, + 0x43010000, 0x11, 0x43400000, 0x1F40" /> + + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="shima" Fps="144" + Resources="0x40800000, 1209, 0x40800100, 1171, 0x40800200, 1094, 0x40C00000, 2, + 0x43010000, 0x11, 0x43400000, 0x2AF8" /> + + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="yupik" Fps="120" + Resources="0x40800000, 1228, 0x40800100, 1152, 0x40800200, 1056, 0x40C00000, 2, + 0x43010000, 0x11, 0x43400000, 0x1F40" /> + + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="yupik" Fps="144" + Resources="0x40800000, 1228, 0x40800100, 1152, 0x40800200, 1056, 0x40C00000, 2, + 0x43010000, 0x11, 0x43400000, 0x2AF8" /> + + <!--PackageInstall boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value--> + <!-- SCHED_FORCE_LB_ENABLE resource opcode, value--> + <!-- Type="", Package Install boost --> + + <Config + Id="0x00001088" Enable="true" Target="lahaina" + Resources="0x40C00000, 0x2, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200, 0xFFF, 0x40CA0000, 0, + 0x40CCC000, 0" /> + + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_FORCE_LB_ENABLE resource opcode, value--> + <!-- Type="", Package Install boost --> + <Config + Id="0x00001088" Enable="true" Target="shima" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, 0x40800000, 0xFFF, + 0x40800100, 0xFFF, 0x40800200, 0xFFF, 0x40CA0000, 0, 0x40C00000, 2, + 0x40CCC000, 0" /> + + <Config + Id="0x00001088" Enable="true" Target="yupik" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, 0x40800000, 0xFFF, + 0x40800100, 0xFFF, 0x40800200, 0xFFF, 0x40CA0000, 0, 0x40C00000, 2, + 0x40CCC000, 0" /> + + <!--Rotation latency boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="lahaina" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200,0xFFF" /> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="shima" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200,0xFFF" /> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="yupik" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200,0xFFF" /> + + <!--Rotation animation boost--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- GPU_MIN_POWER_LEVEL resource opcode,value--> + <!-- Type="", Rotation animation boost --> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="lahaina" + Resources="0x40800100, 1000, 0x42804000, 0" /> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="shima" + Resources="0x40800100, 1324, 0x42804000, 0" /> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="yupik" + Resources="0x40800100, 1324, 0x42804000, 0" /> + + <!--Performance mode--> + <!-- UCLAMP_BOOST --> + <!-- SCHED_WINDOW_TICKS_UPDATE --> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM_BIAS_HYST resource opcode, value--> + <!-- DISABLE_PASR, value--> + <!-- SCHED_PREFER_SPREAD resource opcode, value --> + <!-- Type="", Performance mode --> + <Config + Id="0x00001091" Enable="true" Target="lahaina" + Resources="0x40CAC000, 20, 0x40CA4000, 2, 0x40800000, 1555, 0x40800100, 800, 0x40800200, 1670, + 0x40C74000, 0xFF, 0x40408000, 0x63, 0x42C1C000, 1, 0x40CA8000, 3" /> + + <!--Display on Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="lahaina" + Resources="0x40000000, 1" /> + + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="shima" + Resources="0x40000000, 1" /> + + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="yupik" + Resources="0x40000000, 1" /> + + <!--Display off Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="lahaina" + Resources="0x40000000, 0x0" /> + + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="shima" + Resources="0x40000000, 0x0" /> + + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="yupik" + Resources="0x40000000, 0x0" /> + + <!--FPS Update from Framework--> + <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value --> + <!-- Below additional resources for 120fps, 144fps--> + <!-- SCHED_PREFER_SPREAD resource opcode, value --> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- 144Hz only: CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type indicates FPS --> + <!-- 30fps --> + <Config + Id="0x00001094" Type="30" Enable="true" Target="lahaina" Timeout="0" + Resources="0x40CA4000, 8" /> + <!-- 45fps --> + <Config + Id="0x00001094" Type="45" Enable="true" Target="lahaina" Timeout="0" + Resources="0x40CA4000, 5" /> + <!-- 60fps --> + <Config + Id="0x00001094" Type="60" Enable="true" Target="lahaina" Timeout="0" + Resources="0x40CA4000, 4" /> + <!-- 90fps --> + <Config + Id="0x00001094" Type="90" Enable="true" Target="lahaina" Timeout="0" + Resources="0x40CA4000, 3" /> + <!-- 120fps --> + <Config + Id="0x00001094" Type="120" Enable="true" Target="lahaina" Timeout="0" + Resources="0x40CA4000, 2, 0x40CA8000, 3, 0x40C74000, 15, 0x40408000, 3, + 0x40CC8000, 119" /> + <!-- 144fps --> + <Config + Id="0x00001094" Type="144" Enable="true" Target="lahaina" Timeout="0" + Resources="0x40CA4000, 2, 0x40CA8000, 3, 0x40C74000, 15, 0x40408000, 3, + 0x40800100, 800, 0x40CC8000, 119" /> + <!-- 180fps --> + <Config + Id="0x00001094" Type="180" Enable="true" Target="lahaina" Timeout="0" + Resources="0x40CA4000, 2" /> + <!-- 240fps --> + <Config + Id="0x00001094" Type="240" Enable="true" Target="lahaina" Timeout="0" + Resources="0x40CA4000, 2" /> + + <!--FPS Immediate Update from within Perfd--> + <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value --> + <!-- Below additional resources for 120fps, 144fps--> + <!-- SCHED_PREFER_SPREAD resource opcode, value --> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- 144Hz only: CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type indicates FPS --> + <!-- 30fps --> + <Config + Id="0x0000109B" Type="30" Enable="true" Target="lahaina" Timeout="0" + Resources="0x40CA4000, 8" /> + <!-- 45fps --> + <Config + Id="0x0000109B" Type="45" Enable="true" Target="lahaina" Timeout="0" + Resources="0x40CA4000, 5" /> + <!-- 60fps --> + <Config + Id="0x0000109B" Type="60" Enable="true" Target="lahaina" Timeout="0" + Resources="0x40CA4000, 4" /> + <!-- 90fps --> + <Config + Id="0x0000109B" Type="90" Enable="true" Target="lahaina" Timeout="0" + Resources="0x40CA4000, 3" /> + <!-- 120fps --> + <Config + Id="0x0000109B" Type="120" Enable="true" Target="lahaina" Timeout="0" + Resources="0x40CA4000, 2, 0x40CA8000, 3, 0x40C74000, 15, 0x40408000, 3" /> + <!-- 144fps --> + <Config + Id="0x0000109B" Type="144" Enable="true" Target="lahaina" Timeout="0" + Resources="0x40CA4000, 2, 0x40CA8000, 3, 0x40C74000, 15, 0x40408000, 3, + 0x40800100, 800" /> + <!-- 180fps --> + <Config + Id="0x0000109B" Type="180" Enable="true" Target="lahaina" Timeout="0" + Resources="0x40CA4000, 2" /> + <!-- 240fps --> + <Config + Id="0x0000109B" Type="240" Enable="true" Target="lahaina" Timeout="0" + Resources="0x40CA4000, 2" /> + + <!-- FPS Immediate Update from within Perfd Shima, yupik--> + <!-- PREDECITIVE_LOAD BIG CORE resource opcode, value --> + <!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value --> + <!-- PREDECITIVE_LOAD PRIME CORE resource opcode, value --> + <!-- SCHED_PREFER_SPREAD resource opcode, value --> + <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value --> + + <!-- Type="60" --> + <Config + Id="0x0000109B" Type="60" Enable="true" Target="shima" Timeout="0" + Resources="0x41444000, 0, 0x41444100, 0, 0x41444200, 0, 0x40CA8000, 0, 0x40CA4000, 5" /> + + <Config + Id="0x0000109B" Type="60" Enable="true" Target="yupik" Timeout="0" + Resources="0x41444000, 0, 0x41444100, 0, 0x41444200, 0, 0x40CA8000, 0, 0x40CA4000, 5" /> + + <!-- Type="90" --> + <Config + Id="0x0000109B" Type="90" Enable="true" Target="shima" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 3" /> + + <Config + Id="0x0000109B" Type="90" Enable="true" Target="yupik" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 3" /> + + <!-- WALT_RTG_CFS_BOOST_PRIO resource opcode, value --> + <!-- WALT_LOW_LATENCY_TASK_THRESHOLD resource opcode, value --> + + <!-- Type="120" --> + <Config + Id="0x0000109B" Type="120" Enable="true" Target="shima" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 2, + 0x40CC8000, 119, 0x40CD8000, 100" /> + + <Config + Id="0x0000109B" Type="120" Enable="true" Target="yupik" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 2, + 0x40CC8000, 119, 0x40CD8000, 100" /> + + <!-- SLB_BIG_0, val--> + <!-- SLB_BIG_1, val--> + <!-- SLB_BIG_2, val--> + <!-- SLB_PRIME, val--> + <!-- WALT_RTG_CFS_BOOST_PRIO resource opcode, value --> + <!-- SCHED_COLOC_DOWNMIGRATE_NS resource opcode, value --> + <!-- WALT_LOW_LATENCY_TASK_THRESHOLD resource opcode, value --> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value--> + <!-- CPU min freq resource opcode, value --> + <!-- SCHED_BUSY_HYSTERESIS_ENABLE_COLOC_CPUS opcode, value --> + + <!-- Type="144" --> + <Config + Id="0x0000109B" Type="144" Enable="true" Target="shima" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 2, + 0x40C68000, 0, 0x40C68010, 0, 0x40C68020, 0, 0x40C68200, 0, 0x40CC8000, 119, + 0x40C8C000, 100000000, 0x40CD8000, 100, 0x41000000, 3, 0x40C78000, 0, + 0x40C7C000, 0, 0x40800100, 806, 0x40C90000, 0x70" /> + + <Config + Id="0x0000109B" Type="144" Enable="true" Target="yupik" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 2, + 0x40C68000, 0, 0x40C68010, 0, 0x40C68020, 0, 0x40C68200, 0, 0x40CC8000, 119, + 0x40C8C000, 100000000, 0x40CD8000, 100, 0x41000000, 3, 0x40C78000, 0, + 0x40C7C000, 0, 0x40800100, 806, 0x40C90000, 0x70" /> + + <!-- PREDECITIVE_LOAD BIG CORE resource opcode, value --> + <!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value --> + <!-- PREDECITIVE_LOAD PRIME CORE resource opcode, value --> + <!-- SCHED_PREFER_SPREAD resource opcode, value --> + <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value --> + + <!-- Type="60" --> + <Config + Id="0x00001094" Type="60" Enable="true" Target="shima" Timeout="0" + Resources="0x41444000, 0, 0x41444100, 0, 0x41444200, 0, 0x40CA8000, 0, 0x40CA4000, 5" /> + + <Config + Id="0x00001094" Type="60" Enable="true" Target="yupik" Timeout="0" + Resources="0x41444000, 0, 0x41444100, 0, 0x41444200, 0, 0x40CA8000, 0, 0x40CA4000, 5" /> + + <!-- Type="90" --> + <Config + Id="0x00001094" Type="90" Enable="true" Target="shima" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 3" /> + + <Config + Id="0x00001094" Type="90" Enable="true" Target="yupik" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 3" /> + + <!-- WALT_RTG_CFS_BOOST_PRIO resource opcode, value --> + <!-- WALT_LOW_LATENCY_TASK_THRESHOLD resource opcode, value --> + + <!-- Type="120" --> + <Config + Id="0x00001094" Type="120" Enable="true" Target="shima" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 2, + 0x40CC8000, 119, 0x40CD8000, 100" /> + + <Config + Id="0x00001094" Type="120" Enable="true" Target="yupik" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 2, + 0x40CC8000, 119, 0x40CD8000, 100" /> + + <!-- SLB_BIG_0, val--> + <!-- SLB_BIG_1, val--> + <!-- SLB_BIG_2, val--> + <!-- SLB_PRIME, val--> + <!-- WALT_RTG_CFS_BOOST_PRIO resource opcode, value --> + <!-- SCHED_COLOC_DOWNMIGRATE_NS resource opcode, value --> + <!-- WALT_LOW_LATENCY_TASK_THRESHOLD resource opcode, value --> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value--> + <!-- CPU min freq resource opcode, value --> + <!-- SCHED_BUSY_HYSTERESIS_ENABLE_COLOC_CPUS opcode, value --> + + <!-- Type="144" --> + <Config + Id="0x00001094" Type="144" Enable="true" Target="shima" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 2, + 0x40C68000, 0, 0x40C68010, 0, 0x40C68020, 0, 0x40C68200, 0, 0x40CC8000, 119, + 0x40C8C000, 100000000, 0x40CD8000, 100, 0x41000000, 3, 0x40C78000, 0, + 0x40C7C000, 0, 0x40800100, 806, 0x40C90000, 0x70"/> + + <Config + Id="0x00001094" Type="144" Enable="true" Target="yupik" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2, 0x40CA4000, 2, + 0x40C68000, 0, 0x40C68010, 0, 0x40C68020, 0, 0x40C68200, 0, 0x40CC8000, 119, + 0x40C8C000, 100000000, 0x40CD8000, 100, 0x41000000, 3, 0x40C78000, 0, + 0x40C7C000, 0, 0x40800100, 806, 0x40C90000, 0x70"/> + + <!-- PiCard Early Wakeup both GPU and Display --> + <!-- GPU DISABLE resource opcode, value--> + <!-- DISPLAY EARLY WAKEUP opcode, value--> + <Config + Id="0x00001098" Type="0" Enable="true" Target="lahaina" Timeout="2000" + Resources="0x4281C000, 32, 0x41C0C000, 0" /> + + <Config + Id="0x00001098" Type="0" Enable="true" Target="shima" Timeout="2000" + Resources="0x4281C000, 32, 0x41C0C000, 0" /> + + <Config + Id="0x00001098" Type="0" Enable="true" Target="yupik" Timeout="2000" + Resources="0x4281C000, 32, 0x41C0C000, 0" /> + + <!-- PiCard Early Wakeup GPU only --> + <!-- GPU DISABLE resource opcode, value--> + <Config + Id="0x00001099" Type="0" Enable="true" Target="lahaina" Timeout="2000" + Resources="0x4281C000, 32" /> + + <Config + Id="0x00001099" Type="0" Enable="true" Target="shima" Timeout="2000" + Resources="0x4281C000, 32" /> + + <Config + Id="0x00001099" Type="0" Enable="true" Target="yupik" Timeout="2000" + Resources="0x4281C000, 32" /> + + <!-- PiCard Early Wakeup Display only --> + <!-- DISPLAY EARLY WAKEUP opcode, value--> + <Config + Id="0x0000109A" Type="0" Enable="true" Target="lahaina" Timeout="2000" + Resources="0x41C0C000, 0" /> + + <Config + Id="0x0000109A" Type="0" Enable="true" Target="shima" Timeout="2000" + Resources="0x41C0C000, 0" /> + + <Config + Id="0x0000109A" Type="0" Enable="true" Target="yupik" Timeout="2000" + Resources="0x41C0C000, 0" /> + + <!--Large Comp HInt --> + <!-- CPU min freq resource opcode, value --> + <!-- GPU MIN_FREQUENCY resource opcode,value --> + <!-- PID Affine opcode,value --> + <Config + Id="0x00001097" Type="0" Enable="true" Timeout="7" Target="shima" Fps="144" + Resources="0x40800000, 1500, 0x42804000, 0, 0x42C20000, 1" /> + + <Config + Id="0x00001097" Type="0" Enable="true" Timeout="7" Target="yupik" Fps="144" + Resources="0x40800000, 1500, 0x42804000, 0, 0x42C20000, 1" /> + + <!--Large Comp HInt --> + <!-- CPU min freq resource opcode, value --> + <!-- GPU MIN_FREQUENCY resource opcode,value --> + <!-- PID Affine opcode,value --> + <Config + Id="0x00001097" Type="0" Enable="true" Timeout="9" Target="lahaina" Fps="120" + Resources="0x40800000, 1500, 0x42804000, 0, 0x42C20000, 1" /> + + <Config + Id="0x00001097" Type="0" Enable="true" Timeout="7" Target="lahaina" Fps="144" + Resources="0x40800000, 1500, 0x42804000, 0, 0x42C20000, 1" /> + + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/lahaina/perf/perfconfigstore.xml b/perf/configs/lahaina/perf/perfconfigstore.xml new file mode 100644 index 0000000..25217d9 --- /dev/null +++ b/perf/configs/lahaina/perf/perfconfigstore.xml @@ -0,0 +1,140 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2019-2020 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is PerfConfigsStore file which returns the value when a +particular property name is invoked --> + +<!-- This file supports only Prop tag, which has the following fields +* Name, to identify the name of the property. The names of the +properties have been classified into Vendor and System property. +* Value, the new value to be returned as string when respective +property Name is called. --> + +<!--__________________________________Example format_______________________________________________ +<Prop Name="vendor.debug.enable.lm" Value="true" Target="lagoon" Variant="lito" Resolution="1080p" + Ram="3" Kernel="4.19"/> + Target: target code name (decided based on soc id, doesn't depend on lunch combo name) + ex: lito, lagoon, kona, etc + Variant: For Variants of Target go/32bit/64bit/nongo, examples below + Variant=bengal_32go -> bengal 32 bit go target + Variant=bengal_32 -> bengal 32 bit target + Variant=bengal -> bengal 64 bit target + Resolution="1080p", "2560", "720p", "HD+" + Kernel: kernel version, examples: "4.19", "5.4", etc + Ram: ram size in GB, examples: "1","2","3","4","6","8","10","12" (12 for target with >= 12GB of RAM as well) +_______________________________________________________________________________________________ --> + +<PerfConfigsStore> + <PerfConfigs> + + <!--Vendor Properties --> + <Prop Name="vendor.iop.enable_uxe" Value="1" /> + <Prop Name="vendor.debug.enable.lm" Value="true" /> + <Prop Name="vendor.perf.iop_v3.enable" Value="true" Target="lahaina" /> + <Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" /> + <Prop Name="vendor.enable.prefetch" Value="false" /> + <Prop Name="vendor.iop.enable_prefetch_ofr" Value="false" /> + <Prop Name="vendor.iop.enable_speed" Value="true" /> + <Prop Name="vendor.perf.fps_switch_hyst_time_secs" Value="10" /> + <Prop Name="vendor.debug.enable.memperfd" Value="true" Target="shima" /> + <Prop Name="vendor.debug.enable.memperfd" Value="true" Target="yupik" /> + <Prop Name="vendor.perf.pfar.enable" Value="1" Target="shima" /> + <Prop Name="vendor.perf.fps_switch.enable" Value="1" Target="shima" /> + <Prop Name="ro.vendor.perf.gfl.tap_ignore_enable" Value="true" Target="shima" /> + <Prop Name="ro.vendor.perf.wlc.heavygame" Value="true" Target="shima" /> + <Prop Name="ro.vendor.perf.splh" Value="sw" Target="shima" /> + <Prop Name="ro.vendor.perf.gplaf" Value="true" Target="shima" /> + <Prop Name="vendor.debug.enable.memperfd" Value="true" Target="yupik" /> + <Prop Name="vendor.perf.pfar.enable" Value="1" Target="yupik" /> + <Prop Name="vendor.perf.fps_switch.enable" Value="1" Target="yupik" /> + <Prop Name="ro.vendor.perf.gfl.tap_ignore_enable" Value="true" Target="yupik" /> + <Prop Name="ro.vendor.perf.wlc.heavygame" Value="false" Target="yupik" /> + <Prop Name="ro.vendor.perf.splh" Value="hw" Target="yupik" /> + <Prop Name="ro.vendor.perf.gplaf" Value="true" Target="yupik" /> + <Prop Name="ro.vendor.perf.enable.prekill" Value="false" Target="lahaina" /> + <Prop Name="ro.vendor.perf.splh" Value="none" Target="lahaina" /> + + <!--System Properties --> + <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="true" /> + <Prop Name="ro.lmk.kill_timeout_ms_dup" Value="100" /> + <Prop Name="ro.lmk.thrashing_threshold" Value="30" /> + <Prop Name="ro.lmk.thrashing_decay" Value="5" /> + <Prop Name="ro.lmk.nstrat_low_swap" Value="10" /> + <Prop Name="ro.lmk.nstrat_psi_partial_ms" Value="70" /> + <Prop Name="ro.lmk.nstrat_psi_complete_ms" Value="70" /> + <Prop Name="ro.lmk.psi_scrit_complete_stall_ms" Value="75" /> + <Prop Name="ro.lmk.nstrat_wmark_boost_factor" Value="4" /> + <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="96" /> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" Target="shima" /> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" Target="yupik" /> + <Prop Name="ro.vendor.at_library" Value="libqti-at.so" /> + <Prop Name="vendor.perf.performancemode.support" Value="true" Target="lahaina" /> + <Prop Name="ro.lmk.enable_preferred_apps" Value="true" /> + <Prop Name="vendor.appcompact.enable_app_compact" Value="true" /> + <Prop Name="vendor.appcompact.full_compact_type" Value="2" /> + <Prop Name="vendor.appcompact.some_compact_type" Value="4" /> + <Prop Name="vendor.appcompact.compact_throttle_somesome" Value="5000" /> + <Prop Name="vendor.appcompact.compact_throttle_somefull" Value="10000" /> + <Prop Name="vendor.appcompact.compact_throttle_fullsome" Value="500" /> + <Prop Name="vendor.appcompact.compact_throttle_fullfull" Value="10000" /> + <Prop Name="vendor.appcompact.compact_throttle_bfgs" Value="600000" /> + <Prop Name="vendor.appcompact.compact_throttle_persistent" Value="600000" /> + <Prop Name="vendor.appcompact.rss_throttle_kb" Value="12000" /> + <Prop Name="vendor.appcompact.delta_rss_throttle_kb" Value="8000" /> + <Prop Name="vendor.perf.topAppRenderThreadBoost.enable" Value="false" Target="lahaina" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="300000" Target="shima" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="300000" Target="yupik" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="15" Target="shima" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="15" Target="yupik" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" Target="shima" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" Target="yupik" /> + <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" Target="shima" /> + <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" Target="yupik" /> + <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" Target="shima" /> + <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" Target="yupik" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" Target="shima" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" Target="yupik" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" Target="shima" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" Target="yupik" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="4294967296" Target="shima" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="4294967296" Target="yupik" /> + <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" Target="shima" /> + <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" Target="yupik" /> + <Prop Name="ro.vendor.iocgrp.config" Value="1" Target="shima" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="300000" Target="yupik" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="15" Target="yupik" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" Target="yupik" /> + <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" Target="yupik" /> + <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" Target="yupik" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" Target="yupik" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" Target="yupik" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="4294967296" Target="yupik" /> + <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" Target="yupik" /> + <Prop Name="ro.vendor.iocgrp.config" Value="1" Target="yupik" /> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" /> + <Prop Name="vendor.perf.phr.enable" Value="1" Target="lahaina"/> + <Prop Name="vendor.perf.phr.hr_min_rate" Value="0.5" Target="lahaina"/> + <Prop Name="vendor.perf.pfar2.enable" Value="1" Target="lahaina"/> + <Prop Name="vendor.perf.pfar2.boost_level" Value="1" Target="lahaina"/> + <Prop Name="vendor.perf.pfar2.disable_pl" Value="1" Target="lahaina"/> + <Prop Name="vendor.perf.pfar2.disable_core_ctl" Value="1" Target="lahaina"/> + <Prop Name="vendor.perf.phr.enable" Value="1" Target="shima"/> + <Prop Name="vendor.perf.phr.hr_min_rate" Value="0.5" Target="shima"/> + <Prop Name="vendor.perf.pfar2.enable" Value="1" Target="shima"/> + <Prop Name="vendor.perf.pfar2.boost_level" Value="1" Target="shima"/> + <Prop Name="vendor.perf.pfar2.disable_pl" Value="1" Target="shima"/> + <Prop Name="vendor.perf.pfar2.disable_core_ctl" Value="1" Target="shima"/> + <Prop Name="vendor.perf.phr.enable" Value="1" Target="yupik"/> + <Prop Name="vendor.perf.phr.hr_min_rate" Value="0.5" Target="yupik"/> + <Prop Name="vendor.perf.pfar2.enable" Value="1" Target="yupik"/> + <Prop Name="vendor.perf.pfar2.boost_level" Value="1" Target="yupik"/> + <Prop Name="vendor.perf.pfar2.disable_pl" Value="1" Target="yupik"/> + <Prop Name="vendor.perf.pfar2.disable_core_ctl" Value="1" Target="yupik"/> + + </PerfConfigs> +</PerfConfigsStore> diff --git a/perf/configs/lahaina/perf/targetconfig.xml b/perf/configs/lahaina/perf/targetconfig.xml new file mode 100644 index 0000000..5e5d27e --- /dev/null +++ b/perf/configs/lahaina/perf/targetconfig.xml @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2020 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="lahaina" + NumClusters="3" + TotalNumCores="8" + SocIds="415,439,456,501,502" + SynCore="1" + CoreCtlCpu="4" + MinCoreOnline="0" + CpufreqGov="1" /> + + <ClustersInfo Id="0" NumCores="4" Type="little" /> + <ClustersInfo Id="1" NumCores="3" Type="big" /> + <ClustersInfo Id="2" NumCores="1" Type="prime" /> + + </Config1> + + <Config2> + <TargetInfo + Target="shima" + NumClusters="3" + TotalNumCores="8" + SocIds="450" + SynCore="1" + CoreCtlCpu="4" + MinCoreOnline="0" + CpufreqGov="1" + MinFpsForTuning="60" /> + + <ClustersInfo Id="0" NumCores="4" Type="little" /> + <ClustersInfo Id="1" NumCores="3" Type="big" /> + <ClustersInfo Id="2" NumCores="1" Type="prime" /> + + </Config2> + + <Config3> + <TargetInfo + Target="yupik" + NumClusters="3" + TotalNumCores="8" + SocIds="475,497,498,499,515" + SynCore="1" + CoreCtlCpu="4" + MinCoreOnline="0" + CpufreqGov="1" + MinFpsForTuning="60" /> + + <ClustersInfo Id="0" NumCores="4" Type="little" /> + <ClustersInfo Id="1" NumCores="3" Type="big" /> + <ClustersInfo Id="2" NumCores="1" Type="prime" /> + + </Config3> + +</TargetConfig> diff --git a/perf/configs/lahaina/perf/targetresourceconfigs.xml b/perf/configs/lahaina/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..f919180 --- /dev/null +++ b/perf/configs/lahaina/perf/targetresourceconfigs.xml @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2020 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to modify the Supported field information. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing path +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. +NOTE - It is not Mandatory to write all the resources which are not supported, +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x1" Supported="no" /> <!-- toggle_l2_pc_perf --> + <Config MajorValue="0x1" MinorValue="0x2" Node="/proc/sys/kernel/sched_busy_hyst_ns" /> + <Config MajorValue="0x1" MinorValue="0x3" Supported="no" Target="shima" /> <!-- lpm_ref_stddev --> + <Config MajorValue="0x1" MinorValue="0x4" Supported="no" Target="shima" /> <!-- lpm_tmr_add --> + <Config MajorValue="0x1" MinorValue="0x3" Supported="no" Target="yupik" /> <!-- lpm_ref_stddev --> + <Config MajorValue="0x1" MinorValue="0x4" Supported="no" Target="yupik" /> <!-- lpm_tmr_add --> + + <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task --> + <Config MajorValue="0x3" MinorValue="0x6" Supported="no" /> <!-- sched_init_task_load --> + <Config MajorValue="0x3" MinorValue="0xB" Supported="no" /> <!-- sched_spill_nr_run --> + <Config MajorValue="0x3" MinorValue="0xC" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_set_freq_aggr --> + <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggr_threshold --> + <Config MajorValue="0x3" MinorValue="0x22" Supported="no" Target="shima" /> <!-- sched_task_unfilter_nr_windows --> + <Config MajorValue="0x3" MinorValue="0x22" Supported="no" Target="yupik" /> <!-- sched_task_unfilter_nr_windows --> + <Config MajorValue="0x3" MinorValue="0x37" Supported="no" /> <!-- Enabled till Kernel 4.19 --> + <Config MajorValue="0x3" MinorValue="0x39" Supported="no" /> <!-- Enabled till Kernel 4.19 --> + + <Config MajorValue="0x6" MinorValue="0x0" Supported="no" Target="lahaina" /> + <Config MajorValue="0x6" MinorValue="0x1" Supported="no" Target="lahaina" /> + <Config MajorValue="0x6" MinorValue="0x2" Supported="no" Target="lahaina" /> + <Config MajorValue="0x6" MinorValue="0x3" Supported="no" Target="lahaina" /> + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" Target="lahaina" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" Target="lahaina" /> <!-- cpubw_hmon_low_power_io_percent --> + <Config MajorValue="0x6" MinorValue="0x6" Supported="no" Target="lahaina" /> + <Config MajorValue="0x6" MinorValue="0x7" Supported="no" Target="lahaina" /> + <Config MajorValue="0x6" MinorValue="0x8" Supported="no" Target="lahaina" /> + <Config MajorValue="0x6" MinorValue="0x9" Supported="no" Target="lahaina" /> + + <Config MajorValue="0x6" MinorValue="0x0" Supported="no" Target="shima" /> + <Config MajorValue="0x6" MinorValue="0x1" Supported="no" Target="shima" /> + <Config MajorValue="0x6" MinorValue="0x2" Supported="no" Target="shima" /> + <Config MajorValue="0x6" MinorValue="0x3" Supported="no" Target="shima" /> + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" Target="shima" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" Target="shima" /> <!-- cpubw_hmon_low_power_io_percent --> + <Config MajorValue="0x6" MinorValue="0x6" Supported="no" Target="shima" /> + <Config MajorValue="0x6" MinorValue="0x7" Supported="no" Target="shima" /> + <Config MajorValue="0x6" MinorValue="0x8" Supported="no" Target="shima" /> + <Config MajorValue="0x6" MinorValue="0x9" Supported="no" Target="shima" /> + + <Config MajorValue="0x6" MinorValue="0x0" Supported="no" Target="yupik" /> + <Config MajorValue="0x6" MinorValue="0x1" Supported="no" Target="yupik" /> + <Config MajorValue="0x6" MinorValue="0x2" Supported="no" Target="yupik" /> + <Config MajorValue="0x6" MinorValue="0x3" Supported="no" Target="yupik" /> + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" Target="yupik" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" Target="yupik" /> <!-- cpubw_hmon_low_power_io_percent --> + <Config MajorValue="0x6" MinorValue="0x6" Supported="no" Target="yupik" /> + <Config MajorValue="0x6" MinorValue="0x7" Supported="no" Target="yupik" /> + <Config MajorValue="0x6" MinorValue="0x8" Supported="no" Target="yupik" /> + <Config MajorValue="0x6" MinorValue="0x9" Supported="no" Target="yupik" /> + + <Config MajorValue="0xB" MinorValue="0x2" Node="/sys/devices/system/cpu/cpu_boost/input_boost_freq" /> + <Config MajorValue="0xB" MinorValue="0x6" Supported="no" Target="lahaina" /><!-- disable_ppr --> + + <!-- llcbw L3 and DDR major end --> + + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" Target="lahaina" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" Target="lahaina" /> + <Config MajorValue="0xC" MinorValue="0x2" Supported="no" Target="lahaina" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" Target="lahaina" /> + + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" Target="shima" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" Target="shima" /> + <Config MajorValue="0xC" MinorValue="0x2" Supported="no" Target="shima" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" Target="shima" /> + <Config MajorValue="0xC" MinorValue="0xA" Supported="no" Target="shima" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0xC" MinorValue="0xB" Supported="no" Target="shima" /> <!-- cpubw_hmon_low_power_io_percent --> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" Target="yupik" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" Target="yupik" /> + <Config MajorValue="0xC" MinorValue="0x2" Supported="no" Target="yupik" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" Target="yupik" /> + <Config MajorValue="0xC" MinorValue="0xA" Supported="no" Target="yupik" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0xC" MinorValue="0xB" Supported="no" Target="yupik" /> <!-- cpubw_hmon_low_power_io_percent --> + + <Config MajorValue="0xD" MinorValue="0x0" Node="/sys/class/devfreq/18590100.qcom,cpu%d-cpu-l3-lat/min_freq" /> + <Config MajorValue="0xD" MinorValue="0x1" Node="/sys/class/devfreq/18590100.qcom,cpu0-cpu-l3-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/class/devfreq/18590100.qcom,cpu4-cpu-l3-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0x3" Node="/sys/class/devfreq/18590100.qcom,cpu0-cpu-l3-lat/mem_latency/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/class/devfreq/18590100.qcom,cpu4-cpu-l3-lat/mem_latency/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0x11" Node="/sys/class/devfreq/18590100.qcom,cpu%d-cpu-l3-lat/max_freq" /> + <Config MajorValue="0xD" MinorValue="0x0" Node="/sys/devices/system/cpu/memlat/c%d_memlat/cpu%d-cpu-l3-lat/min_freq" Target="yupik"/> + <Config MajorValue="0xD" MinorValue="0x1" Node="/sys/devices/system/cpu/memlat/c0_memlat/cpu0-cpu-l3-lat/ratio_ceil" Target="yupik" /> + <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/devices/system/cpu/memlat/c4_memlat/cpu4-cpu-l3-lat/ratio_ceil" Target="yupik" /> + <Config MajorValue="0xD" MinorValue="0x3" Node="/sys/devices/system/cpu/memlat/c0_memlat/cpu0-cpu-l3-lat/stall_floor" Target="yupik" /> + <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/devices/system/cpu/memlat/c4_memlat/cpu4-cpu-l3-lat/stall_floor" Target="yupik" /> + <Config MajorValue="0xD" MinorValue="0x11" Node="/sys/devices/system/cpu/memlat/c%d_memlat/cpu%d-cpu-l3-lat/max_freq" Target="yupik" /> + <Config MajorValue="0xD" MinorValue="0x5" Supported="no" Target="shima" /> + <Config MajorValue="0xD" MinorValue="0x6" Supported="no" Target="shima" /> + <Config MajorValue="0xD" MinorValue="0x5" Supported="no" Target="yupik" /> + <Config MajorValue="0xD" MinorValue="0x6" Supported="no" Target="yupik" /> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/lito/lm/AdaptLaunchFeature.xml b/perf/configs/lito/lm/AdaptLaunchFeature.xml new file mode 100644 index 0000000..dabc191 --- /dev/null +++ b/perf/configs/lito/lm/AdaptLaunchFeature.xml @@ -0,0 +1,69 @@ +<!-- +/****************************************************************************** + @file AdaptLaunchFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2019 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AdaptLaunch</Name> + <Libname>libadaptlaunch.so</Libname> + <Configs> + <Enable>1</Enable> + </Configs> + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>VmRss</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>false</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + </Trigger> + </Triggers> + <Samples>300</Samples> + <Fields> + <Field>VmRss:</Field> + </Fields> + </Meter> + </Meters> + <SpuriousHintApps> + <App>com.android.permissioncontroller</App> + </SpuriousHintApps> +</Feature> diff --git a/perf/configs/lito/lm/AppClassifierFeature.xml b/perf/configs/lito/lm/AppClassifierFeature.xml new file mode 100644 index 0000000..934e8b6 --- /dev/null +++ b/perf/configs/lito/lm/AppClassifierFeature.xml @@ -0,0 +1,36 @@ +<!-- +/****************************************************************************** + @file AppClassifierFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2019 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AppClassifier</Name> + <Configs> + <Enable>1</Enable> + </Configs> + <Libname>libappclassifier.so</Libname> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> +</Feature> diff --git a/perf/configs/lito/lm/GameOptimizationFeature.xml b/perf/configs/lito/lm/GameOptimizationFeature.xml new file mode 100644 index 0000000..38ca5d0 --- /dev/null +++ b/perf/configs/lito/lm/GameOptimizationFeature.xml @@ -0,0 +1,203 @@ +<!-- +/****************************************************************************** + @file GameOptimizationFeature.xml + @brief Game Optimization feature xml + + DESCRIPTION + Each feature has an xml file to define the feature components + + =========================================================================== + Copyright (c) 2019 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> + +<Feature> + <Name>GameOptimization</Name> + <Libname>libgameoptfeature.so</Libname> + <Configs target="lito"> + <Enable>1</Enable> + <ATML1>1</ATML1> + <ATML2>1</ATML2> + <ATML3>1</ATML3> + <GFAR>1</GFAR> + <AGPE>0</AGPE> + <IDLE_SENSE>0</IDLE_SENSE> + <GROUP_UPMIGRATE_PATH>/proc/sys/kernel/sched_group_upmigrate</GROUP_UPMIGRATE_PATH> + <GROUP_DOWNMIGRATE_PATH>/proc/sys/kernel/sched_group_downmigrate</GROUP_DOWNMIGRATE_PATH> + <BIG_CLUSTER_ID>6,7</BIG_CLUSTER_ID> + <BIG_SLB_OPCODE>0x40C68000,0x40C68200</BIG_SLB_OPCODE> + <LITTLE_SLB_OPCODE>0x40C68100,0x40C68110,0x40C68120,0x40C68130,0x40C68140,0x40C68150</LITTLE_SLB_OPCODE> + <!-- SLBval, TADemand, Jank--> + <SLB_MAP>14,200,40,6,150,30,4,125,25,2,100,15,0</SLB_MAP> + <STUTTER_SCALE>10</STUTTER_SCALE> + <ENABLE_DB_L2_L3>0</ENABLE_DB_L2_L3> + <!-- This will enbale SLB clamping if Janks are zero in consistent learning window--> + <ENABLE_SLB_CLAMPER>1</ENABLE_SLB_CLAMPER> + <L3_JANK_THRESHOLD>2,12</L3_JANK_THRESHOLD> + <!-- Janky vector threshold, Total no. of Janks Threshold--> + <L1_JANK_THRESHOLD>4,8</L1_JANK_THRESHOLD> + <!-- Default slb little, Default slb big--> + <ATM_L3_DEFAULTS>0,-6</ATM_L3_DEFAULTS> + </Configs> + <Configs target="lagoon"> + <Enable>1</Enable> + <ATML1>1</ATML1> + <ATML2>1</ATML2> + <ATML3>1</ATML3> + <GFAR>1</GFAR> + <AGPE>0</AGPE> + <IDLE_SENSE>0</IDLE_SENSE> + <GROUP_UPMIGRATE_PATH>/proc/sys/kernel/sched_group_upmigrate</GROUP_UPMIGRATE_PATH> + <GROUP_DOWNMIGRATE_PATH>/proc/sys/kernel/sched_group_downmigrate</GROUP_DOWNMIGRATE_PATH> + <BIG_CLUSTER_ID>6,7</BIG_CLUSTER_ID> + <BIG_SLB_OPCODE>0x40C68000,0x40C68010</BIG_SLB_OPCODE> + <LITTLE_SLB_OPCODE>0x40C68100,0x40C68110,0x40C68120,0x40C68130,0x40C68140,0x40C68150</LITTLE_SLB_OPCODE> + <!-- SLBval, TADemand, Jank--> + <SLB_MAP>14,200,40,6,150,30,4,125,25,2,100,15,0</SLB_MAP> + <STUTTER_SCALE>10</STUTTER_SCALE> + <ENABLE_DB_L2_L3>0</ENABLE_DB_L2_L3> + <!-- This will enbale SLB clamping if Janks are zero in consistent learning window--> + <ENABLE_SLB_CLAMPER>1</ENABLE_SLB_CLAMPER> + <L3_JANK_THRESHOLD>2,12</L3_JANK_THRESHOLD> + <!-- Janky vector threshold, Total no. of Janks Threshold--> + <L1_JANK_THRESHOLD>4,8</L1_JANK_THRESHOLD> + <!-- Default slb little, Default slb big--> + <ATM_L3_DEFAULTS>0,-6</ATM_L3_DEFAULTS> + </Configs> + <Profiles> + <Profile target="lito"> + <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4 ,LPM IPI Prediction 0 --> + <DEFAULT>0x4144C100,860000,0x41444000,1,0x41444200,1,0x40C9C000,4,0x40414000,0</DEFAULT> + <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4, LPM IPI Prediction 0--> + <SKEW2>0x4144C100,860000,0x41444000,1,0x41444200,1,0x40C9C000,4,0x40414000,0</SKEW2> + </Profile> + <Profile target="lagoon"> + <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4 ,LPM IPI Prediction 0 --> + <DEFAULT>0x4144C100,860000,0x41444000,1,0x40C9C000,4,0x40414000,0</DEFAULT> + <!-- Colocation v3 1 GHz, Predictive Load 1, Sched Many Wake Up Threshold 4, LPM IPI Prediction 0--> + <SKEW2>0x4144C100,860000,0x41444000,1,0x40C9C000,4,0x40414000,0</SKEW2> + </Profile> + </Profiles> + + <Meters> + <SamplesRequired>4</SamplesRequired> + + <Meter> + <Name>Fps</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_HEADROOM_REGULATOR</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_SENSOR_DATA</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> + <Configs> + <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE> + <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE> + </Configs> + <Samples>100</Samples> + </Meter> + + <Meter> + <Name>SchedParams</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + </Triggers> + <Samples>100</Samples> + </Meter> + </Meters> + <IgnoredApps> + <App>com.google.android.gms</App> + <App>com.android.vending</App> + <App>com.google.android.projection.gearhead</App> + </IgnoredApps> +</Feature> diff --git a/perf/configs/lito/msm_irqbalance.conf b/perf/configs/lito/msm_irqbalance.conf new file mode 100644 index 0000000..58d8c94 --- /dev/null +++ b/perf/configs/lito/msm_irqbalance.conf @@ -0,0 +1,2 @@ +PRIO=1,1,0,0,0,0,0,0 +IGNORED_IRQ=19,21,38 diff --git a/perf/configs/lito/perf/perfboostsconfig.xml b/perf/configs/lito/perf/perfboostsconfig.xml new file mode 100644 index 0000000..fd0f8e0 --- /dev/null +++ b/perf/configs/lito/perf/perfboostsconfig.xml @@ -0,0 +1,613 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +*/ +--> + + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + <!-- SCHED DOWNMIGRATE resource opcode, value--> + <!-- SCHED UPMIGRATE resource opcode, value--> + <!-- SCHED DOWNMIGRATE PRIME resource opcode, value--> + <!-- SCHED UPMIGRATE PRIME resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="lito" + Resources="0x40C20000, 0x28, 0x40C1C000, 0x32, 0x40C20200, 0x28, 0x40C1C200, 0x32, + 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, 0x40800000, 1478, + 0x40800100, 1363, 0x40800200, 1708" /> + + <!-- SCHED DOWNMIGRATE resource opcode, value--> + <!-- SCHED UPMIGRATE resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="lagoon" + Resources="0x40C20000, 0x28, 0x40C1C000, 0x32, 0x40804000, 0xFFF, 0x40804100, 0xFFF, + 0x40800000, 1555, 0x40800100, 1516" /> + + <!--app lauch boost (disabling packing)--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- LLCCBW resource opcode, value--> + <!-- L3 resource opcode, value--> + <!-- GPU nap resource opcode, value--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="lito" + Resources="0x40400000, 0x1, 0x42C10000, 0x1, 0x43010000, 59, + 0x41828000, 806, 0x43400000, 0x2E80, 0x4281C000, 1500" /> + + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="lagoon" + Resources="0x40400000, 0x1, 0x42C10000, 0x1, 0x43010000, 59, + 0x41828000, 806, 0x43400000, 0x2E80, 0x4281C000, 1500" /> + + <!-- config_enableLaunchBoostv3--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="lito" + Resources="0x40C00000, 0x3, 0x40C58000, 85, 0x40C54000, 100, 0x40408000, 0x5, + 0x40C74000, 0xC0" /> + + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="lagoon" + Resources="0x40C00000, 0x3, 0x40C58000, 85, 0x40C54000, 100, 0x40408000, 0x5, + 0x40C74000, 0xC0" /> + + <!-- config_gameBoost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + + <!-- Type="4", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="lito" + Resources="0x40C00000, 0x3, 0x40C58000, 85, 0x40C54000, 100, 0x40408000, 0x5, + 0x40C74000, 0xC0" /> + + <Config + Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="lagoon" + Resources="0x40C00000, 0x3, 0x40C58000, 85, 0x40C54000, 100, 0x40408000, 0x5, + 0x40C74000, 0xC0" /> + + <!-- config_enableLaunchBoost6--> + <!-- SLB_BIG, val--> + <!-- SLB_PRIME, val--> + <!-- MIN_FREQ_BIG, val MHz --> + <!-- MIN_FREQ_PRIME, val MHz --> + <!-- CPU_DOWN_FREQ_THRESHOLD_US BIG, val us --> + <!-- CPU_DOWN_FREQ_THRESHOLD_US PRIME, val us --> + <!-- LPM_BIAS resource opcode, val ms--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + + <!-- Type="6", Game Launch boost --> + <Config + Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="lito" + Resources="0x40C68000, 60, + 0x40C68200, 60, + 0x40800000, 1152, + 0x40800200, 1228, + 0x41448000, 20000, + 0x41448200, 20000, + 0x40408000, 0x63, + 0x40C74000, 0xC0" /> + + <!-- LPM_BIAS resource opcode, val ms--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- SLB_BIG, val, SLB_BIG, val--> + <!-- MIN_FREQ_BIG, val MHz --> + <!-- CPU_DOWN_FREQ_THRESHOLD_US, val us --> + <!-- Type="6", Game Launch boost --> + <Config + Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="lagoon" + Resources="0x40408000, 0x5, + 0x40C74000, 0xC0, + 0x40C68000, 60, 0x40C68010, 60, + 0x40800000, 1248, + 0x41448000, 20000" /> + + <!--app launch boost (attach application) --> + <!-- SCHED_TASK_BOOST resource opcode, value--> + <Config + Id="0x00001081" Type="103" Enable="true" Timeout="2000" Target="lito" + Resources="0x40C80000, 0x0" /> + <Config + Id="0x00001081" Type="103" Enable="true" Timeout="2000" Target="lagoon" + Resources="0x40C80000, 0x0" /> + + + <!--Animation boost --> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + + <Config + Id="0x00001083" Enable="true" Timeout="400" Target="lito" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF" /> + + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <Config + Id="0x00001083" Enable="true" Timeout="400" Target="lagoon" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF, + 0x40800100, 0xFFF" /> + + <!--Vertical Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="lito" Fps="60" + Resources="0x43010000, 0x26, 0x40800000, 1094, 0x40800100, 1075, 0x40800200, 1094, + 0x40C00000, 2" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="lito" Fps="90" + Resources="0x43010000, 0x26, 0x40800000, 1728, 0x40800100, 1363, 0x40800200, 1766, + 0x40C00000, 2, 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="lito" Fps="120" + Resources="0x43010000, 0x26, 0x40800000, 2092, 0x40800100, 1516, 0x40800200, 1996, + 0x40C00000, 2, 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="lito" Fps="144" + Resources="0x43010000, 0x26, 0x40800000, 2092, 0x40800100, 1516, 0x40800200, 1996, + 0x40C00000, 2, 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="lagoon" Fps="60" + Resources="0x43010000, 0x26, 0x40800000, 1036, 0x40800100, 1017, 0x40C00000, 2" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="lagoon" Fps="90" + Resources="0x43010000, 0x26, 0x40800000, 1766, 0x40800100, 1248, 0x40C00000, 2, + 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="lagoon" Fps="120" + Resources="0x43010000, 0x26, 0x40800000, 2073, 0x40800100, 1516, 0x40C00000, 2, + 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="lagoon" Fps="144" + Resources="0x43010000, 0x26, 0x40800000, 2073, 0x40800100, 1516, 0x40C00000, 2, + 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <!--Horizontal Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="lito" Fps="60" + Resources="0x43010000, 0x26, 0x40800000, 1094, 0x40800100, 1075, 0x40800200, 1094, + 0x40C00000, 2" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="lito" Fps="90" + Resources="0x43010000, 0x26, 0x40800000, 1728, 0x40800100, 1363, 0x40800200, 1766, + 0x40C00000, 2, 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="lito" Fps="120" + Resources="0x43010000, 0x26, 0x40800000, 2092, 0x40800100, 1516, 0x40800200, 1996, + 0x40C00000, 2, 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="lito" Fps="144" + Resources="0x43010000, 0x26, 0x40800000, 2092, 0x40800100, 1516, 0x40800200, 1996, + 0x40C00000, 2, 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="lagoon" Fps="60" + Resources="0x43010000, 0x26, 0x40800000, 1036, 0x40800100, 1017, 0x40C00000, 2" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="lagoon" Fps="90" + Resources="0x43010000, 0x26, 0x40800000, 1766, 0x40800100, 1248, 0x40C00000, 2, + 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="lagoon" Fps="120" + Resources="0x43010000, 0x26, 0x40800000, 2073, 0x40800100, 1516, 0x40C00000, 2, + 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="lagoon" Fps="144" + Resources="0x43010000, 0x26, 0x40800000, 2073, 0x40800100, 1516, 0x40C00000, 2, + 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <!--Pre-Fling boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="4", Pre-Fling boost --> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="lito" Fps="60" + Resources="0x43010000, 0x26, 0x40800000, 1094, 0x40800100, 1075, 0x40800200, 1094, + 0x40C00000, 2" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="lito" Fps="90" + Resources="0x43010000, 0x26, 0x40800000, 1728, 0x40800100, 1363, 0x40800200, 1766, + 0x40C00000, 2, 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="lito" Fps="120" + Resources="0x43010000, 0x26, 0x40800000, 2092, 0x40800100, 1516, 0x40800200, 1996, + 0x40C00000, 2, 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="lito" Fps="144" + Resources="0x43010000, 0x26, 0x40800000, 2092, 0x40800100, 1516, 0x40800200, 1996, + 0x40C00000, 2, 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- Type="4", Pre-Fling boost --> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="lagoon" Fps="60" + Resources="0x43010000, 0x26, 0x40800000, 1036, 0x40800100, 1017, 0x40C00000, 2" /> + + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="lagoon" Fps="90" + Resources="0x43010000, 0x26, 0x40800000, 1766, 0x40800100, 1248, 0x40C00000, 2, + 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="lagoon" Fps="120" + Resources="0x43010000, 0x26, 0x40800000, 2073, 0x40800100, 1516, 0x40C00000, 2, + 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="115" Target="lagoon" Fps="144" + Resources="0x43010000, 0x26, 0x40800000, 2073, 0x40800100, 1516, 0x40C00000, 2, + 0x40C74000, 0xC0, 0x40408000, 0x27" /> + + <!--MTP boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + + <!-- Type="", MTP boost --> + <Config + Id="0x00001086" Enable="true" Target="lito" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000, 1478, 0x40800100, 1363, 0x40800200, 1708, 0x42C10000, 0x1" /> + + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- LPM Bias resource opcode, value --> + <!-- Type="", MTP boost --> + <Config + Id="0x00001086" Enable="true" Target="lagoon" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1555, + 0x40800100, 1516, 0x42C10000, 0x1, 0x40408000, 0x19" /> + + <!--PackageInstall boost--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_FORCE_LB_ENABLE opcode, value--> + <!-- Type="", Package Install boost --> + <Config + Id="0x00001088" Enable="true" Target="lito" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, 0x40800000, 0xFFF, + 0x40800100, 0xFFF, 0x40800200, 0xFFF, 0x40CA0000, 0, 0x40C00000, 2, + 0x40CCC000, 0" /> + + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED_FORCE_LB_ENABLE opcode, value--> + <!-- Type="", Package Install boost --> + <Config + Id="0x00001088" Enable="true" Target="lagoon" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF, + 0x40800100, 0xFFF, 0x40CA0000, 0, 0x40C00000, 2, 0x40CCC000, 0" /> + + <!--Rotation latency boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="lito" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200,0xFFF" /> + + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="lagoon" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + + <!--Rotation animation boost--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- GPU MIN_FREQUENCY resource opcode,value--> + <!-- Type="", Rotation animation boost --> + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="lito" + Resources="0x40800100, 1228, 0x42804000, 0" /> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="lagoon" + Resources="0x40800100, 1000, 0x42804000, 0" /> + + <!--Drag boost--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value --> + + <!-- Type="1", Drag boost --> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="lito" + Resources="0x40800000, 1094, 0x40800100, 1075, 0x40800200, 1094" /> + + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="lito" Fps="120" + Resources="0x40800000, 1094, 0x40800100, 1075, 0x40800200, 1094, 0x40C00000, 2" /> + + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="lito" Fps="144" + Resources="0x40800000, 1094, 0x40800100, 1075, 0x40800200, 1094, 0x40C00000, 2" /> + + + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- Type="1", Drag boost --> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="lagoon" + Resources="0x40800000, 1036, 0x40800100, 1017" /> + + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="lagoon" Fps="120" + Resources="0x40800000, 1036, 0x40800100, 1017, 0x40C00000, 2" /> + + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="lagoon" Fps="144" + Resources="0x40800000, 1248, 0x40800100, 1017, 0x40C00000, 2" /> + + <!--Display on Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="lito" + Resources="0x40000000, 1" /> + + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="lagoon" + Resources="0x40000000, 1" /> + + <!--Display off Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="lito" + Resources="0x40000000, 0x0" /> + + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="lagoon" + Resources="0x40000000, 0x0" /> + + <!--FPS Update Resource--> + <!-- PREDECITIVE_LOAD BIG CORE resource opcode, value --> + <!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value --> + <!-- PREDECITIVE_LOAD PRIME CORE resource opcode, value --> + <!-- SCHED_PREFER_SPREAD resource opcode, value --> + + <!-- Type="60" --> + <Config + Id="0x00001094" Type="60" Enable="true" Target="lito" Timeout="0" + Resources="0x41444000, 0, 0x41444100, 0, 0x41444200, 0, 0x40CA8000, 0" /> + + <!-- Type="90" --> + <Config + Id="0x00001094" Type="90" Enable="true" Target="lito" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2" /> + + <!-- Type="120" --> + <Config + Id="0x00001094" Type="120" Enable="true" Target="lito" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2" /> + + <!-- Type="144" --> + <Config + Id="0x00001094" Type="144" Enable="true" Target="lito" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x41444200, 1, 0x40CA8000, 2" /> + + <!-- PREDECITIVE_LOAD BIG CORE resource opcode, value --> + <!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value --> + <!-- SCHED_PREFER_SPREAD resource opcode, value --> + <!-- Type="60" --> + <Config + Id="0x00001094" Type="60" Enable="true" Target="lagoon" Timeout="0" + Resources="0x41444000, 0, 0x41444100, 0, 0x40CA8000, 0" /> + + <!-- Type="90" --> + <Config + Id="0x00001094" Type="90" Enable="true" Target="lagoon" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2" /> + + <!-- Type="120" --> + <Config + Id="0x00001094" Type="120" Enable="true" Target="lagoon" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2" /> + + <!-- PREDECITIVE_LOAD BIG CORE resource opcode, value --> + <!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value --> + <!-- SCHED_PREFER_SPREAD resource opcode, value --> + <!-- SLB_BIG_0, val--> + <!-- SLB_BIG_1, val--> + <!-- WALT_RTG_CFS_BOOST_PRIO resource opcode, value --> + <!-- SCHED_COLOC_DOWNMIGRATE_NS resource opcode, value --> + <!-- Type="144" --> + <Config + Id="0x00001094" Type="144" Enable="true" Target="lagoon" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2, + 0x40C68000, 0, 0x40C68010, 0, 0x40CC8000, 119, + 0x40C8C000, 100000000" /> + + <!-- PREDECITIVE_LOAD BIG CORE resource opcode, value --> + <!-- PREDECITIVE_LOAD LITTLE Core resource opcode, value --> + <!-- SCHED_PREFER_SPREAD resource opcode, value --> + <!-- SLB_BIG_0, val--> + <!-- SLB_PRIME, val--> + <!-- WALT_RTG_CFS_BOOST_PRIO resource opcode, value --> + <!-- SCHED_COLOC_DOWNMIGRATE_NS resource opcode, value --> + <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value --> + <!-- Type="144" --> + <Config + Id="0x00001094" Type="144" Enable="true" Target="lito" Timeout="0" + Resources="0x41444000, 1, 0x41444100, 1, 0x40CA8000, 2, + 0x40C68000, 0, 0x40C68200, 0, 0x40CC8000, 119, + 0x40C8C000, 100000000, 0x40CA4000, 2" /> + + <!--Large Comp HInt --> + <!-- CPU min freq resource opcode, value --> + <!-- GPU MIN_FREQUENCY resource opcode,value --> + <!-- PID Affine opcode,value --> + <Config + Id="0x00001097" Type="0" Enable="true" Timeout="7" Target="lito" Fps="144" + Resources="0x40800000, 1500, 0x42804000, 0, 0x42C20000, 1" /> + + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/lito/perf/perfconfigstore.xml b/perf/configs/lito/perf/perfconfigstore.xml new file mode 100644 index 0000000..d9f94a2 --- /dev/null +++ b/perf/configs/lito/perf/perfconfigstore.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is PerfConfigsStore file which returns the value when a +particular property name is invoked --> + +<!-- This file supports only Prop tag, which has the following fields +* Name, to identify the name of the property. The names of the +properties have been classified into Vendor and System property. +* Value, the new value to be returned as string when respective +property Name is called. --> + +<!--__________________________________Example format_______________________________________________ +<Prop Name="vendor.debug.enable.lm" Value="true" Target="lagoon" Variant="lito" Resolution="1080p" + Ram="3" Kernel="4.19"/> + Target: target code name (decided based on soc id, doesn't depend on lunch combo name) + ex: lito, lagoon, kona, etc + Variant: For Variants of Target go/32bit/64bit/nongo, examples below + Variant=bengal_32go -> bengal 32 bit go target + Variant=bengal_32 -> bengal 32 bit target + Variant=bengal -> bengal 64 bit target + Resolution="1080p", "2560", "720p", "HD+" + Kernel: kernel version, examples: "4.19", "5.4", etc + Ram: ram size in GB, examples: "1","2","3","4","6","8","10","12" (12 for target with >= 12GB of RAM as well) +_______________________________________________________________________________________________ --> + +<PerfConfigsStore> + <PerfConfigs> + + <!--Vendor Properties --> + <Prop Name="vendor.debug.enable.lm" Value="true" /> + <Prop Name="vendor.iop.enable_uxe" Value="1" /> + <Prop Name="vendor.enable.prefetch" Value="false" /> + <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" /> + <Prop Name="vendor.perf.iop_v3.enable" Value="false" /> + <Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" /> + <Prop Name="vendor.debug.enable.memperfd" Value="true" /> + <Prop Name="vendor.perf.pfar.enable" Value="1"/> + <Prop Name="vendor.perf.fps_switch.enable" Value="1"/> + <Prop Name="ro.vendor.perf.gfl.tap_ignore_enable" Value="true"/> + <Prop Name="ro.vendor.perf.wlc.heavygame" Value="true"/> + + <!--System Properties --> + <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="300000" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="15" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="4294967296" /> + <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" /> + <Prop Name="ro.vendor.iocgrp.config" Value="1" /> + <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="true" /> + <Prop Name="ro.lmk.enhance_batch_kill" Value="false" /> + <Prop Name="ro.lmk.enable_watermark_check" Value="true" /> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" /> + <Prop Name="ro.lmk.use_new_strategy_dup" Value="true" /> + <Prop Name="ro.lmk.super_critical" Value="606" /> + <Prop Name="ro.lmk.direct_reclaim_pressure" Value="45" /> + <Prop Name="ro.lmk.reclaim_scan_threshold" Value="0" /> + <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" /> + <Prop Name="ro.vendor.at_library" Value="libqti-at.so" /> + + </PerfConfigs> +</PerfConfigsStore> diff --git a/perf/configs/lito/perf/targetconfig.xml b/perf/configs/lito/perf/targetconfig.xml new file mode 100644 index 0000000..29b5429 --- /dev/null +++ b/perf/configs/lito/perf/targetconfig.xml @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="lito" + NumClusters="3" + TotalNumCores="8" + SocIds="400,440,476" + SynCore="1" + CoreCtlCpu="0" + MinCoreOnline="0" + CpufreqGov="1" + MinFpsForTuning="60" /> + + <ClustersInfo Id="0" NumCores="6" Type="little" /> + <ClustersInfo Id="1" NumCores="1" Type="big" /> + <ClustersInfo Id="2" NumCores="1" Type="prime" /> + + </Config1> + + <Config2> + + <TargetInfo + Target="lagoon" + NumClusters="2" + TotalNumCores="8" + SocIds="434,459" + SynCore="1" + CoreCtlCpu="0" + MinCoreOnline="0" + CpufreqGov="1" + MinFpsForTuning="60" /> + + <ClustersInfo Id="0" NumCores="6" Type="little" /> + <ClustersInfo Id="1" NumCores="2" Type="big" /> + + </Config2> + +</TargetConfig> diff --git a/perf/configs/lito/perf/targetresourceconfigs.xml b/perf/configs/lito/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..9a64feb --- /dev/null +++ b/perf/configs/lito/perf/targetresourceconfigs.xml @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to modify the Supported field information. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing path +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. +NOTE - It is not Mandatory to write all the resources which are not supported, +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x1" Supported="no" /> <!-- toggle_l2_pc_perf --> + <Config MajorValue="0x1" MinorValue="0x2" Node="/proc/sys/kernel/sched_busy_hyst_ns" /> + <Config MajorValue="0x1" MinorValue="0x3" Supported="no" /> <!-- lpm_ref_stddev --> + <Config MajorValue="0x1" MinorValue="0x4" Supported="no" /> <!-- lpm_tmr_add --> + <Config MajorValue="0x1" MinorValue="0x5" Supported="yes" /> <!-- lpm_ipi_prediction --> + + <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task --> + <Config MajorValue="0x3" MinorValue="0x6" Supported="no" /> <!-- sched_init_task_load --> + <Config MajorValue="0x3" MinorValue="0xB" Supported="no" /> <!-- sched_spill_nr_run --> + <Config MajorValue="0x3" MinorValue="0xC" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_set_freq_aggr --> + <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggr_threshold --> + <Config MajorValue="0x3" MinorValue="0x22" Supported="no" /> <!-- sched_task_unfilter_nr_windows --> + <Config MajorValue="0x3" MinorValue="0x37" Supported="no" Kernel="5.4" /> <!-- Enabled till Kernel 4.19 --> + <Config MajorValue="0x3" MinorValue="0x39" Supported="no" Kernel="5.4" /> <!-- Enabled till Kernel 4.19 --> + + <!--All the cpubw_hmon path are now migrated to new opcodes.Hence unsupporting old ones--> + <Config MajorValue="0x6" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x3" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x6" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x7" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x8" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x9" Supported="no" /> + + <Config MajorValue="0xB" MinorValue="0x2" Node="/sys/devices/system/cpu/cpu_boost/parameters/input_boost_freq" Kernel="4.19" /> <!-- input_boost_freq on kernel 4.19 --> + + <!--All llcbw path are now migrated to new opcode. Hence unsupporting old ones--> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0xA" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0xC" MinorValue="0xB" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent --> + + <Config MajorValue="0xD" MinorValue="0x0" Node="/sys/class/devfreq/18321000.qcom,devfreq-l3:qcom,cpu%d-cpu-l3-lat/min_freq" /> + <Config MajorValue="0xD" MinorValue="0x1" Node="/sys/class/devfreq/18321000.qcom,devfreq-l3:qcom,cpu0-cpu-l3-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/class/devfreq/18321000.qcom,devfreq-l3:qcom,cpu6-cpu-l3-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0x3" Node="/sys/class/devfreq/18321000.qcom,devfreq-l3:qcom,cpu0-cpu-l3-lat/mem_latency/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/class/devfreq/18321000.qcom,devfreq-l3:qcom,cpu6-cpu-l3-lat/mem_latency/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0x9" Node="/sys/class/devfreq/soc:qcom,cpu6-cpu-llcc-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0xB" Node="/sys/class/devfreq/soc:qcom,cpu6-cpu-llcc-lat/mem_latency/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0xE" Node="/sys/class/devfreq/soc:qcom,cpu6-llcc-ddr-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0x10" Node="/sys/class/devfreq/soc:qcom,cpu6-llcc-ddr-lat/mem_latency/stall_floor" /> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/msm8909/perf/perfboostsconfig.xml b/perf/configs/msm8909/perf/perfboostsconfig.xml new file mode 100644 index 0000000..2134f7b --- /dev/null +++ b/perf/configs/msm8909/perf/perfboostsconfig.xml @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2017 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + <!-- CPUBOOST_MIN_FREQ resource opcode, value--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- KSM_RUN_STATUS resource opcode, valuei (old: disable ksm) --> + <!-- DISABLE_PPR resource opcode, value --> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8909" + Resources="0x40800000, 0x446, 0x40400000, 0x1, 0x42000000, 0x0, 0x42C18000, 0" /> + + <!--app lauch boost (disabling packing)--> + <!-- SCHED_PREFER_IDLE resource opcode, value--> + <!-- SCHED_SMALL_TASK resource opcode, value--> + <!-- SCHED_MOSTLY_IDLE_NR_RUN resource opcode, value--> + <!-- SCHED_MOSTLY_IDLE_LOAD resource opcode, value--> + <!-- CLUSTR_0_CPUS_ON resource opcode, value (old: min cpus ON = 0x704) --> + + <!-- Type="2", launch boost for disable packing and set 4 min_cpu in core_ctl of 5sec --> + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="5000" Target="msm8909" + Resources="0x40C04000, 0x1, 0x40C0C000, 0x1, 0x40C14000, 0x1, 0x40C10000, 0x1, 0x41000000, 0x4" /> + + <!-- config_enablePerfBoostForAnimation--> + <!-- CPUBOOST_MIN_FREQ resource opcode, value--> + + <!-- Type="1", Animation boost of 0.6sec --> + <Config + Id="0x00001083" Enable="true" Timeout="600" Target="msm8909" + Resources="0x40800000, 0x446" /> + + <!--Vertical Scroll boost for HD--> + <!-- CPUBOOST_MIN_FREQ resource opcode, value--> + <!-- SCHED_PREFER_IDLE resource opcode, value--> + <!-- GPU MIN-FREQUENCY resource opcode,value--> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="msm8909" Resolution="720p" + Resources="0x40800000, 0x446, 0x40C04000, 0x1, 0X4280C000, 456" /> + + <!--Horizontal Scroll boost for HD--> + <!-- CPUBOOST_MIN_FREQ resource opcode, value--> + <!-- SCHED_PREFER_IDLE resource opcode, value--> + <!-- GPU MIN-FREQUENCY resource opcode,value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="msm8909" Resolution="720p" + Resources="0x40800000, 0x446, 0x40C04000, 0x1, 0X4280C000, 456" /> + + <!--Vertical Scroll boost--> + <!-- CPUBOOST_MIN_FREQ resource opcode, value--> + <!-- SCHED_PREFER_IDLE resource opcode, value--> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="msm8909" + Resources="0x40800000, 0x446, 0x40C04000, 0x1" /> + + <!--Horizontal Scroll boost--> + <!-- CPUBOOST_MIN_FREQ resource opcode, value--> + <!-- SCHED_PREFER_IDLE resource opcode, value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="msm8909" + Resources="0x40800000, 0x446, 0x40C04000, 0x1" /> + + <!--Rotation latency boost--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ resource opcode, value--> + <!-- SCHED_PREFER_IDLE resource opcode, value--> + <!-- Type="", Rotation latency boost --> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="msm8909" + Resources="0x40400000, 0x1, 0x40804000, 0xFFF, 0x40800000, 0xFFF, 0x40C04000, 0x1" /> + + <!--Rotation animation boost--> + <!-- CPUBOOST_MIN_FREQ resource opcode, value--> + <!-- GPU MIN_FREQUENCY resource opcode,value--> + <!-- Type="", Rotation animation boost --> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="msm8909" + Resources="0x40800000, 1000, 0x4280C000, 596" /> + + <!--Display on Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="msm8909" + Resources="0x40000000, 1" /> + <!--Display off Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="msm8909" + Resources="0x40000000, 0x0" /> + + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/msm8909/perf/perfconfigstore.xml b/perf/configs/msm8909/perf/perfconfigstore.xml new file mode 100644 index 0000000..b2488e8 --- /dev/null +++ b/perf/configs/msm8909/perf/perfconfigstore.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is PerfConfigsStore file which returns the value when a +particular property name is invoked --> + +<!-- This file supports only Prop tag, which has the following fields +* Name, to identify the name of the property. The names of the +properties have been classified into Vendor and System property. +* Value, the new value to be returned as string when respective +property Name is called. --> + +<PerfConfigsStore> + <PerfConfigs> + + <!--System Properties --> + <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="5000" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="5" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="1073741824" /> + <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" /> + <Prop Name="ro.vendor.at_library" Value="libqti-at.so" /> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" /> + <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" /> + + <!--Vendor Properties --> + <Prop Name="vendor.iop.enable_uxe" Value="0" /> + <Prop Name="vendor.perf.iop_v3.enable" Value="0" /> + <Prop Name="vendor.perf.iop_v3.enable.debug" Value="0" /> + <Prop Name="vendor.enable.prefetch" Value="0" /> + <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" /> + + <!--Mention all the target/kernel specific properties at the end of xml file + All the default valuea are kept above--> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" Variant="msm8909go" /> + + </PerfConfigs> +</PerfConfigsStore> diff --git a/perf/configs/msm8909/perf/targetconfig.xml b/perf/configs/msm8909/perf/targetconfig.xml new file mode 100644 index 0000000..d2daa1a --- /dev/null +++ b/perf/configs/msm8909/perf/targetconfig.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="msm8909" + NumClusters="1" + TotalNumCores="4" + SocIds="245,258,259,265,260,261,262" + SynCore="1" + CoreCtlCpu="0" + MinCoreOnline="1" + GovInstanceType="1" /> + + <ClustersInfo Id="0" NumCores="4" Type="big" /> + + </Config1> + +</TargetConfig> diff --git a/perf/configs/msm8909/perf/targetresourceconfigs.xml b/perf/configs/msm8909/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..3ea24ef --- /dev/null +++ b/perf/configs/msm8909/perf/targetresourceconfigs.xml @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to mention the resources which are not supported. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing one +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. --> + +<!-- NOTE - It is not Mandatory to write all the resources which are not supported +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x1" Node="/sys/module/lpm_levels/system/l2-pc/idle_enabled" /> <!-- l2-pc_idle_enabled --> + <Config MajorValue="0x1" MinorValue="0x2" Supported="no" /> <!-- lpm_bias_hyst --> + <Config MajorValue="0x1" MinorValue="0x3" Supported="no" /> <!-- lpm_ref_stddev --> + <Config MajorValue="0x1" MinorValue="0x4" Supported="no" /> <!-- lpm_tmr_add --> + + <Config MajorValue="0x3" MinorValue="0x1" Node="/sys/devices/system/cpu/cpu0/sched_prefer_idle" /> <!-- sched_prefer_idle --> + <Config MajorValue="0x3" MinorValue="0x2" Supported="no" /> <!-- sched_migration_cost_ns --> + <Config MajorValue="0x3" MinorValue="0x4" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_load" /> <!-- sched_mostly_idle_load --> + <Config MajorValue="0x3" MinorValue="0x5" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run" /> <!-- sched_mostly_idle_nr_run --> + <Config MajorValue="0x3" MinorValue="0x9" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_freq" /> <!-- sched_mostly_idle_freq --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0xF" Supported="no" /> <!-- top-app_cpus --> + <Config MajorValue="0x3" MinorValue="0x10" Supported="no" /> <!-- foreground_cpus --> + <Config MajorValue="0x3" MinorValue="0x11" Supported="no" /> <!-- system_background_cpus --> + <Config MajorValue="0x3" MinorValue="0x12" Supported="no" /> <!-- background_cpus --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_freq_aggregate --> + <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x15" Supported="no" /> <!-- sched_group_upmigrate --> + <Config MajorValue="0x3" MinorValue="0x16" Supported="no" /> <!-- sched_group_downmigrate --> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggregate_threshold --> + <Config MajorValue="0x3" MinorValue="0x18" Supported="no" /> <!-- schedtune.prefer_idle --> + + + <Config MajorValue="0x4" MinorValue="0x0" Supported="yes" /> <!-- min_cpus --> + <Config MajorValue="0x4" MinorValue="0x1" Supported="yes" /> <!-- max_cpus --> + + <!-- For INTERACTIVE major, all the interactive minors are not supported + by default as the recent target moved to schedutil. So, for older targets + where interactive minors are supported they need to be enabled and schedutil + minors are disabled. --> + <Config MajorValue="0x5" MinorValue="0x0" Node="/sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay" /> <!-- above_hispeed_delay --> + <Config MajorValue="0x5" MinorValue="0x1" Node="/sys/devices/system/cpu/cpufreq/interactive/boost" /> <!-- boost --> + <Config MajorValue="0x5" MinorValue="0x3" Node="/sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration" /> <!-- boostpulse_duration --> + <Config MajorValue="0x5" MinorValue="0x4" Node="/sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load" /> <!-- go_hispeed_load --> + <Config MajorValue="0x5" MinorValue="0x5" Node="/sys/devices/system/cpu/cpufreq/interactive/hispeed_freq" /> <!-- hispeed_freq --> + <Config MajorValue="0x5" MinorValue="0x6" Node="/sys/devices/system/cpu/cpufreq/interactive/io_is_busy" /> <!-- io_is_busy --> + <Config MajorValue="0x5" MinorValue="0x7" Node="/sys/devices/system/cpu/cpufreq/interactive/min_sample_time" /> <!-- min_sample_time --> + <Config MajorValue="0x5" MinorValue="0x8" Node="/sys/devices/system/cpu/cpufreq/interactive/target_loads" /> <!-- target_loads --> + <Config MajorValue="0x5" MinorValue="0x9" Node="/sys/devices/system/cpu/cpufreq/interactive/timer_rate" /> <!-- timer_rate --> + <Config MajorValue="0x5" MinorValue="0xA" Node="/sys/devices/system/cpu/cpufreq/interactive/timer_slack" /> <!-- timer_slack --> + <Config MajorValue="0x5" MinorValue="0xB" Node="/sys/devices/system/cpu/cpufreq/interactive/max_freq_hysteresis" /> <!-- max_freq_hysteresis --> + <Config MajorValue="0x5" MinorValue="0xC" Node="/sys/devices/system/cpu/cpufreq/interactive/use_sched_load" /> <!-- use_sched_load --> + <Config MajorValue="0x5" MinorValue="0xF" Supported="no" /> + <Config MajorValue="0x5" MinorValue="0x10" Supported="no" /> + <Config MajorValue="0x5" MinorValue="0x11" Supported="no" /> + + <Config MajorValue="0x9" MinorValue="0x7" Supported="yes" /> <!-- cpu.notify_on_migrate --> + + <Config MajorValue="0xB" MinorValue="0x2" Supported="no" /> <!-- input_boost_freq --> + + <!-- All the minors of LLCBW_HWMON MAJOR are not supported --> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" /> + + <Config MajorValue="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq --> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/msm8916/msm_irqbalance.conf b/perf/configs/msm8916/msm_irqbalance.conf new file mode 100644 index 0000000..7902c27 --- /dev/null +++ b/perf/configs/msm8916/msm_irqbalance.conf @@ -0,0 +1,2 @@ +PRIO=0,0,0,0,1,1,1,1 +IGNORED_IRQ=20,39,200,203 diff --git a/perf/configs/msm8916/perf/perfboostsconfig.xml b/perf/configs/msm8916/perf/perfboostsconfig.xml new file mode 100644 index 0000000..394e174 --- /dev/null +++ b/perf/configs/msm8916/perf/perfboostsconfig.xml @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2017 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--8916 app lauch boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ resource opcode, value--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- KSM_RUN_STATUS resource opcode, valuei (old: disable ksm) --> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8916" + Resources="0x40C00000, 0x1, 0x40800000, 0x4B9, 0x40400000, 0x1, 0x42000000, 0x0" /> + + <!--8939 app lauch boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ resource opcode, value--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- KSM_RUN_STATUS resource opcode, valuei (old: disable ksm) --> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8939" + Resources="0x40C00000, 0x1, 0x40800000, 0x4B9, 0x40400000, 0x1, 0x42000000, 0x0" /> + + + <!--8916 app lauch boost (disabling packing)--> + <!-- SCHED_PREFER_IDLE resource opcode, value--> + <!-- SCHED_SMALL_TASK resource opcode, value--> + <!-- SCHED_MOSTLY_IDLE_NR_RUN resource opcode, value--> + <!-- SCHED_MOSTLY_IDLE_LOAD resource opcode, value--> + + <!-- Type="2", launch boost for disable packing 5sec --> + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="5000" Target="msm8916" + Resources="0x40C04000, 0x1, 0x40C0C000, 0x1, 0x40C14000, 0x1, 0x40C10000, 0x1" /> + + <!-- 8916 config_enablePerfBoostForAnimation--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ resource opcode, value--> + + <!-- Type="1", Animation boost of 0.6sec --> + <Config + Id="0x00001083" Enable="true" Timeout="600" Target="msm8916" + Resources="0x40C00000, 0x1, 0x40800000, 0x4B9" /> + + <!-- 8939 config_enablePerfBoostForAnimation--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ resource opcode, value--> + + <!-- Type="1", Animation boost of 0.6sec --> + <Config + Id="0x00001083" Enable="true" Timeout="600" Target="msm8939" + Resources="0x40C00000, 0x1, 0x40800000, 0x4B9" /> + + <!-- 8916 Vertical Scroll boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ resource opcode, value--> + <!-- SCHED_PREFER_IDLE resource opcode, value--> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="msm8916" + Resources="0x40C00000, 0x1, 0x40800000, 0x4B9, 0x40C04000, 0x1" /> + + <!-- 8939 Vertical Scroll boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ resource opcode, value--> + <!-- SCHED_PREFER_IDLE resource opcode, value--> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="msm8939" + Resources="0x40C00000, 0x1, 0x40800000, 0x4B9, 0x40C04000, 0x1" /> + + + <!-- 8916 Horizontal Scroll boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ resource opcode, value--> + <!-- SCHED_PREFER_IDLE resource opcode, value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="msm8916" + Resources="0x40C00000, 0x1, 0x40800000, 0x4B9, 0x40C04000, 0x1" /> + + <!-- 8939 Horizontal Scroll boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ resource opcode, value--> + <!-- SCHED_PREFER_IDLE resource opcode, value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="msm8939" + Resources="0x40C00000, 0x1, 0x40800000, 0x4B9, 0x40C04000, 0x1" /> + + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/msm8916/perf/targetconfig.xml b/perf/configs/msm8916/perf/targetconfig.xml new file mode 100644 index 0000000..c45f51f --- /dev/null +++ b/perf/configs/msm8916/perf/targetconfig.xml @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which target configs to consider. --> + + <Config1> + + <TargetInfo + Target="msm8916" + NumClusters="1" + TotalNumCores="4" + SocIds="206,247,248,249,250" + SynCore="1" + CoreCtlCpu="0" + MinCoreOnline="1" + GovInstanceType="1" /> + + <ClustersInfo Id="0" NumCores="4" Type="big" /> + + </Config1> + + <Config2> + + <TargetInfo + Target="msm8939" + NumClusters="2" + TotalNumCores="8" + SocIds="239,263,241,268,269,270,271" + SynCore="1" + CoreCtlCpu="0" + MinCoreOnline="0" /> + + <ClustersInfo Id="0" NumCores="4" Type="big" /> + <ClustersInfo Id="1" NumCores="4" Type="little" /> + + </Config2> + +</TargetConfig> diff --git a/perf/configs/msm8916/perf/targetresourceconfigs.xml b/perf/configs/msm8916/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..3b3a7a3 --- /dev/null +++ b/perf/configs/msm8916/perf/targetresourceconfigs.xml @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to mention the resources which are not supported. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing one +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. --> + +<!-- NOTE - It is not Mandatory to write all the resources which are not supported +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x1" Target="msm8939" Node="/sys/module/lpm_levels/system/performance/performance-l2-pc/idle_enabled" /> <!-- l2-pc_idle_enabled --> + <Config MajorValue="0x1" MinorValue="0x1" Target="msm8916" Node="/sys/module/lpm_levels/system/l2-pc/idle_enabled" /> <!-- l2-pc_idle_enabled --> + <Config MajorValue="0x1" MinorValue="0x2" Supported="no" /> <!-- lpm_bias_hyst --> + <Config MajorValue="0x1" MinorValue="0x3" Supported="no" /> <!-- lpm_ref_stddev --> + <Config MajorValue="0x1" MinorValue="0x4" Supported="no" /> <!-- lpm_tmr_add --> + + <Config MajorValue="0x3" MinorValue="0x1" Target="msm8939" Supported="yes" /> <!-- sched_prefer_idle --> + <Config MajorValue="0x3" MinorValue="0x4" Target="msm8939" Supported="yes" /> <!-- sched_mostly_idle_load --> + <Config MajorValue="0x3" MinorValue="0x5" Target="msm8939" Supported="yes" /> <!-- sched_mostly_idle_nr_run --> + <Config MajorValue="0x3" MinorValue="0xC" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0xF" Supported="no" /> <!-- top-app_cpus --> + <Config MajorValue="0x3" MinorValue="0x10" Supported="no" /> <!-- foreground_cpus --> + <Config MajorValue="0x3" MinorValue="0x11" Supported="no" /> <!-- system_background_cpus --> + <Config MajorValue="0x3" MinorValue="0x12" Supported="no" /> <!-- background_cpus --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_freq_aggregate --> + <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x15" Supported="no" /> <!-- sched_group_upmigrate --> + <Config MajorValue="0x3" MinorValue="0x16" Supported="no" /> <!-- sched_group_downmigrate --> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggregate_threshold --> + <Config MajorValue="0x3" MinorValue="0x18" Supported="no" /> <!-- schedtune.prefer_idle --> + + <Config MajorValue="0x4" MinorValue="0x0" Target="msm8939" Supported="yes" /> <!-- min_cpus --> + <Config MajorValue="0x4" MinorValue="0x1" Target="msm8939" Supported="yes" /> <!-- max_cpus --> + + + <!-- For INTERACTIVE major, all the interactive minors are not supported + by default as the recent target moved to schedutil. So, for older targets + where interactive minors are supported they need to be enabled and schedutil + minors are disabled. --> + <Config MajorValue="0x5" MinorValue="0x0" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay" /> <!-- above_hispeed_delay --> + <Config MajorValue="0x5" MinorValue="0x1" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/boost" /> <!-- boost --> + <Config MajorValue="0x5" MinorValue="0x3" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration" /> <!-- boostpulse_duration --> + <Config MajorValue="0x5" MinorValue="0x4" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load" /> <!-- go_hispeed_load --> + <Config MajorValue="0x5" MinorValue="0x5" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/hispeed_freq" /> <!-- hispeed_freq --> + <Config MajorValue="0x5" MinorValue="0x6" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/io_is_busy" /> <!-- io_is_busy --> + <Config MajorValue="0x5" MinorValue="0x7" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/min_sample_time" /> <!-- min_sample_time --> + <Config MajorValue="0x5" MinorValue="0x8" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/target_loads" /> <!-- target_loads --> + <Config MajorValue="0x5" MinorValue="0x9" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/timer_rate" /> <!-- timer_rate --> + <Config MajorValue="0x5" MinorValue="0xA" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/timer_slack" /> <!-- timer_slack --> + <Config MajorValue="0x5" MinorValue="0xB" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/max_freq_hysteresis" /> <!-- max_freq_hysteresis --> + <Config MajorValue="0x5" MinorValue="0xC" Target="msm8916" Node="/sys/devices/system/cpu/cpufreq/interactive/use_sched_load" /> <!-- use_sched_load --> + + <Config MajorValue="0x5" MinorValue="0x0" Target="msm8939" Supported="yes" /> <!-- above_hispeed_delay --> + <Config MajorValue="0x5" MinorValue="0x1" Target="msm8939" Supported="yes" /> <!-- boost --> + <Config MajorValue="0x5" MinorValue="0x3" Target="msm8939" Supported="yes" /> <!-- boostpulse_duration --> + <Config MajorValue="0x5" MinorValue="0x4" Target="msm8939" Supported="yes" /> <!-- go_hispeed_load --> + <Config MajorValue="0x5" MinorValue="0x5" Target="msm8939" Supported="yes" /> <!-- hispeed_freq --> + <Config MajorValue="0x5" MinorValue="0x6" Target="msm8939" Supported="yes" /> <!-- io_is_busy --> + <Config MajorValue="0x5" MinorValue="0x7" Target="msm8939" Supported="yes" /> <!-- min_sample_time --> + <Config MajorValue="0x5" MinorValue="0x8" Target="msm8939" Supported="yes" /> <!-- target_loads --> + <Config MajorValue="0x5" MinorValue="0x9" Target="msm8939" Supported="yes" /> <!-- timer_rate --> + <Config MajorValue="0x5" MinorValue="0xA" Target="msm8939" Supported="yes" /> <!-- timer_slack --> + <Config MajorValue="0x5" MinorValue="0xB" Target="msm8939" Supported="yes" /> <!-- max_freq_hysteresis --> + <Config MajorValue="0x5" MinorValue="0xC" Target="msm8939" Supported="yes" /> <!-- use_sched_load --> + <Config MajorValue="0x5" MinorValue="0xD" Target="msm8939" Supported="yes" /> <!-- use_migration_notif --> + <Config MajorValue="0x5" MinorValue="0xF" Supported="no" /> + <Config MajorValue="0x5" MinorValue="0x10" Supported="no" /> + <Config MajorValue="0x5" MinorValue="0x11" Supported="no" /> + + + <Config MajorValue="0x6" MinorValue="0x0" Target="msm8939" Node="/sys/class/devfreq/qcom,cpubw.64/min_freq" /> <!-- cpubw_min_freq --> + <Config MajorValue="0x6" MinorValue="0x0" Target="msm8916" Node="/sys/class/devfreq/qcom,cpubw.30/min_freq" /> <!-- cpubw_min_freq --> + <Config MajorValue="0x6" MinorValue="0x1" Target="msm8939" Node="/sys/class/devfreq/qcom,cpubw.64/bw_hwmon/decay_rate" /> <!-- cpubw_decay_rate --> + <Config MajorValue="0x6" MinorValue="0x1" Target="msm8916" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x2" Target="msm8939" Node="/sys/class/devfreq/qcom,cpubw.64/bw_hwmon/io_percent" /> <!-- cpubw_io_percent --> + <Config MajorValue="0x6" MinorValue="0x2" Target="msm8916" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x3" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x6" Target="msm8939" Node="/sys/class/devfreq/qcom,cpubw.64/max_freq" /> <!-- cpubw_max_freq --> + <Config MajorValue="0x6" MinorValue="0x6" Target="msm8916" Node="/sys/class/devfreq/qcom,cpubw.30/max_freq" /> <!-- cpubw_max_freq --> + <Config MajorValue="0x6" MinorValue="0x7" Target="msm8939" Node="/sys/class/devfreq/qcom,cpubw.64/polling_interval" /> <!-- cpubw_polling_interval --> + <Config MajorValue="0x6" MinorValue="0x7" Target="msm8916" Node="/sys/class/devfreq/qcom,cpubw.30/polling_interval" /> <!-- cpubw_polling_interval --> + <Config MajorValue="0x6" MinorValue="0x8" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x9" Supported="no" /> + + <Config MajorValue="0x9" MinorValue="0x7" Supported="yes" /> <!-- cpu.notify_on_migrate --> + + <Config MajorValue="0xA" MinorValue="0x5" Target="msm8939" Node="/sys/class/devfreq/qcom,gpubw.61/min_freq" /> <!-- gpubw_min_freq --> + <Config MajorValue="0xA" MinorValue="0x5" Target="msm8916" Supported="no" /> <!-- gpubw_min_freq --> + <Config MajorValue="0xA" MinorValue="0x6" Target="msm8939" Node="/sys/class/devfreq/qcom,gpubw.61/max_freq" /> <!-- gpubw_max_freq --> + <Config MajorValue="0xA" MinorValue="0x6" Target="msm8916" Supported="no" /> <!-- gpubw_max_freq --> + + <Config MajorValue="0xB" MinorValue="0x2" Supported="no" /> <!-- input_boost_freq --> + <Config MajorValue="0xB" MinorValue="0x3" Supported="no" /> <!-- vm_swap_ratio --> + + <!-- All the minors of LLCBW_HWMON MAJOR are not supported --> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" /> + + <Config MajorValue="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq --> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/msm8937/lm/AdaptLaunchFeature.xml b/perf/configs/msm8937/lm/AdaptLaunchFeature.xml new file mode 100644 index 0000000..925c96c --- /dev/null +++ b/perf/configs/msm8937/lm/AdaptLaunchFeature.xml @@ -0,0 +1,47 @@ +<!-- +/****************************************************************************** + @file AdaptLaunchFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AdaptLaunch</Name> + <Libname>libadaptlaunch.so</Libname> + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>VmRss</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>false</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + </Trigger> + </Triggers> + <Samples>120</Samples> + <Fields> + <Field>VmRss:</Field> + </Fields> + </Meter> + </Meters> + <IgnoredApps> + <App>com.king.candycrushsaga</App> + <App>com.tencent.tmgp.sgame</App> + </IgnoredApps> +</Feature> diff --git a/perf/configs/msm8937/msm_irqbalance.conf b/perf/configs/msm8937/msm_irqbalance.conf new file mode 100644 index 0000000..5afc484 --- /dev/null +++ b/perf/configs/msm8937/msm_irqbalance.conf @@ -0,0 +1,2 @@ +PRIO=0,0,0,0,1,1,1,1 +IGNORED_IRQ=20,39 diff --git a/perf/configs/msm8937/perf/perf-profile0.conf b/perf/configs/msm8937/perf/perf-profile0.conf new file mode 100755 index 0000000..0c358e1 --- /dev/null +++ b/perf/configs/msm8937/perf/perf-profile0.conf @@ -0,0 +1,2 @@ +[priority] # This profile is reserved for perflock requests +99 diff --git a/perf/configs/msm8937/perf/perf-profile1.conf b/perf/configs/msm8937/perf/perf-profile1.conf new file mode 100755 index 0000000..7bbbfec --- /dev/null +++ b/perf/configs/msm8937/perf/perf-profile1.conf @@ -0,0 +1,8 @@ +[files] # Write any value to any file (assumes not handled by locks section) +2 /sys/devices/system/cpu/cpu0/core_ctl/min_cpus +68 /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres +85 /proc/sys/kernel/sched_downmigrate +93 /proc/sys/kernel/sched_upmigrate + +[priority] # Gaming workload profile +125 diff --git a/perf/configs/msm8937/perf/perfboostsconfig.xml b/perf/configs/msm8937/perf/perfboostsconfig.xml new file mode 100644 index 0000000..2408f7e --- /dev/null +++ b/perf/configs/msm8937/perf/perfboostsconfig.xml @@ -0,0 +1,453 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2017 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- DISABLE_POWER_COLLAPSE resource opcode, value--> + <!-- CLUSTR_0_CPUS_ON resource opcode, value--> + <!-- GPU_MIN_PWRLVL resource opcode, value--> + <!-- SWAP_RATIO resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8937" + Resources="0x40C00000, 0x1, 0x40800000, 0x5DC, 0x40400000, 0x1, 0x41000000, 0x4, 0x42804000, 0x1, 0x42C0C000, 0x64" /> + + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8917" + Resources="0x40C00000, 0x1, 0x40800000, 0x5DC, 0x40400000, 0x1, 0x41000000, 0x4, 0x42804000, 0x1, 0x42C0C000, 0x64" /> + + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm439" + Resources="0x40C00000, 0x1, 0x40800000, 0x5DC, 0x40400000, 0x1, 0x41000000, 0x4, 0x42804000, 0x1, 0x42C0C000, 0x64" /> + + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm429" + Resources="0x40C00000, 0x1, 0x40800000, 0x5DC, 0x40400000, 0x1, 0x41000000, 0x4, 0x42804000, 0x1, 0x42C0C000, 0x64" /> + + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="qm215" + Resources="0x40C00000, 0x1, 0x40800000, 0x5DC, 0x40400000, 0x1, 0x41000000, 0x4, 0x42804000, 0x1, 0x42C0C000, 0x64" /> + <!--app lauch boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- DISABLE_POWER_COLLAPSE resource opcode, value--> + <!-- CLUSTR_0_CPUS_ON resource opcode, value--> + <!-- MAX_ONLINE_CPU_CLUSTER_BIG resource opcode, value --> + <!-- GPU_MIN_PWRLVL resource opcode, value--> + <!-- SWAP_RATIO resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm429w_law" + Resources="0x40C00000, 0x1, 0x40800000, 0x5DC, 0x40400000, 0x1, 0x41000000, 0x4, 0x41004000, 0x4, 0x42804000, 0x1, 0x42C0C000, 0x64" /> + + <!--app lauch boost (disabling packing)--> + <!-- SCHED_PREFER_IDLE resource opcode, value--> + <!-- SCHED_SMALL_TASK resource opcode, value--> + <!-- SCHED_IDLE_NR_RUN resource opcode, value--> + <!-- SCHED_IDLE_LOAD resource opcode, value--> + + <!-- Type="2", launch boost for disable packing 5sec --> + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="5000" Target="msm8937" Kernel="3.18" + Resources="0x40C04000, 0x1, 0x40C0C000, 0x1, 0x40C14000, 0x1, 0x40C10000, 0x1" /> + + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="5000" Target="msm8917" Kernel="3.18" + Resources="0x40C04000, 0x1, 0x40C0C000, 0x1, 0x40C14000, 0x1, 0x40C10000, 0x1" /> + + <!-- config_enableLaunchBoostv2--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- SCHED DOWNMIGRATE resource opcode, value --> + <!-- SCHED UPMIGRATE resource opcode, value --> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdm429" + Resources="0x40C00000, 0x1, 0x40C58000, 0x2D, 0x40C54000, 0x41, + 0x40408000, 0x63, 0x40C20000, 0x28, 0x40C1C000, 0x3C" /> + + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdm429w_law" + Resources="0x40C00000, 0x1, 0x40C58000, 0x2D, 0x40C54000, 0x41, + 0x40408000, 0x63, 0x40C20000, 0x28, 0x40C1C000, 0x3C" /> + + <!-- config_enableLaunchBoostv4--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_LITTLE resource opcode, value--> + <!-- SCHEDUTIL_HISPEED_LOAD_CLUSTER_BIG resource opcode, value--> + <!-- SCHEDUTIL_HISPEED_LOAD_CLUSTER_LITTLE resource opcode, value--> + <!-- SCHEDUTIL_HISPEED_FREQ_CLUSTER_BIG resource opcode, value--> + <!-- SCHEDUTIL_HISPEED_FREQ_CLUSTER_LITTLE resource opcode, value--> + <!-- SCHED DOWNMIGRATE resource opcode, value--> + <!-- SCHED UPMIGRATE resource opcode, value--> + <!-- L2_MEMLAT_RATIO_CEIL_0 resource opcode, value--> + <!-- L2_MEMLAT_RATIO_CEIL_1 resource opcode, value--> + <!-- LPM_LEVELS_REF_STDDEV resource opcode, value--> + <!-- LPM_LEVELS_TMR_ADD resource opcode, value--> + + <!-- Type="4", Adaptive Launch boost --> + <Config + Id="0x00001081" Type="4" Enable="true" Timeout="2000" Target="sdm439" + Resources="0x41000100, 0x4, 0x41000000, 0x4, + 0x41440000, 0x28, 0x41440100, 0x28, + 0x4143C000, 0xFFF, 0x4143C100, 0xFFF, + 0x40C20000, 0x28, 0x40C1C000, 0x32, + 0x43404000, 0x2710, 0x43408000, 0x2710, + 0x4040C000, 0x1F4, 0x40410000, 0x3E8" /> + + <Config + Id="0x00001081" Type="4" Enable="true" Timeout="2000" Target="sdm429" + Resources="0x41000100, 0x4, 0x41000000, 0x4, + 0x41440000, 0x28, 0x41440100, 0x28, + 0x4143C000, 0xFFF, 0x4143C100, 0xFFF, + 0x40C20000, 0x28, 0x40C1C000, 0x32, + 0x43404000, 0x2710, 0x43408000, 0x2710, + 0x4040C000, 0x1F4, 0x40410000, 0x3E8" /> + + <!-- config_enableLaunchBoostv4--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_LITTLE resource opcode, value--> + <!-- MAX_ONLINE_CPU_CLUSTER_BIG resource opcode, value --> + <!-- SCHEDUTIL_HISPEED_LOAD_CLUSTER_BIG resource opcode, value--> + <!-- SCHEDUTIL_HISPEED_LOAD_CLUSTER_LITTLE resource opcode, value--> + <!-- SCHEDUTIL_HISPEED_FREQ_CLUSTER_BIG resource opcode, value--> + <!-- SCHEDUTIL_HISPEED_FREQ_CLUSTER_LITTLE resource opcode, value--> + <!-- SCHED DOWNMIGRATE resource opcode, value--> + <!-- SCHED UPMIGRATE resource opcode, value--> + <!-- L2_MEMLAT_RATIO_CEIL_0 resource opcode, value--> + <!-- L2_MEMLAT_RATIO_CEIL_1 resource opcode, value--> + <!-- LPM_LEVELS_REF_STDDEV resource opcode, value--> + <!-- LPM_LEVELS_TMR_ADD resource opcode, value--> + + <!-- Type="4", Adaptive Launch boost --> + <Config + Id="0x00001081" Type="4" Enable="true" Timeout="2000" Target="sdm429w_law" + Resources="0x41000100, 0x4, 0x41000000, 0x4, 0x41004000, 0x4, + 0x41440000, 0x28, 0x41440100, 0x28, + 0x4143C000, 0xFFF, 0x4143C100, 0xFFF, + 0x40C20000, 0x28, 0x40C1C000, 0x32, + 0x43404000, 0x2710, 0x43408000, 0x2710, + 0x4040C000, 0x1F4, 0x40410000, 0x3E8" /> + + <!-- config_enablePerfBoostForAnimation--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- GPU_MIN_PWRLVL resource opcode, value--> + + <!-- Type="1", Animation boost of 0.6sec --> + <Config + Id="0x00001083" Enable="true" Timeout="600" Target="msm8937" + Resources="0x40C00000, 0x1, 0x40800000, 0x44C, 0x42804000, 0x1" /> + + <Config + Id="0x00001083" Enable="true" Timeout="600" Target="msm8917" + Resources="0x40C00000, 0x1, 0x40800000, 0x44C, 0x42804000, 0x1" /> + + <Config + Id="0x00001083" Enable="true" Timeout="600" Target="sdm439" + Resources="0x40C00000, 0x1, 0x40800000, 0x44C, 0x42804000, 0x1" /> + + <Config + Id="0x00001083" Enable="true" Timeout="600" Target="sdm429" + Resources="0x40C00000, 0x1, 0x40800000, 0x44C, 0x42804000, 0x1" /> + + <Config + Id="0x00001083" Enable="true" Timeout="600" Target="sdm429w_law" + Resources="0x40C00000, 0x1, 0x40800000, 0x44C, 0x42804000, 0x1" /> + + <Config + Id="0x00001083" Enable="true" Timeout="600" Target="qm215" + Resources="0x40C00000, 0x1, 0x40800000, 0x44C, 0x42804000, 0x1" /> + + <!--Vertical Scroll boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- SCHED_PREFER_IDLE resource opcode, value--> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="msm8937" Kernel="3.18" + Resources="0x40C00000, 0x1, 0x40800000, 0x514, 0x40C04000, 0x1" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="msm8917" Kernel="3.18" + Resources="0x40C00000, 0x1, 0x40800000, 0x514, 0x40C04000, 0x1" /> + + + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="msm8937" Kernel="4.9" + Resources="0x40C00000, 0x1, 0x40800000, 0x514" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="msm8917" Kernel="4.9" + Resources="0x40C00000, 0x1, 0x40800000, 0x514" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="sdm439" + Resources="0x40C00000, 0x1, 0x40800000, 0x514" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="sdm429" + Resources="0x40C00000, 0x1, 0x40800000, 0x514" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="qm215" + Resources="0x40C00000, 0x1, 0x40800000, 0x514" /> + + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG, value --> + <!-- MAX_ONLINE_CPU_CLUSTER_BIG, value --> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="sdm429w_law" + Resources="0x40C00000, 0x1, 0x40800000, 0x514, 0x41000000, 0x4, 0x41004000, 0x4" /> + + <!--Horizontal Scroll boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- SCHED_PREFER_IDLE resource opcode, value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="msm8937" Kernel="3.18" + Resources="0x40C00000, 0x1, 0x40800000, 0x514, 0x40C04000, 0x1" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="msm8917" Kernel="3.18" + Resources="0x40C00000, 0x1, 0x40800000, 0x514, 0x40C04000, 0x1" /> + + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + + <!-- Type="2", Horizontal Scroll boost --> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="msm8937" Kernel="4.9" + Resources="0x40C00000, 0x1, 0x40800000, 0x514" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="msm8917" Kernel="4.9" + Resources="0x40C00000, 0x1, 0x40800000, 0x514" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="sdm439" + Resources="0x40C00000, 0x1, 0x40800000, 0x514" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="sdm429" + Resources="0x40C00000, 0x1, 0x40800000, 0x514" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="qm215" + Resources="0x40C00000, 0x1, 0x40800000, 0x514" /> + + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG, value --> + <!-- MAX_ONLINE_CPU_CLUSTER_BIG, value --> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="sdm429w_law" + Resources="0x40C00000, 0x1, 0x40800000, 0x514, 0x41000000, 0x4, 0x41004000, 0x4" /> + + <!--Pre-Fling boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- GPU MIN_FREQUENCY resource opcode,value--> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="qm215" Resolution="HD+" + Resources="0x40C00000, 0x1, 0x40800000, 0x514, 0x4280C000, 596" /> + + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm429" + Resources="0x40C00000, 0x1, 0x40800000, 0x514" /> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm429w_law" + Resources="0x40C00000, 0x1, 0x40800000, 0x514" /> + + <!--Drag boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- GPU MIN_FREQUENCY resource opcode,value--> + + <!-- Type="1", Drag boost --> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="qm215" Resolution="HD+" + Resources="0x40C00000, 0x1, 0x40800000, 0x514, 0x4280C000, 596" /> + + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="sdm429" + Resources="0x40C00000, 0x1, 0x40800000, 0x514" /> + + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="sdm429w_law" + Resources="0x40C00000, 0x1, 0x40800000, 0x514" /> + + <!--Rotation latency boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="msm8937" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF, + 0x40800100, 0xFFF" /> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="sdm439" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF, + 0x40800100, 0xFFF" /> + + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="msm8917" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40800000, 0xFFF" /> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="sdm429" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40800000, 0xFFF" /> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="sdm429w_law" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40800000, 0xFFF" /> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="qm215" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40800000, 0xFFF" /> + + <!--Rotation animation boost--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- GPU MIN_FREQUENCY resource opcode,value--> + <!-- Type="", Rotation animation boost --> + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="msm8937" + Resources="0x40800100, 1000, 0x4280C000, 596" /> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="msm8917" + Resources="0x40800000, 1000, 0x4280C000, 596" /> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="sdm439" + Resources="0x40800100, 1000, 0x4280C000, 596" /> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="sdm429" + Resources="0x40800000, 1000, 0x4280C000, 596" /> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="sdm429w_law" + Resources="0x40800000, 1000, 0x4280C000, 596" /> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="qm215" + Resources="0x40800000, 1000, 0x4280C000, 596" /> + + <!--Display on Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="msm8937" + Resources="0x40000000, 1" /> + + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="msm8917" + Resources="0x40000000, 1" /> + + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="sdm439" + Resources="0x40000000, 1" /> + + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="sdm429" + Resources="0x40000000, 1" /> + + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="sdm429w_law" + Resources="0x40000000, 1" /> + + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="qm215" + Resources="0x40000000, 1" /> + + <!--Display off Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="msm8937" + Resources="0x40000000, 0x0" /> + + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="msm8917" + Resources="0x40000000, 0x0" /> + + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="sdm439" + Resources="0x40000000, 0x0" /> + + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="sdm429" + Resources="0x40000000, 0x0" /> + + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="sdm429w_law" + Resources="0x40000000, 0x0" /> + + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="qm215" + Resources="0x40000000, 0x0" /> + + <!--display power on--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- DISABLE_POWER_COLLAPSE resource opcode, value--> + <!-- CLUSTR_0_CPUS_ON resource opcode, value--> + <!-- MAX_ONLINE_CPU_CLUSTER_BIG resource opcode, value --> + <!-- GPU_MIN_PWRLVL resource opcode, value--> + <!-- SWAP_RATIO resource opcode, value--> + + <!-- Type="-1", Display power on boost of 0.5s --> + <Config + Id="0x00001041" Type="-1" Enable="true" Timeout="500" Target="sdm429w_law" + Resources="0x40C00000, 0x1, 0x40800000, 0x5DC, 0x40400000, 0x1, + 0x41000000, 0x4, 0x41004000, 0x4, 0x42804000, 0x1, 0x42C0C000, 0x64" /> + + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/msm8937/perf/perfconfigstore.xml b/perf/configs/msm8937/perf/perfconfigstore.xml new file mode 100644 index 0000000..2ec8425 --- /dev/null +++ b/perf/configs/msm8937/perf/perfconfigstore.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is PerfConfigsStore file which returns the value when a +particular property name is invoked --> + +<!-- This file supports only Prop tag, which has the following fields +* Name, to identify the name of the property. The names of the +properties have been classified into Vendor and System property. +* Value, the new value to be returned as string when respective +property Name is called. --> + +<PerfConfigsStore> + <PerfConfigs> + + <!--System Properties --> + <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="5000" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="5" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="2147483648" /> + <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" /> + <Prop Name="ro.vendor.at_library" Value="libqti-at.so" /> + <Prop Name="vendor.debug.enable.lm" Value="true" /> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" /> + <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" /> + + <!--Vendor Properties --> + <Prop Name="vendor.iop.enabled" Value="false" /> + <Prop Name="vendor.iop.enable_uxe" Value="0" /> + <Prop Name="vendor.perf.iop_v3.enable" Value="0" /> + <Prop Name="vendor.perf.iop_v3.enable.debug" Value="0" /> + <Prop Name="vendor.enable.prefetch" Value="0" /> + <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" /> + + <!--Mention all the target/kernel specific properties at the end of xml file + All the default valuea are kept above--> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" Variant="msm8937_32go" /> + <Prop Name="ro.lmk.use_new_strategy_dup" Value="true" Variant="msm8937_32go" /> + <Prop Name="vendor.appcompact.enable_app_compact" Value="true" Variant="msm8937_32go" /> + <Prop Name="vendor.appcompact.some_compact_type" Value="1" Variant="msm8937_32go"/> + <Prop Name="vendor.appcompact.full_compact_type" Value="3" Variant="msm8937_32go"/> + + <!--add the default valuea for sdm429w_law--> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" Variant="sdm429w_law" /> + <Prop Name="ro.lmk.use_new_strategy_dup" Value="true" Variant="sdm429w_law" /> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="8" Variant="sdm429w_law"/> + <Prop Name="vendor.appcompact.enable_app_compact" Value="true" Variant="sdm429w_law" /> + <Prop Name="vendor.appcompact.some_compact_type" Value="1" Variant="sdm429w_law"/> + <Prop Name="vendor.appcompact.full_compact_type" Value="3" Variant="sdm429w_law"/> + + <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" Kernel="4.19" /> + <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="true" Kernel="4.19" /> + <Prop Name="ro.lmk.enhance_batch_kill" Value="false" Kernel="4.19" /> + <Prop Name="ro.lmk.enable_watermark_check" Value="true" Kernel="4.19" /> + <Prop Name="ro.lmk.use_new_strategy_dup" Value="true" Kernel="4.19" /> + <Prop Name="ro.lmk.super_critical" Value="606" Kernel="4.19" /> + <Prop Name="ro.lmk.direct_reclaim_pressure" Value="45" Kernel="4.19" /> + + </PerfConfigs> +</PerfConfigsStore> diff --git a/perf/configs/msm8937/perf/targetconfig.xml b/perf/configs/msm8937/perf/targetconfig.xml new file mode 100644 index 0000000..c9843be --- /dev/null +++ b/perf/configs/msm8937/perf/targetconfig.xml @@ -0,0 +1,135 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="msm8937" + NumClusters="2" + TotalNumCores="8" + SocIds="294,295,313" + SynCore="1" + CoreCtlCpu="0" + MinCoreOnline="0" /> + + <ClustersInfo Id="0" NumCores="4" Type="big" /> + <ClustersInfo Id="1" NumCores="4" Type="little" /> + + </Config1> + + <Config2> + <TargetInfo + Target="msm8917" + NumClusters="1" + TotalNumCores="4" + SocIds="303,307,308,309,320" + SynCore="1" + MinCoreOnline="1" + GovInstanceType="1" /> + + <ClustersInfo Id="0" NumCores="4" Type="big" /> + + </Config2> + + <Config3> + <TargetInfo + Target="sdm439" + NumClusters="2" + TotalNumCores="8" + SocIds="353,363" + SynCore="1" + CoreCtlCpu="0" + MinCoreOnline="0" + CpufreqGov="1" /> + + <ClustersInfo Id="0" NumCores="4" Type="big" /> + <ClustersInfo Id="1" NumCores="4" Type="little" /> + + </Config3> + + <Config4> + <TargetInfo + Target="sdm429" + NumClusters="1" + TotalNumCores="4" + SocIds="354,364,437" + SynCore="1" + MinCoreOnline="0" + CpufreqGov="1" + GovInstanceType="1" /> + + <ClustersInfo Id="0" NumCores="4" Type="big" /> + + </Config4> + + <Config5> + <TargetInfo + Target="qm215" + NumClusters="1" + TotalNumCores="4" + SocIds="386,436" + SynCore="1" + MinCoreOnline="0" + CpufreqGov="1" + GovInstanceType="1" /> + + <ClustersInfo Id="0" NumCores="4" Type="big" /> + + </Config5> + + <Config6> + <TargetInfo + Target="sdm429w_law" + NumClusters="1" + TotalNumCores="4" + SocIds="416" + SynCore="1" + CoreCtlCpu="0" + MinCoreOnline="0" + CpufreqGov="1" + GovInstanceType="1" /> + + <ClustersInfo Id="0" NumCores="4" Type="big" /> + + </Config6> + +</TargetConfig> diff --git a/perf/configs/msm8937/perf/targetresourceconfigs.xml b/perf/configs/msm8937/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..711edd2 --- /dev/null +++ b/perf/configs/msm8937/perf/targetresourceconfigs.xml @@ -0,0 +1,133 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to mention the resources which are not supported. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing one +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. --> + +<!-- NOTE - It is not Mandatory to write all the resources which are not supported +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x1" Target="msm8937" Supported="yes" /> <!-- l2_pc_idle_enabled --> + <Config MajorValue="0x1" MinorValue="0x1" Target="msm8917" Node="/sys/module/lpm_levels/perf/perf-l2-pc/idle_enabled" /> <!-- l2_pc_idle_enabled --> + <Config MajorValue="0x1" MinorValue="0x1" Target="qm215" Node="/sys/module/lpm_levels/perf/perf-l2-pc/idle_enabled" /> <!-- l2_pc_idle_enabled --> + <Config MajorValue="0x1" MinorValue="0x2" Supported="no" /> <!-- lpm_bias_hyst --> + <Config MajorValue="0x1" MinorValue="0x3" Supported="no" /> <!-- lpm_ref_stddev --> + <Config MajorValue="0x1" MinorValue="0x4" Supported="no" /> <!-- lpm_tmr_add --> + + <Config MajorValue="0x3" MinorValue="0x1" Node="/sys/devices/system/cpu/cpu0/sched_prefer_idle" /> <!-- sched_prefer_idle --> + <Config MajorValue="0x3" MinorValue="0x2" Supported="no" /> <!-- sched_migration_cost_ns --> + <Config MajorValue="0x3" MinorValue="0x4" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_load" /> <!-- sched_mostly_idle_load --> + <Config MajorValue="0x3" MinorValue="0x5" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run" /> <!-- sched_mostly_idle_nr_run --> + <Config MajorValue="0x3" MinorValue="0x9" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_freq" /> <!-- sched_mostly_idle_freq --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0xF" Supported="no" /> <!-- top-app_cpus --> + <Config MajorValue="0x3" MinorValue="0x10" Supported="no" /> <!-- foreground_cpus --> + <Config MajorValue="0x3" MinorValue="0x11" Supported="no" /> <!-- system_background_cpus --> + <Config MajorValue="0x3" MinorValue="0x12" Supported="no" /> <!-- background_cpus --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_freq_aggregate --> + <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x15" Supported="no" /> <!-- sched_group_upmigrate --> + <Config MajorValue="0x3" MinorValue="0x15" Target="sdm439" Supported="yes" /> <!-- sched_group_upmigrate --> + <Config MajorValue="0x3" MinorValue="0x15" Target="sdm429" Supported="yes" /> <!-- sched_group_upmigrate --> + <Config MajorValue="0x3" MinorValue="0x16" Supported="no" /> <!-- sched_group_downmigrate --> + <Config MajorValue="0x3" MinorValue="0x16" Target="sdm439" Supported="yes" /> <!-- sched_group_downmigrate --> + <Config MajorValue="0x3" MinorValue="0x16" Target="sdm429" Supported="yes" /> <!-- sched_group_downmigrate --> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggregate_threshold --> + <Config MajorValue="0x3" MinorValue="0x18" Supported="no" /> <!-- schedtune.prefer_idle --> + + + <Config MajorValue="0x4" MinorValue="0x0" Target="msm8937" Supported="yes" /> <!-- min_cpus --> + <Config MajorValue="0x4" MinorValue="0x1" Target="msm8937" Supported="yes" /> <!-- max_cpus --> + + <!-- For INTERACTIVE major, all the interactive minors are not supported + by default as the recent target moved to schedutil. So, for older targets + where interactive minors are supported they need to be enabled and schedutil + minors are disabled. --> + <Config MajorValue="0x5" MinorValue="0x0" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- above_hispeed_delay --> + <Config MajorValue="0x5" MinorValue="0x1" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- boost --> + <Config MajorValue="0x5" MinorValue="0x3" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- boostpulse_duration --> + <Config MajorValue="0x5" MinorValue="0x4" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- go_hispeed_load --> + <Config MajorValue="0x5" MinorValue="0x5" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- hispeed_freq --> + <Config MajorValue="0x5" MinorValue="0x6" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- io_is_busy --> + <Config MajorValue="0x5" MinorValue="0x7" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- min_sample_time --> + <Config MajorValue="0x5" MinorValue="0x8" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- target_loads --> + <Config MajorValue="0x5" MinorValue="0x9" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- timer_rate --> + <Config MajorValue="0x5" MinorValue="0xA" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- timer_slack --> + <Config MajorValue="0x5" MinorValue="0xB" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- max_freq_hysteresis --> + <Config MajorValue="0x5" MinorValue="0xC" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- use_sched_load --> + <Config MajorValue="0x5" MinorValue="0xD" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- use_migration_notif --> + <Config MajorValue="0x5" MinorValue="0xE" Target="msm8937" Kernel="3.18" Supported="yes" /> <!-- ignore_hispeed_on_notif --> + + <Config MajorValue="0x5" MinorValue="0x0" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay" /> <!-- above_hispeed_delay --> + <Config MajorValue="0x5" MinorValue="0x1" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/boost" /> <!-- boost --> + <Config MajorValue="0x5" MinorValue="0x3" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration" /> <!-- boostpulse_duration --> + <Config MajorValue="0x5" MinorValue="0x4" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load" /> <!-- go_hispeed_load --> + <Config MajorValue="0x5" MinorValue="0x5" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/hispeed_freq" /> <!-- hispeed_freq --> + <Config MajorValue="0x5" MinorValue="0x6" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/io_is_busy" /> <!-- io_is_busy --> + <Config MajorValue="0x5" MinorValue="0x7" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/min_sample_time" /> <!-- min_sample_time --> + <Config MajorValue="0x5" MinorValue="0x8" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/target_loads" /> <!-- target_loads --> + <Config MajorValue="0x5" MinorValue="0x9" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/timer_rate" /> <!-- timer_rate --> + <Config MajorValue="0x5" MinorValue="0xA" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/timer_slack" /> <!-- timer_slack --> + <Config MajorValue="0x5" MinorValue="0xB" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/max_freq_hysteresis" /> <!-- max_freq_hysteresis --> + <Config MajorValue="0x5" MinorValue="0xC" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/use_sched_load" /> <!-- use_sched_load --> + <Config MajorValue="0x5" MinorValue="0xD" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/use_migration_notif" /> <!-- use_migration_notif --> + <Config MajorValue="0x5" MinorValue="0xE" Target="msm8917" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/ignore_hispeed_on_notif " /> <!-- ignore_hispeed_on_notif --> + + <Config MajorValue="0x5" MinorValue="0xF" Target="sdm439" Supported="yes" /> <!-- schedutil.hispeed_freq --> + <Config MajorValue="0x5" MinorValue="0xF" Target="sdm429" Supported="yes" /> <!-- schedutil.hispeed_freq --> + <Config MajorValue="0x5" MinorValue="0xF" Target="qm215" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/hispeed_freq" /> <!-- schedutil.hispeed_freq --> + <Config MajorValue="0x5" MinorValue="0xF" Target="msm8917" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/hispeed_freq" /> <!-- schedutil.hispeed_freq --> + + <Config MajorValue="0x5" MinorValue="0x10" Target="sdm439" Supported="yes" /> <!-- schedutil.hispeed_load --> + <Config MajorValue="0x5" MinorValue="0x10" Target="sdm429" Supported="yes" /> <!-- schedutil.hispeed_load --> + <Config MajorValue="0x5" MinorValue="0x10" Target="qm215" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/hispeed_load" /> <!-- schedutil.hispeed_load --> + <Config MajorValue="0x5" MinorValue="0x10" Target="msm8917" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/hispeed_load" /> <!-- schedutil.hispeed_load --> + + <Config MajorValue="0x5" MinorValue="0x11" Target="sdm439" Supported="yes" /> <!-- schedutil.predictive_load --> + <Config MajorValue="0x5" MinorValue="0x11" Target="sdm429" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/pl" /> <!-- schedutil.predictive_load --> + <Config MajorValue="0x5" MinorValue="0x11" Target="qm215" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/pl" /> <!-- schedutil.predictive_load --> + <Config MajorValue="0x5" MinorValue="0x11" Target="msm8917" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/pl" /> <!-- schedutil.predictive_load --> + + <!-- cpubw hwmon major start --> + <Config MajorValue="0x6" MinorValue="0x0" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/min_freq" /> + <Config MajorValue="0x6" MinorValue="0x1" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/decay_rate" /> + <Config MajorValue="0x6" MinorValue="0x2" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/io_percent" /> + <Config MajorValue="0x6" MinorValue="0x4" Kernel="4.19" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0x6" MinorValue="0x5" Kernel="4.19" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent --> + <Config MajorValue="0x6" MinorValue="0x6" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/max_freq" /> + <Config MajorValue="0x6" MinorValue="0x7" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/polling_interval" /> + <Config MajorValue="0x6" MinorValue="0x8" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/sample_ms" /> + <Config MajorValue="0x6" MinorValue="0x9" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/idle_mbps" /> + + <Config MajorValue="0x9" MinorValue="0x7" Supported="yes" /> <!-- cpu.notify_on_migrate --> + + <Config MajorValue="0xB" MinorValue="0x2" Supported="no" /> <!-- input_boost_freq --> + + <!-- All the minors of LLCBW_HWMON MAJOR are not supported --> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" /> + + <Config MajorValue="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq --> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/msm8952/msm_irqbalance.conf b/perf/configs/msm8952/msm_irqbalance.conf new file mode 100644 index 0000000..5afc484 --- /dev/null +++ b/perf/configs/msm8952/msm_irqbalance.conf @@ -0,0 +1,2 @@ +PRIO=0,0,0,0,1,1,1,1 +IGNORED_IRQ=20,39 diff --git a/perf/configs/msm8952/perf/perfboostsconfig.xml b/perf/configs/msm8952/perf/perfboostsconfig.xml new file mode 100644 index 0000000..62e0da6 --- /dev/null +++ b/perf/configs/msm8952/perf/perfboostsconfig.xml @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2017 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + <!--app lauch boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- DISABLE_POWER_COLLAPSE resource opcode, value--> + <!-- CLUSTR_0_CPUS_ON resource opcode, value--> + <!-- GPU_MIN_PWRLVL resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8952" + Resources="0x40C00000, 0x1, 0x40800000, 0x708, 0x40400000, 0x1, 0x41000000, 0x4, 0x42804000, 0x1" /> + + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8956" + Resources="0x40C00000, 0x1, 0x40800000, 0x708, 0x40400000, 0x1, 0x41000000, 0x4, 0x42804000, 0x1" /> + + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8976" + Resources="0x40C00000, 0x1, 0x40800000, 0x708, 0x40400000, 0x1, 0x41000000, 0x4, 0x42804000, 0x1" /> + + <!--app lauch boost (disabling packing)--> + <!-- SCHED_PREFER_IDLE resource opcode, value--> + <!-- SCHED_SMALL_TASK resource opcode, value--> + <!-- SCHED_IDLE_NR_RUN resource opcode, value--> + <!-- SCHED_IDLE_LOAD resource opcode, value--> + + <!-- Type="2", launch boost for disable packing 5sec --> + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="5000" Target="msm8952" + Resources="0x40C04000, 0x1, 0x40C0C000, 0x1, 0x40C14000, 0x1, 0x40C10000, 0x1" /> + + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="5000" Target="msm8956" + Resources="0x40C04000, 0x1, 0x40C0C000, 0x1, 0x40C14000, 0x1, 0x40C10000, 0x1" /> + + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="5000" Target="msm8976" + Resources="0x40C04000, 0x1, 0x40C0C000, 0x1, 0x40C14000, 0x1, 0x40C10000, 0x1" /> + + <!-- config_enablePerfBoostForAnimation--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- GPU_MIN_PWRLVL resource opcode, value--> + + <!-- Type="1", Animation boost of 0.6sec --> + <Config + Id="0x00001083" Enable="true" Timeout="600" Target="msm8952" + Resources="0x40C00000, 0x1, 0x40800000, 0x44C, 0x42804000, 0x1" /> + + <Config + Id="0x00001083" Enable="true" Timeout="600" Target="msm8956" + Resources="0x40C00000, 0x1, 0x40800000, 0x44C, 0x42804000, 0x1" /> + + <Config + Id="0x00001083" Enable="true" Timeout="600" Target="msm8976" + Resources="0x40C00000, 0x1, 0x40800000, 0x44C, 0x42804000, 0x1" /> + + <!--Vertical Scroll boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- SCHED_PREFER_IDLE resource opcode, value--> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="msm8952" + Resources="0x40C00000, 0x1, 0x40800000, 0x708, 0x40C04000, 0x1" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="msm8956" + Resources="0x40C00000, 0x1, 0x40800000, 0x708, 0x40C04000, 0x1" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="msm8976" + Resources="0x40C00000, 0x1, 0x40800000, 0x708, 0x40C04000, 0x1" /> + + <!--Horizontal Scroll boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- SCHED_PREFER_IDLE resource opcode, value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="msm8952" + Resources="0x40C00000, 0x1, 0x40800000, 0x708, 0x40C04000, 0x1" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="msm8956" + Resources="0x40C00000, 0x1, 0x40800000, 0x708, 0x40C04000, 0x1" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="msm8976" + Resources="0x40C00000, 0x1, 0x40800000, 0x708, 0x40C04000, 0x1" /> + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/msm8952/perf/targetconfig.xml b/perf/configs/msm8952/perf/targetconfig.xml new file mode 100644 index 0000000..671caa9 --- /dev/null +++ b/perf/configs/msm8952/perf/targetconfig.xml @@ -0,0 +1,89 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="msm8952" + NumClusters="2" + TotalNumCores="8" + SocIds="264,289" + SynCore="1" + CoreCtlCpu="0" + MinCoreOnline="0" /> + + <ClustersInfo Id="0" NumCores="4" Type="big" /> + <ClustersInfo Id="1" NumCores="4" Type="little" /> + + </Config1> + + <Config2> + <TargetInfo + Target="msm8956" + NumClusters="2" + TotalNumCores="6" + SocIds="266,274" + SynCore="1" + CoreCtlCpu="4" + MinCoreOnline="0" /> + + <ClustersInfo Id="0" NumCores="4" Type="little" /> + <ClustersInfo Id="1" NumCores="2" Type="big" /> + + </Config2> + + <Config3> + <TargetInfo + Target="msm8976" + NumClusters="2" + TotalNumCores="8" + SocIds="277,278" + SynCore="1" + CoreCtlCpu="4" + MinCoreOnline="0" /> + + <ClustersInfo Id="0" NumCores="4" Type="little" /> + <ClustersInfo Id="1" NumCores="4" Type="big" /> + + </Config3> + +</TargetConfig> diff --git a/perf/configs/msm8952/perf/targetresourceconfigs.xml b/perf/configs/msm8952/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..c7b6fbc --- /dev/null +++ b/perf/configs/msm8952/perf/targetresourceconfigs.xml @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to mention the resources which are not supported. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing one +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. --> + +<!-- NOTE - It is not Mandatory to write all the resources which are not supported +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x1" Target="msm8976" Node="/sys/module/lpm_levels/system/a72/a72-l2-pc/idle_enabled" /> <!-- pc_idle_enabled --> + <Config MajorValue="0x1" MinorValue="0x1" Target="msm8956" Node="/sys/module/lpm_levels/system/a72/a72-l2-pc/idle_enabled" /> <!-- pc_idle_enabled --> + <Config MajorValue="0x1" MinorValue="0x1" Target="msm8952" Supported="yes" /> <!-- pc_idle_enabled --> + <Config MajorValue="0x1" MinorValue="0x2" Supported="no" /> <!-- lpm_bias_hyst --> + + <Config MajorValue="0x3" MinorValue="0x1" Node="/sys/devices/system/cpu/cpu0/sched_prefer_idle" /> <!-- sched_prefer_idle --> + <Config MajorValue="0x3" MinorValue="0x2" Supported="no" /> <!-- sched_migration_cost_ns --> + <Config MajorValue="0x3" MinorValue="0x4" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_load" /> <!-- sched_mostly_idle_load" --> + <Config MajorValue="0x3" MinorValue="0x5" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run" /> <!-- sched_mostly_idle_nr_run --> + <Config MajorValue="0x3" MinorValue="0x9" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_freq" /> <!-- sched_mostly_idle_freq --> + <Config MajorValue="0x3" MinorValue="0xC" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0xF" Supported="no" /> <!-- top-app_cpus --> + <Config MajorValue="0x3" MinorValue="0x10" Supported="no" /> <!-- foreground_cpus --> + <Config MajorValue="0x3" MinorValue="0x11" Supported="no" /> <!-- system_background_cpus --> + <Config MajorValue="0x3" MinorValue="0x12" Supported="no" /> <!-- background_cpus --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_freq_aggregate --> + <Config MajorValue="0x3" MinorValue="0x15" Node="/proc/sys/kernel/sched_grp_upmigrate" /> <!-- sched_group_upmigrate --> + <Config MajorValue="0x3" MinorValue="0x16" Node="/proc/sys/kernel/sched_grp_downmigrate" /> <!-- sched_group_downmigrate --> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggregate_threshold --> + <Config MajorValue="0x3" MinorValue="0x18" Supported="no" /> <!-- schedtune.prefer_idle --> + + + <Config MajorValue="0x4" MinorValue="0x0" Supported="yes" /> <!-- min_cpus --> + <Config MajorValue="0x4" MinorValue="0x1" Supported="yes" /> <!-- max_cpus --> + + + <!-- For INTERACTIVE major, all the interactive minors are not supported + by default as the recent target moved to schedutil. So, for older targets + where interactive minors are supported they need to be enabled and schedutil + minors are disabled. --> + <Config MajorValue="0x5" MinorValue="0x0" Supported="yes" /> <!-- above_hispeed_delay --> + <Config MajorValue="0x5" MinorValue="0x1" Supported="yes" /> <!-- boost --> + <Config MajorValue="0x5" MinorValue="0x3" Supported="yes" /> <!-- boostpulse_duration --> + <Config MajorValue="0x5" MinorValue="0x4" Supported="yes" /> <!-- go_hispeed_load --> + <Config MajorValue="0x5" MinorValue="0x5" Supported="yes" /> <!-- hispeed_freq --> + <Config MajorValue="0x5" MinorValue="0x6" Supported="yes" /> <!-- io_is_busy --> + <Config MajorValue="0x5" MinorValue="0x7" Supported="yes" /> <!-- min_sample_time --> + <Config MajorValue="0x5" MinorValue="0x8" Supported="yes" /> <!-- target_loads --> + <Config MajorValue="0x5" MinorValue="0x9" Supported="yes" /> <!-- timer_rate --> + <Config MajorValue="0x5" MinorValue="0xA" Supported="yes" /> <!-- timer_slack --> + <Config MajorValue="0x5" MinorValue="0xB" Supported="yes" /> <!-- max_freq_hysteresis --> + <Config MajorValue="0x5" MinorValue="0xC" Supported="yes" /> <!-- use_sched_load --> + <Config MajorValue="0x5" MinorValue="0xD" Supported="yes" /> <!-- use_migration_notif --> + <Config MajorValue="0x5" MinorValue="0xF" Supported="no" /> + <Config MajorValue="0x5" MinorValue="0x10" Supported="no" /> + <Config MajorValue="0x5" MinorValue="0x11" Supported="no" /> + + + + <Config MajorValue="0x6" MinorValue="0x0" Target="msm8976" Node="/sys/class/devfreq/qcom,cpubw.49/min_freq" /> <!-- soc:qcom,cpubw/min_freq --> + <Config MajorValue="0x6" MinorValue="0x0" Target="msm8956" Node="/sys/class/devfreq/qcom,cpubw.49/min_freq" /> <!-- soc:qcom,cpubw/min_freq --> + <Config MajorValue="0x6" MinorValue="0x0" Target="msm8952" Node="/sys/class/devfreq/qcom,cpubw.51/min_freq" /> <!-- soc:qcom,cpubw/min_freq --> + <Config MajorValue="0x6" MinorValue="0x1" Target="msm8976" Node="/sys/class/devfreq/qcom,cpubw.49/bw_hwmon/decay_rate" /> <!-- soc:qcom,cpubw/bw_hwmon/decay_rate --> + <Config MajorValue="0x6" MinorValue="0x1" Target="msm8956" Node="/sys/class/devfreq/qcom,cpubw.49/bw_hwmon/decay_rate" /> <!-- soc:qcom,cpubw/bw_hwmon/decay_rate --> + <Config MajorValue="0x6" MinorValue="0x1" Target="msm8952" Node="/sys/class/devfreq/qcom,cpubw.51/bw_hwmon/decay_rate" /> <!-- soc:qcom,cpubw/bw_hwmon/decay_rate --> + <Config MajorValue="0x6" MinorValue="0x2" Target="msm8976" Node="/sys/class/devfreq/qcom,cpubw.49/bw_hwmon/io_percent" /> <!-- soc:qcom,cpubw/bw_hwmon/io_percent --> + <Config MajorValue="0x6" MinorValue="0x2" Target="msm8956" Node="/sys/class/devfreq/qcom,cpubw.49/bw_hwmon/io_percent" /> <!-- soc:qcom,cpubw/bw_hwmon/io_percent --> + <Config MajorValue="0x6" MinorValue="0x2" Target="msm8952" Node="/sys/class/devfreq/qcom,cpubw.51/bw_hwmon/io_percent" /> <!-- soc:qcom,cpubw/bw_hwmon/io_percent --> + <Config MajorValue="0x6" MinorValue="0x3" Supported="no" /> <!-- cpubw_hwmon_hyst_opt --> + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/low_power_ceil_mbps --> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/low_power_io_percent --> + <Config MajorValue="0x6" MinorValue="0x6" Target="msm8976" Node="/sys/class/devfreq/qcom,cpubw.49/max_freq" /> <!-- soc:qcom,cpubw/max_freq --> + <Config MajorValue="0x6" MinorValue="0x6" Target="msm8956" Node="/sys/class/devfreq/qcom,cpubw.49/max_freq" /> <!-- soc:qcom,cpubw/max_freq --> + <Config MajorValue="0x6" MinorValue="0x6" Target="msm8952" Node="/sys/class/devfreq/qcom,cpubw.51/max_freq" /> <!-- soc:qcom,cpubw/max_freq --> + <Config MajorValue="0x6" MinorValue="0x7" Target="msm8976" Node="/sys/class/devfreq/qcom,cpubw.49/polling_interval" /> <!-- soc:qcom,cpubw/polling_interval --> + <Config MajorValue="0x6" MinorValue="0x7" Target="msm8956" Node="/sys/class/devfreq/qcom,cpubw.49/polling_interval" /> <!-- soc:qcom,cpubw/polling_interval --> + <Config MajorValue="0x6" MinorValue="0x7" Target="msm8952" Node="/sys/class/devfreq/qcom,cpubw.51/polling_interval" /> <!-- soc:qcom,cpubw/polling_interval --> + <Config MajorValue="0x6" MinorValue="0x8" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/sample_ms --> + <Config MajorValue="0x6" MinorValue="0x9" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/idle_mbps --> + + + <Config MajorValue="0x9" MinorValue="0x7" Supported="yes" /> <!-- cpu.notify_on_migrate --> + + + <Config MajorValue="0xA" MinorValue="0x5" Target="msm8976" Node="/sys/class/devfreq/qcom,gpubw.37/min_freq" /> <!-- soc:qcom,gpubw/min_freq --> + <Config MajorValue="0xA" MinorValue="0x5" Target="msm8956" Node="/sys/class/devfreq/qcom,gpubw.35/min_freq" /> <!-- soc:qcom,gpubw/min_freq --> + <Config MajorValue="0xA" MinorValue="0x5" Target="msm8952" Node="/sys/class/devfreq/qcom,gpubw.39/min_freq" /> <!-- soc:qcom,gpubw/min_freq --> + <Config MajorValue="0xA" MinorValue="0x6" Target="msm8976" Node="/sys/class/devfreq/qcom,gpubw.37/max_freq" /> <!-- soc:qcom,gpubw/max_freq --> + <Config MajorValue="0xA" MinorValue="0x6" Target="msm8956" Node="/sys/class/devfreq/qcom,gpubw.35/max_freq" /> <!-- soc:qcom,gpubw/max_freq --> + <Config MajorValue="0xA" MinorValue="0x6" Target="msm8952" Node="/sys/class/devfreq/qcom,gpubw.39/max_freq" /> <!-- soc:qcom,gpubw/max_freq --> + <Config MajorValue="0xA" MinorValue="0x7" Supported="no" /> <!-- gpu_disable_gpu_nap --> + + + <Config MajorValue="0xB" MinorValue="0x2" Supported="no" /> <!-- input_boost_freq --> + <Config MajorValue="0xB" MinorValue="0x3" Supported="no" /> <!-- vm_swap_ratio --> + + <!-- All the minors of LLCBW_HWMON MAJOR are not supported --> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" /> + + <Config MajorValue="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq --> + <Config MajorValue="0xD" MinorValue="0x1" Supported="no" /> <!-- memlat-cpu0/mem_latency/ratio_ceil --> + <Config MajorValue="0xD" MinorValue="0x2" Supported="no" /> <!-- memlat-cpu4/mem_latency/ratio_ceil --> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/msm8953/msm_irqbalance.conf b/perf/configs/msm8953/msm_irqbalance.conf new file mode 100644 index 0000000..5afc484 --- /dev/null +++ b/perf/configs/msm8953/msm_irqbalance.conf @@ -0,0 +1,2 @@ +PRIO=0,0,0,0,1,1,1,1 +IGNORED_IRQ=20,39 diff --git a/perf/configs/msm8953/perf/perfboostsconfig.xml b/perf/configs/msm8953/perf/perfboostsconfig.xml new file mode 100644 index 0000000..a91c25e --- /dev/null +++ b/perf/configs/msm8953/perf/perfboostsconfig.xml @@ -0,0 +1,168 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2017 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + + <!-- Type="1", main launch boost of 2sec --> + + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG resource opcode, value--> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm632" + Resources="0x40C00000, 0x1, 0x40800100, 0x40C, 0x40800000, 0x579" /> + + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- SCHED_SPILL_NR_RUN resource opcode, value--> + <!-- SCHED_RESTRICT_CLUSTER_SPILL resource opcode, value--> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" + Resources="0x40C00000, 0x1, 0x40800100, 0x690, 0x40C2C000, 0x1, 0x40C34000, 0x0" /> + + <!--app lauch boost (disabling packing)--> + <!-- DISABLE_POWER_COLLAPSE resource opcode, value--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="1500" + Resources="0x40400000, 0x1" /> + + <!-- config_enablePerfBoostForAnimation--> + <!-- Type="1", Animation boost of 0.6sec --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <Config + Id="0x00001083" Enable="true" Timeout="600" Target="sdm632" + Resources="0x40800100, 0x40C, 0x40800000, 0x446" /> + + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <Config + Id="0x00001083" Enable="true" Timeout="600" + Resources="0x40800100, 0x578" /> + + <!--Vertical Scroll boost--> + <!-- Type="1", Vertical Scroll boost --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <Config + Id="0x00001080" Type="1" Enable="true" Target="sdm632" + Resources="0x40800100, 0x40C, 0x40800000, 0x446,0x40C00000, 0x2" /> + + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <Config + Id="0x00001080" Type="1" Enable="true" + Resources="0x40800100, 0x578" /> + + <!--Horizontal Scroll boost--> + <!-- Type="2", Horizontal Scroll boost --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <Config + Id="0x00001080" Type="2" Enable="true" Target="sdm632" + Resources="0x40800100, 0x40C, 0x40800000, 0x446,0x40C00000, 0x2" /> + + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <Config + Id="0x00001080" Type="2" Enable="true" + Resources="0x40800100, 0x578" /> + <!--Pre-Fling boost--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- Type="4", Pre-Fling boost --> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm632" + Resources="0x40800100, 0x40C, 0x40800000, 0x446,0x40C00000, 0x2" /> + + <!--MTP boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + + <!-- Type="", MTP boost --> + + <Config + Id="0x00001086" Enable="true" + Resources="0x40C00000, 0x1, 0x40804100, 0xFFF, 0x40800100, 1400, 0x42C10000, 0x1" /> + + <!--PackageInstall boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Package Install boost --> + + <Config + Id="0x00001088" Enable="true" + Resources="0x40C00000, 0x1, 0x40804100, 0xFFF, 0x40800100, 0xFFF" /> + + <!--Rotation latency boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="sdm632" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF, + 0x40800100,0xFFF" /> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" + Resources="0x40C00000, 0x1, 0x40804100, 0xFFF, 0x40800100, 0xFFF" /> + + <!--Rotation animation boost--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- GPU MIN_FREQUENCY resource opcode,value--> + <!-- Type="", Rotation animation boost --> + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="sdm632" + Resources="0x40800100, 1000, 0x4280C000, 596" /> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" + Resources="0x40800100, 1000, 0x4280C000, 596" /> + + <!--Display on Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="msm8953" + Resources="0x40000000, 1" /> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="sdm450" + Resources="0x40000000, 1" /> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="sdm632" + Resources="0x40000000, 1" /> + <!--Display off Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="msm8953" + Resources="0x40000000, 0x0" /> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="sdm450" + Resources="0x40000000, 0x0" /> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="sdm632" + Resources="0x40000000, 0x0" /> + + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/msm8953/perf/perfconfigstore.xml b/perf/configs/msm8953/perf/perfconfigstore.xml new file mode 100644 index 0000000..a7b3e49 --- /dev/null +++ b/perf/configs/msm8953/perf/perfconfigstore.xml @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is PerfConfigsStore file which returns the value when a +particular property name is invoked --> + +<!-- This file supports only Prop tag, which has the following fields +* Name, to identify the name of the property. The names of the +properties have been classified into Vendor and System property. +* Value, the new value to be returned as string when respective +property Name is called. --> + +<PerfConfigsStore> + <PerfConfigs> + + <!--System Properties --> + <Prop Name="ro.vendor.qti.sys.fw.bservice_age" Value="5000" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_limit" Value="5" /> + <Prop Name="ro.vendor.qti.sys.fw.bservice_enable" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.use_trim_settings" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.empty_app_percent" Value="50" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_empty_percent" Value="100" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_cache_percent" Value="100" /> + <Prop Name="ro.vendor.qti.sys.fw.trim_enable_memory" Value="2147483648" /> + <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" /> + <Prop Name="ro.vendor.at_library" Value="libqti-at.so" /> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" /> + <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" /> + + <!--Vendor Properties --> + <Prop Name="vendor.iop.enabled" Value="false" /> + <Prop Name="vendor.iop.enable_uxe" Value="0" /> + <Prop Name="vendor.perf.iop_v3.enable" Value="0" /> + <Prop Name="vendor.perf.iop_v3.enable.debug" Value="0" /> + <Prop Name="vendor.enable.prefetch" Value="0" /> + <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" /> + + <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" Kernel="4.19" /> + <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="true" Kernel="4.19" /> + <Prop Name="ro.lmk.enhance_batch_kill" Value="false" Kernel="4.19" /> + <Prop Name="ro.lmk.enable_watermark_check" Value="true" Kernel="4.19" /> + <Prop Name="ro.lmk.use_new_strategy_dup" Value="true" Kernel="4.19" /> + <Prop Name="ro.lmk.super_critical" Value="606" Kernel="4.19" /> + <Prop Name="ro.lmk.direct_reclaim_pressure" Value="45" Kernel="4.19" /> + + </PerfConfigs> +</PerfConfigsStore> diff --git a/perf/configs/msm8953/perf/targetconfig.xml b/perf/configs/msm8953/perf/targetconfig.xml new file mode 100644 index 0000000..a831a3d --- /dev/null +++ b/perf/configs/msm8953/perf/targetconfig.xml @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="msm8953" + NumClusters="2" + TotalNumCores="8" + SocIds="293,304" + SynCore="1" + MinCoreOnline="0" + GovInstanceType="1" /> + + <ClustersInfo Id="0" NumCores="4" Type="little" /> + <ClustersInfo Id="1" NumCores="4" Type="big" /> + + </Config1> + + <Config2> + + <TargetInfo + Target="sdm450" + NumClusters="2" + TotalNumCores="8" + SocIds="338,351" + SynCore="1" + MinCoreOnline="0" + GovInstanceType="1" /> + + <ClustersInfo Id="0" NumCores="4" Type="little" /> + <ClustersInfo Id="1" NumCores="4" Type="big" /> + + </Config2> + <Config3> + + <TargetInfo + Target="sdm632" + NumClusters="2" + TotalNumCores="8" + SocIds="349,350" + SynCore="1" + MinCoreOnline="0" /> + + <ClustersInfo Id="0" NumCores="4" Type="little" /> + <ClustersInfo Id="1" NumCores="4" Type="big" /> + + </Config3> +</TargetConfig> diff --git a/perf/configs/msm8953/perf/targetresourceconfigs.xml b/perf/configs/msm8953/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..6319a1f --- /dev/null +++ b/perf/configs/msm8953/perf/targetresourceconfigs.xml @@ -0,0 +1,98 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to mention the resources which are not supported. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing one +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. --> + +<!-- NOTE - It is not Mandatory to write all the resources which are not supported +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x2" Supported="no" /> <!-- lpm_bias_hyst --> + <Config MajorValue="0x1" MinorValue="0x3" Supported="no" /> <!-- lpm_ref_stddev --> + <Config MajorValue="0x1" MinorValue="0x4" Supported="no" /> <!-- lpm_tmr_add --> + + <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task --> + <Config MajorValue="0x3" MinorValue="0xF" Supported="no" /> <!-- top-app_cpus --> + <Config MajorValue="0x3" MinorValue="0x10" Supported="no" /> <!-- foreground_cpus --> + <Config MajorValue="0x3" MinorValue="0x11" Supported="no" /> <!-- system_background_cpus --> + <Config MajorValue="0x3" MinorValue="0x12" Supported="no" /> <!-- background_cpus --> + <Config MajorValue="0x3" MinorValue="0x15" Supported="no" /> <!-- sched_group_upmigrate --> + <Config MajorValue="0x3" MinorValue="0x16" Supported="no" /> <!-- sched_group_downmigrate --> + <Config MajorValue="0x3" MinorValue="0x18" Supported="no" /> <!-- schedtune.prefer_idle --> + <Config MajorValue="0x3" MinorValue="0xB" Supported="no" Kernel="4.9" /> <!-- sched_spill_nr_run --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" Kernel="4.9" /> <!-- sched_restrict_cluster_spill --> + + <!-- For INTERACTIVE major, all the interactive minors are not supported + by default as the recent target moved to schedutil. So, for older targets + where interactive minors are supported they need to be enabled and schedutil + minors are disabled. --> + <Config MajorValue="0x5" MinorValue="0x0" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay" /> <!-- above_hispeed_delay --> + <Config MajorValue="0x5" MinorValue="0x1" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/boost" /> <!-- boost --> + <Config MajorValue="0x5" MinorValue="0x3" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration" /> <!-- boostpulse_duration --> + <Config MajorValue="0x5" MinorValue="0x4" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load" /> <!-- go_hispeed_load --> + <Config MajorValue="0x5" MinorValue="0x5" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/hispeed_freq" /> <!-- hispeed_freq --> + <Config MajorValue="0x5" MinorValue="0x6" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/io_is_busy" /> <!-- io_is_busy --> + <Config MajorValue="0x5" MinorValue="0x7" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/min_sample_time" /> <!-- min_sample_time --> + <Config MajorValue="0x5" MinorValue="0x8" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/target_loads" /> <!-- target_loads --> + <Config MajorValue="0x5" MinorValue="0x9" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/timer_rate" /> <!-- timer_rate --> + <Config MajorValue="0x5" MinorValue="0xA" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/timer_slack" /> <!-- timer_slack --> + <Config MajorValue="0x5" MinorValue="0xB" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/max_freq_hysteresis" /> <!-- max_freq_hysteresis --> + <Config MajorValue="0x5" MinorValue="0xC" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/use_sched_load" /> <!-- use_sched_load --> + <Config MajorValue="0x5" MinorValue="0xD" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/use_migration_notif" /> <!-- use_migration_notif --> + <Config MajorValue="0x5" MinorValue="0xE" Kernel="3.18" Node="/sys/devices/system/cpu/cpufreq/interactive/ignore_hispeed_on_notif " /> <!-- ignore_hispeed_on_notif --> + <Config MajorValue="0x5" MinorValue="0xF" Kernel="3.18" Supported="no" /> + <Config MajorValue="0x5" MinorValue="0x10" Kernel="3.18" Supported="no" /> + <Config MajorValue="0x5" MinorValue="0x11" Kernel="3.18" Supported="no" /> + <Config MajorValue="0x5" MinorValue="0xF" Target="sdm632" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0x10" Target="sdm632" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0x11" Target="sdm632" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0xF" Target="sdm450" Kernel="4.9" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/hispeed_freq" /> + <Config MajorValue="0x5" MinorValue="0x10" Target="sdm450" Kernel="4.9" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/hispeed_load" /> + <Config MajorValue="0x5" MinorValue="0x11" Target="sdm450" Kernel="4.9" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/pl" /> + <Config MajorValue="0x5" MinorValue="0xF" Target="msm8953" Kernel="4.9" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/hispeed_freq" /> + <Config MajorValue="0x5" MinorValue="0x10" Target="msm8953" Kernel="4.9" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/hispeed_load" /> + <Config MajorValue="0x5" MinorValue="0x11" Target="msm8953" Kernel="4.9" Supported="yes" Node="/sys/devices/system/cpu/cpufreq/schedutil/pl" /> + + <!-- cpubw hwmon major start --> + <Config MajorValue="0x6" MinorValue="0x0" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/min_freq" /> + <Config MajorValue="0x6" MinorValue="0x1" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/decay_rate" /> + <Config MajorValue="0x6" MinorValue="0x2" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/io_percent" /> + <Config MajorValue="0x6" MinorValue="0x4" Kernel="4.19" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0x6" MinorValue="0x5" Kernel="4.19" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent --> + <Config MajorValue="0x6" MinorValue="0x6" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/max_freq" /> + <Config MajorValue="0x6" MinorValue="0x7" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/polling_interval" /> + <Config MajorValue="0x6" MinorValue="0x8" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/sample_ms" /> + <Config MajorValue="0x6" MinorValue="0x9" Kernel="4.19" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/idle_mbps" /> + + <Config MajorValue="0x9" MinorValue="0x7" Supported="yes" /> <!-- cpu.notify_on_migrate --> + + <Config MajorValue="0xB" MinorValue="0x2" Supported="no" /> <!-- input_boost_freq --> + + <!-- All the minors of LLCBW_HWMON MAJOR are not supported --> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" /> + + <Config MajorValue="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq --> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/msm8992/msm_irqbalance.conf b/perf/configs/msm8992/msm_irqbalance.conf new file mode 100644 index 0000000..7f5330a --- /dev/null +++ b/perf/configs/msm8992/msm_irqbalance.conf @@ -0,0 +1,2 @@ +PRIO=1,1,1,1,0,0 +IGNORED_IRQ=20,40,200,203,155,157 diff --git a/perf/configs/msm8992/perf/perf-profile0.conf b/perf/configs/msm8992/perf/perf-profile0.conf new file mode 100644 index 0000000..0c358e1 --- /dev/null +++ b/perf/configs/msm8992/perf/perf-profile0.conf @@ -0,0 +1,2 @@ +[priority] # This profile is reserved for perflock requests +99 diff --git a/perf/configs/msm8992/perf/perf-profile1.conf b/perf/configs/msm8992/perf/perf-profile1.conf new file mode 100644 index 0000000..4884b40 --- /dev/null +++ b/perf/configs/msm8992/perf/perf-profile1.conf @@ -0,0 +1,5 @@ +[priority] +120 + +[files] # Write any value to any file (assumes not handled by locks section) +1 /sys/devices/system/cpu/cpu4/core_ctl/min_cpus diff --git a/perf/configs/msm8992/perf/perf-profile2.conf b/perf/configs/msm8992/perf/perf-profile2.conf new file mode 100644 index 0000000..24b1360 --- /dev/null +++ b/perf/configs/msm8992/perf/perf-profile2.conf @@ -0,0 +1,13 @@ +[locks] +0x1B01 # Interactive io_is_busy +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 +0x101 # PM QOS OFF for A57 + +[files] +35 /proc/sys/kernel/sched_downmigrate +55 /proc/sys/kernel/sched_upmigrate + +[priority] +96 + diff --git a/perf/configs/msm8992/perf/perf-profile3.conf b/perf/configs/msm8992/perf/perf-profile3.conf new file mode 100644 index 0000000..3699721 --- /dev/null +++ b/perf/configs/msm8992/perf/perf-profile3.conf @@ -0,0 +1,14 @@ +[locks] +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 + +[files] +19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay +59000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time +65 1400000:68 1700000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads +1824000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq +99 /proc/sys/kernel/sched_init_task_load + +[priority] # Single-threaded workload profile for A57s only +95 + diff --git a/perf/configs/msm8992/perf/perf-profile4.conf b/perf/configs/msm8992/perf/perf-profile4.conf new file mode 100644 index 0000000..1e97d50 --- /dev/null +++ b/perf/configs/msm8992/perf/perf-profile4.conf @@ -0,0 +1,16 @@ +[locks] +0x2310 # Lowering the scaling_max_freq on A57 to 1.6GHz +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 + +[files] +19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay +85 /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load +1632000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq +99000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time +60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads +99 /proc/sys/kernel/sched_init_task_load + +[priority] # Multi-threaded workload profile for A57s only +97 + diff --git a/perf/configs/msm8992/perf/perf-profile5.conf b/perf/configs/msm8992/perf/perf-profile5.conf new file mode 100644 index 0000000..25830aa --- /dev/null +++ b/perf/configs/msm8992/perf/perf-profile5.conf @@ -0,0 +1,15 @@ +[locks] +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 + +[files] +19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay +85 /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load +1632000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq +99000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time +60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads +99 /proc/sys/kernel/sched_init_task_load + +[priority] # 2nd Multi-threaded workload profile for A57s only +120 + diff --git a/perf/configs/msm8992/perf/targetconfig.xml b/perf/configs/msm8992/perf/targetconfig.xml new file mode 100644 index 0000000..04dfc52 --- /dev/null +++ b/perf/configs/msm8992/perf/targetconfig.xml @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="msm8992" + NumClusters="2" + TotalNumCores="6" + SocIds="251,252" + SynCore="1" + MinCoreOnline="0" /> + + <ClustersInfo Id="0" NumCores="4" Type="little" /> + <ClustersInfo Id="1" NumCores="2" Type="big" /> + + </Config1> + +</TargetConfig> diff --git a/perf/configs/msm8992/perf/targetresourceconfigs.xml b/perf/configs/msm8992/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..f6cfe80 --- /dev/null +++ b/perf/configs/msm8992/perf/targetresourceconfigs.xml @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to mention the resources which are not supported. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing one +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. --> + +<!-- NOTE - It is not Mandatory to write all the resources which are not supported +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x1" Node="/sys/module/lpm_levels/system/a57/a57-l2-pc/idle_enabled" /> <!-- pc_idle_enabled --> + <Config MajorValue="0x1" MinorValue="0x2" Supported="no" /> <!-- lpm_bias_hyst --> + <Config MajorValue="0x1" MinorValue="0x3" Supported="no" /> <!-- lpm_ref_stddev --> + <Config MajorValue="0x1" MinorValue="0x4" Supported="no" /> <!-- lpm_tmr_add --> + + <Config MajorValue="0x3" MinorValue="0x1" Node="/sys/devices/system/cpu/cpu0/sched_prefer_idle" /> <!-- sched_prefer_idle --> + <Config MajorValue="0x3" MinorValue="0x4" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_load" /> <!-- sched_mostly_idle_load" --> + <Config MajorValue="0x3" MinorValue="0x5" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run" /> <!-- sched_mostly_idle_nr_run --> + <Config MajorValue="0x3" MinorValue="0x9" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_freq" /> <!-- sched_mostly_idle_freq --> + <Config MajorValue="0x3" MinorValue="0xC" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_freq_aggregate --> + <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x15" Supported="no" /> <!-- sched_group_upmigrate --> + <Config MajorValue="0x3" MinorValue="0x16" Supported="no" /> <!-- sched_group_downmigrate --> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggregate_threshold --> + <Config MajorValue="0x3" MinorValue="0x18" Supported="no" /> <!-- schedtune.prefer_idle --> + + <Config MajorValue="0x4" MinorValue="0x0" Supported="yes" /> <!-- min_cpus --> + <Config MajorValue="0x4" MinorValue="0x1" Supported="yes" /> <!-- max_cpus --> + + <!-- For INTERACTIVE major, all the interactive minors are not supported + by default as the recent target moved to schedutil. So, for older targets + where interactive minors are supported they need to be enabled and schedutil + minors are disabled. --> + <Config MajorValue="0x5" MinorValue="0x0" Supported="yes" /> <!-- above_hispeed_delay --> + <Config MajorValue="0x5" MinorValue="0x1" Supported="yes" /> <!-- boost --> + <Config MajorValue="0x5" MinorValue="0x3" Supported="yes" /> <!-- boostpulse_duration --> + <Config MajorValue="0x5" MinorValue="0x4" Supported="yes" /> <!-- go_hispeed_load --> + <Config MajorValue="0x5" MinorValue="0x5" Supported="yes" /> <!-- hispeed_freq --> + <Config MajorValue="0x5" MinorValue="0x6" Supported="yes" /> <!-- io_is_busy --> + <Config MajorValue="0x5" MinorValue="0x7" Supported="yes" /> <!-- min_sample_time --> + <Config MajorValue="0x5" MinorValue="0x8" Supported="yes" /> <!-- target_loads --> + <Config MajorValue="0x5" MinorValue="0x9" Supported="yes" /> <!-- timer_rate --> + <Config MajorValue="0x5" MinorValue="0xA" Supported="yes" /> <!-- timer_slack --> + <Config MajorValue="0x5" MinorValue="0xB" Supported="yes" /> <!-- max_freq_hysteresis --> + <Config MajorValue="0x5" MinorValue="0xC" Supported="yes" /> <!-- use_sched_load --> + <Config MajorValue="0x5" MinorValue="0xD" Supported="yes" /> <!-- use_migration_notif --> + <Config MajorValue="0x5" MinorValue="0xF" Supported="no" /> + <Config MajorValue="0x5" MinorValue="0x10" Supported="no" /> + <Config MajorValue="0x5" MinorValue="0x11" Supported="no" /> + + + + <Config MajorValue="0x6" MinorValue="0x0" Node="/sys/class/devfreq/qcom,cpubw.27/min_freq" /> <!-- soc:qcom,cpubw/min_freq --> + <Config MajorValue="0x6" MinorValue="0x1" Node="/sys/class/devfreq/qcom,cpubw.27/bw_mon/decay_rate" /> <!-- soc:qcom,cpubw/bw_hwmon/decay_rate --> + <Config MajorValue="0x6" MinorValue="0x2" Node="/sys/class/devfreq/qcom,cpubw.27/bw_mon/io_percent" /> <!-- soc:qcom,cpubw/bw_hwmon/io_percent --> + <Config MajorValue="0x6" MinorValue="0x3" Supported="no" /> <!-- cpubw_hwmon_hyst_opt --> + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/low_power_ceil_mbps --> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/low_power_io_percent --> + <Config MajorValue="0x6" MinorValue="0x6" Node="/sys/class/devfreq/qcom,cpubw.27/max_freq" /> <!-- soc:qcom,cpubw/max_freq --> + <Config MajorValue="0x6" MinorValue="0x7" Node="/sys/class/devfreq/qcom,cpubw.27/polling_interval" /> <!-- soc:qcom,cpubw/polling_interval --> + <Config MajorValue="0x6" MinorValue="0x8" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/sample_ms --> + <Config MajorValue="0x6" MinorValue="0x9" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/idle_mbps --> + + + <Config MajorValue="0x9" MinorValue="0x7" Supported="yes" /> <!-- cpu.notify_on_migrate --> + + + <Config MajorValue="0xA" MinorValue="0x5" Node="/sys/class/devfreq/qcom,gpubw.19/min_freq" /> <!-- soc:qcom,gpubw/min_freq --> + <Config MajorValue="0xA" MinorValue="0x6" Node="/sys/class/devfreq/qcom,gpubw.19/max_freq" /> <!-- soc:qcom,gpubw/max_freq --> + <Config MajorValue="0xA" MinorValue="0x7" Supported="no" /> <!-- gpu_disable_gpu_nap --> + + + <Config MajorValue="0xB" MinorValue="0x3" Supported="no" /> <!-- vm_swap_ratio --> + <Config MajorValue="0xB" MinorValue="0x6" Supported="no" /> <!-- enable_process_reclaim --> + + <!-- All the minors of LLCBW_HWMON MAJOR are not supported --> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" /> + + <Config MajorValue="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq --> + <Config MajorValue="0xD" MinorValue="0x1" Supported="no" /> <!-- memlat-cpu0/mem_latency/ratio_ceil --> + <Config MajorValue="0xD" MinorValue="0x2" Supported="no" /> <!-- memlat-cpu4/mem_latency/ratio_ceil --> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/msm8994/msm_irqbalance.conf b/perf/configs/msm8994/msm_irqbalance.conf new file mode 100644 index 0000000..023269c --- /dev/null +++ b/perf/configs/msm8994/msm_irqbalance.conf @@ -0,0 +1,3 @@ +PRIO=1,1,1,1,0,0,0,0 +IGNORED_IRQ=20,40,200,203,155,157 + diff --git a/perf/configs/msm8994/perf/perf-profile0.conf b/perf/configs/msm8994/perf/perf-profile0.conf new file mode 100644 index 0000000..0c358e1 --- /dev/null +++ b/perf/configs/msm8994/perf/perf-profile0.conf @@ -0,0 +1,2 @@ +[priority] # This profile is reserved for perflock requests +99 diff --git a/perf/configs/msm8994/perf/perf-profile1.conf b/perf/configs/msm8994/perf/perf-profile1.conf new file mode 100644 index 0000000..4884b40 --- /dev/null +++ b/perf/configs/msm8994/perf/perf-profile1.conf @@ -0,0 +1,5 @@ +[priority] +120 + +[files] # Write any value to any file (assumes not handled by locks section) +1 /sys/devices/system/cpu/cpu4/core_ctl/min_cpus diff --git a/perf/configs/msm8994/perf/perf-profile2.conf b/perf/configs/msm8994/perf/perf-profile2.conf new file mode 100644 index 0000000..24b1360 --- /dev/null +++ b/perf/configs/msm8994/perf/perf-profile2.conf @@ -0,0 +1,13 @@ +[locks] +0x1B01 # Interactive io_is_busy +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 +0x101 # PM QOS OFF for A57 + +[files] +35 /proc/sys/kernel/sched_downmigrate +55 /proc/sys/kernel/sched_upmigrate + +[priority] +96 + diff --git a/perf/configs/msm8994/perf/perf-profile3.conf b/perf/configs/msm8994/perf/perf-profile3.conf new file mode 100644 index 0000000..3699721 --- /dev/null +++ b/perf/configs/msm8994/perf/perf-profile3.conf @@ -0,0 +1,14 @@ +[locks] +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 + +[files] +19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay +59000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time +65 1400000:68 1700000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads +1824000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq +99 /proc/sys/kernel/sched_init_task_load + +[priority] # Single-threaded workload profile for A57s only +95 + diff --git a/perf/configs/msm8994/perf/perf-profile4.conf b/perf/configs/msm8994/perf/perf-profile4.conf new file mode 100644 index 0000000..1e97d50 --- /dev/null +++ b/perf/configs/msm8994/perf/perf-profile4.conf @@ -0,0 +1,16 @@ +[locks] +0x2310 # Lowering the scaling_max_freq on A57 to 1.6GHz +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 + +[files] +19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay +85 /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load +1632000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq +99000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time +60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads +99 /proc/sys/kernel/sched_init_task_load + +[priority] # Multi-threaded workload profile for A57s only +97 + diff --git a/perf/configs/msm8994/perf/perf-profile5.conf b/perf/configs/msm8994/perf/perf-profile5.conf new file mode 100644 index 0000000..25830aa --- /dev/null +++ b/perf/configs/msm8994/perf/perf-profile5.conf @@ -0,0 +1,15 @@ +[locks] +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 + +[files] +19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay +85 /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load +1632000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq +99000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time +60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads +99 /proc/sys/kernel/sched_init_task_load + +[priority] # 2nd Multi-threaded workload profile for A57s only +120 + diff --git a/perf/configs/msm8994/perf/targetconfig.xml b/perf/configs/msm8994/perf/targetconfig.xml new file mode 100644 index 0000000..82ceca0 --- /dev/null +++ b/perf/configs/msm8994/perf/targetconfig.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="msm8994" + NumClusters="2" + TotalNumCores="8" + SocIds="207" + SynCore="1" + CoreCtlCpu="4" + MinCoreOnline="0" /> + + <ClustersInfo Id="0" NumCores="4" Type="little" /> + <ClustersInfo Id="1" NumCores="4" Type="big" /> + + </Config1> + +</TargetConfig> diff --git a/perf/configs/msm8994/perf/targetresourceconfigs.xml b/perf/configs/msm8994/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..69c6c44 --- /dev/null +++ b/perf/configs/msm8994/perf/targetresourceconfigs.xml @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to mention the resources which are not supported. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing one +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. --> + +<!-- NOTE - It is not Mandatory to write all the resources which are not supported +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x1" Node="/sys/module/lpm_levels/system/a57/a57-l2-pc/idle_enabled" /> <!-- pc_idle_enabled --> + <Config MajorValue="0x1" MinorValue="0x2" Supported="no" /> <!-- lpm_bias_hyst --> + <Config MajorValue="0x1" MinorValue="0x3" Supported="no" /> <!-- lpm_ref_stddev --> + <Config MajorValue="0x1" MinorValue="0x4" Supported="no" /> <!-- lpm_tmr_add --> + + <Config MajorValue="0x3" MinorValue="0x1" Node="/sys/devices/system/cpu/cpu0/sched_prefer_idle" /> <!-- sched_prefer_idle --> + <Config MajorValue="0x3" MinorValue="0x4" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_load" /> <!-- sched_mostly_idle_load" --> + <Config MajorValue="0x3" MinorValue="0x5" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run" /> <!-- sched_mostly_idle_nr_run --> + <Config MajorValue="0x3" MinorValue="0x9" Node="/sys/devices/system/cpu/cpu0/sched_mostly_idle_freq" /> <!-- sched_mostly_idle_freq --> + <Config MajorValue="0x3" MinorValue="0xC" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_freq_aggregate --> + <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x15" Supported="no" /> <!-- sched_group_upmigrate --> + <Config MajorValue="0x3" MinorValue="0x16" Supported="no" /> <!-- sched_group_downmigrate --> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggregate_threshold --> + <Config MajorValue="0x3" MinorValue="0x18" Supported="no" /> <!-- schedtune.prefer_idle --> + + <Config MajorValue="0x4" MinorValue="0x0" Supported="yes" /> <!-- min_cpus --> + <Config MajorValue="0x4" MinorValue="0x1" Supported="yes" /> <!-- max_cpus --> + + <!-- For INTERACTIVE major, all the interactive minors are not supported + by default as the recent target moved to schedutil. So, for older targets + where interactive minors are supported they need to be enabled and schedutil + minors are disabled. --> + <Config MajorValue="0x5" MinorValue="0x0" Supported="yes" /> <!-- above_hispeed_delay --> + <Config MajorValue="0x5" MinorValue="0x1" Supported="yes" /> <!-- boost --> + <Config MajorValue="0x5" MinorValue="0x3" Supported="yes" /> <!-- boostpulse_duration --> + <Config MajorValue="0x5" MinorValue="0x4" Supported="yes" /> <!-- go_hispeed_load --> + <Config MajorValue="0x5" MinorValue="0x5" Supported="yes" /> <!-- hispeed_freq --> + <Config MajorValue="0x5" MinorValue="0x6" Supported="yes" /> <!-- io_is_busy --> + <Config MajorValue="0x5" MinorValue="0x7" Supported="yes" /> <!-- min_sample_time --> + <Config MajorValue="0x5" MinorValue="0x8" Supported="yes" /> <!-- target_loads --> + <Config MajorValue="0x5" MinorValue="0x9" Supported="yes" /> <!-- timer_rate --> + <Config MajorValue="0x5" MinorValue="0xA" Supported="yes" /> <!-- timer_slack --> + <Config MajorValue="0x5" MinorValue="0xB" Supported="yes" /> <!-- max_freq_hysteresis --> + <Config MajorValue="0x5" MinorValue="0xC" Supported="yes" /> <!-- use_sched_load --> + <Config MajorValue="0x5" MinorValue="0xD" Supported="yes" /> <!-- use_migration_notif --> + <Config MajorValue="0x5" MinorValue="0xF" Supported="no" /> + <Config MajorValue="0x5" MinorValue="0x10" Supported="no" /> + <Config MajorValue="0x5" MinorValue="0x11" Supported="no" /> + + + + <Config MajorValue="0x6" MinorValue="0x0" Node="/sys/class/devfreq/qcom,cpubw.32/min_freq" /> <!-- soc:qcom,cpubw/min_freq --> + <Config MajorValue="0x6" MinorValue="0x1" Node="/sys/class/devfreq/qcom,cpubw.32/bw_mon/decay_rate" /> <!-- soc:qcom,cpubw/bw_hwmon/decay_rate --> + <Config MajorValue="0x6" MinorValue="0x2" Node="/sys/class/devfreq/qcom,cpubw.32/bw_mon/io_percent" /> <!-- soc:qcom,cpubw/bw_hwmon/io_percent --> + <Config MajorValue="0x6" MinorValue="0x3" Supported="no" /> <!-- cpubw_hwmon_hyst_opt --> + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/low_power_ceil_mbps --> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/low_power_io_percent --> + <Config MajorValue="0x6" MinorValue="0x6" Node="/sys/class/devfreq/qcom,cpubw.32/max_freq" /> <!-- soc:qcom,cpubw/max_freq --> + <Config MajorValue="0x6" MinorValue="0x7" Node="/sys/class/devfreq/qcom,cpubw.32/polling_interval" /> <!-- soc:qcom,cpubw/polling_interval --> + <Config MajorValue="0x6" MinorValue="0x8" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/sample_ms --> + <Config MajorValue="0x6" MinorValue="0x9" Supported="no" /> <!-- soc:qcom,cpubw/bw_hwmon/idle_mbps --> + + + <Config MajorValue="0x9" MinorValue="0x7" Supported="yes" /> <!-- cpu.notify_on_migrate --> + + + <Config MajorValue="0xA" MinorValue="0x5" Node="/sys/class/devfreq/qcom,gpubw.71/min_freq" /> <!-- soc:qcom,gpubw/min_freq --> + <Config MajorValue="0xA" MinorValue="0x6" Node="/sys/class/devfreq/qcom,gpubw.71/max_freq" /> <!-- soc:qcom,gpubw/max_freq --> + <Config MajorValue="0xA" MinorValue="0x7" Supported="no" /> <!-- gpu_disable_gpu_nap --> + + + <Config MajorValue="0xB" MinorValue="0x3" Supported="no" /> <!-- vm_swap_ratio --> + <Config MajorValue="0xB" MinorValue="0x6" Supported="no" /> <!-- enable_process_reclaim --> + + <!-- All the minors of LLCBW_HWMON MAJOR are not supported --> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" /> + + <Config MajorValue="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq --> + <Config MajorValue="0xD" MinorValue="0x1" Supported="no" /> <!-- memlat-cpu0/mem_latency/ratio_ceil --> + <Config MajorValue="0xD" MinorValue="0x2" Supported="no" /> <!-- memlat-cpu4/mem_latency/ratio_ceil --> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/msm8996/msm_irqbalance.conf b/perf/configs/msm8996/msm_irqbalance.conf new file mode 100644 index 0000000..294e489 --- /dev/null +++ b/perf/configs/msm8996/msm_irqbalance.conf @@ -0,0 +1,2 @@ +PRIO=1,1,0,0 +IGNORED_IRQ=27,62,171 diff --git a/perf/configs/msm8996/perf/perf-profile0.conf b/perf/configs/msm8996/perf/perf-profile0.conf new file mode 100644 index 0000000..0c358e1 --- /dev/null +++ b/perf/configs/msm8996/perf/perf-profile0.conf @@ -0,0 +1,2 @@ +[priority] # This profile is reserved for perflock requests +99 diff --git a/perf/configs/msm8996/perf/perf-profile1.conf b/perf/configs/msm8996/perf/perf-profile1.conf new file mode 100644 index 0000000..a7fdfd0 --- /dev/null +++ b/perf/configs/msm8996/perf/perf-profile1.conf @@ -0,0 +1,2 @@ +[priority] +120 diff --git a/perf/configs/msm8996/perf/perf-profile2.conf b/perf/configs/msm8996/perf/perf-profile2.conf new file mode 100644 index 0000000..814a607 --- /dev/null +++ b/perf/configs/msm8996/perf/perf-profile2.conf @@ -0,0 +1,12 @@ +[locks] +0x1B01 # Interactive io_is_busy +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 +0x101 # PM QOS OFF for A57 + +[files] +35 /proc/sys/kernel/sched_downmigrate +55 /proc/sys/kernel/sched_upmigrate + +[priority] +96 diff --git a/perf/configs/msm8996/perf/perf-profile3.conf b/perf/configs/msm8996/perf/perf-profile3.conf new file mode 100644 index 0000000..29aff25 --- /dev/null +++ b/perf/configs/msm8996/perf/perf-profile3.conf @@ -0,0 +1,13 @@ +[locks] +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 + +[files] +19000 /sys/devices/system/cpu/cpu2/cpufreq/interactive/above_hispeed_delay +59000 /sys/devices/system/cpu/cpu2/cpufreq/interactive/min_sample_time +65 1400000:68 1700000:70 /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads +1824000 /sys/devices/system/cpu/cpu2/cpufreq/interactive/hispeed_freq +99 /proc/sys/kernel/sched_init_task_load + +[priority] # Single-threaded workload profile for A57s only +95 diff --git a/perf/configs/msm8996/perf/perf-profile4.conf b/perf/configs/msm8996/perf/perf-profile4.conf new file mode 100644 index 0000000..7b7b89e --- /dev/null +++ b/perf/configs/msm8996/perf/perf-profile4.conf @@ -0,0 +1,15 @@ +[locks] +0x2310 # Lowering the scaling_max_freq on A57 to 1.6GHz +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 + +[files] +19000 /sys/devices/system/cpu/cpu2/cpufreq/interactive/above_hispeed_delay +85 /sys/devices/system/cpu/cpu2/cpufreq/interactive/go_hispeed_load +1632000 /sys/devices/system/cpu/cpu2/cpufreq/interactive/hispeed_freq +99000 /sys/devices/system/cpu/cpu2/cpufreq/interactive/min_sample_time +60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads +99 /proc/sys/kernel/sched_init_task_load + +[priority] # Multi-threaded workload profile for A57s only +97 diff --git a/perf/configs/msm8996/perf/perf-profile5.conf b/perf/configs/msm8996/perf/perf-profile5.conf new file mode 100644 index 0000000..7665951 --- /dev/null +++ b/perf/configs/msm8996/perf/perf-profile5.conf @@ -0,0 +1,14 @@ +[locks] +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 + +[files] +19000 /sys/devices/system/cpu/cpu2/cpufreq/interactive/above_hispeed_delay +85 /sys/devices/system/cpu/cpu2/cpufreq/interactive/go_hispeed_load +1632000 /sys/devices/system/cpu/cpu2/cpufreq/interactive/hispeed_freq +99000 /sys/devices/system/cpu/cpu2/cpufreq/interactive/min_sample_time +60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu2/cpufreq/interactive/target_loads +99 /proc/sys/kernel/sched_init_task_load + +[priority] # 2nd Multi-threaded workload profile for A57s only +120 diff --git a/perf/configs/msm8996/perf/perf-profile6.conf b/perf/configs/msm8996/perf/perf-profile6.conf new file mode 100644 index 0000000..0b37a5f --- /dev/null +++ b/perf/configs/msm8996/perf/perf-profile6.conf @@ -0,0 +1,8 @@ +[files] +2 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/sample_ms +1200 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/idle_mbps +20 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_io_percent +20 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent + +[priority] # Gaming workload profile +125 diff --git a/perf/configs/msm8996/perf/perfboostsconfig.xml b/perf/configs/msm8996/perf/perfboostsconfig.xml new file mode 100644 index 0000000..64a99e3 --- /dev/null +++ b/perf/configs/msm8996/perf/perfboostsconfig.xml @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2017 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8996" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF, + 0x40800100, 0xFFF, 0x41800000, 140, 0x40400000, 0x1, 0x42C10000, 0x1" /> + + <!--app lauch boost (disabling packing)--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + <Config + Id="0x00001081" Type="2" Enable="false" Timeout="1500" Target="msm8996" + Resources="" /> + + <!-- config_enableLaunchBoostv2--> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="false" Timeout="15000" Target="msm8996" + Resources="" /> + + <!--Vertical Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHEDGROUP resource opcode, value--> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="msm8996" + Resources="0x41800000, 0x33, 0x40800000, 1000, 0x40800100, 1000, 0x40C00000, 0x1, + 0x40C28000, 0x1" /> + + <!--Horizontal Scroll boost--> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="msm8996" + Resources="0x40C00000, 0x1" /> + + <!--Display on Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="msm8996" + Resources="0x40000000, 1" /> + <!--Display off Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="msm8996" + Resources="0x40000000, 0x0" /> + + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/msm8996/perf/perfconfigstore.xml b/perf/configs/msm8996/perf/perfconfigstore.xml new file mode 100644 index 0000000..32b1a3d --- /dev/null +++ b/perf/configs/msm8996/perf/perfconfigstore.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is PerfConfigsStore file which returns the value when a +particular property name is invoked --> + +<!-- This file supports only Prop tag, which has the following fields +* Name, to identify the name of the property. The names of the +properties have been classified into Vendor and System property. +* Value, the new value to be returned as string when respective +property Name is called. --> + +<PerfConfigsStore> + <PerfConfigs> + + <!--Vendor Properties --> + <Prop Name="vendor.iop.enable_uxe" Value="0" /> + <Prop Name="vendor.perf.iop_v3.enable" Value="0" /> + <Prop Name="vendor.perf.iop_v3.enable.debug" Value="0" /> + <Prop Name="vendor.enable.prefetch" Value="0" /> + <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" /> + + <!--System Properties --> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" /> + <Prop Name="ro.vendor.at_library" Value="libqti-at.so" /> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" /> + <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" /> + + </PerfConfigs> +</PerfConfigsStore> diff --git a/perf/configs/msm8996/perf/targetconfig.xml b/perf/configs/msm8996/perf/targetconfig.xml new file mode 100644 index 0000000..9783bf6 --- /dev/null +++ b/perf/configs/msm8996/perf/targetconfig.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="msm8996" + NumClusters="2" + TotalNumCores="4" + SocIds="246,291" + SynCore="1" + MinCoreOnline="0" /> + + <ClustersInfo Id="0" NumCores="2" Type="little" /> + <ClustersInfo Id="1" NumCores="2" Type="big" /> + + </Config1> + + <Config2> + <!-- For msm8996 Pro target, perfboosts tuning is same as msm8996. + So, they share a common target name. --> + <TargetInfo + Target="msm8996" + NumClusters="2" + TotalNumCores="4" + SocIds="305,312" + SynCore="1" + MinCoreOnline="0" /> + + <ClustersInfo Id="0" NumCores="2" Type="little" MaxFrequency="1593600" /> + <ClustersInfo Id="1" NumCores="2" Type="big" /> + + </Config2> + +</TargetConfig> diff --git a/perf/configs/msm8996/perf/targetresourceconfigs.xml b/perf/configs/msm8996/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..03266aa --- /dev/null +++ b/perf/configs/msm8996/perf/targetresourceconfigs.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to mention the resources which are not supported. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing one +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. --> + +<!-- NOTE - It is not Mandatory to write all the resources which are not supported +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x1" Node="/sys/module/lpm_levels/system/perf/perf-l2-fpc/idle_enabled" /> <!-- idle_enabled --> + <Config MajorValue="0x1" MinorValue="0x2" Supported="no" /> <!-- lpm_bias_hyst --> + <Config MajorValue="0x1" MinorValue="0x3" Supported="no" /> <!-- lpm_ref_stddev --> + <Config MajorValue="0x1" MinorValue="0x4" Supported="no" /> <!-- lpm_tmr_add --> + + <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task --> + <Config MajorValue="0x3" MinorValue="0xF" Supported="no" /> <!-- top-app_cpus --> + <Config MajorValue="0x3" MinorValue="0x10" Supported="no" /> <!-- foreground_cpus --> + <Config MajorValue="0x3" MinorValue="0x11" Supported="no" /> <!-- system_background_cpus --> + <Config MajorValue="0x3" MinorValue="0x12" Supported="no" /> <!-- background_cpus --> + <Config MajorValue="0x3" MinorValue="0x15" Supported="no" /> <!-- sched_group_upmigrate --> + <Config MajorValue="0x3" MinorValue="0x16" Supported="no" /> <!-- sched_group_downmigrate --> + <Config MajorValue="0x3" MinorValue="0x18" Supported="no" /> <!-- schedtune.prefer_idle --> + + <!-- For INTERACTIVE major, all the interactive minors are not supported + by default as the recent target moved to schedutil. So, for older targets + where interactive minors are supported they need to be enabled and schedutil + minors are disabled. --> + <Config MajorValue="0x5" MinorValue="0x0" Supported="yes" /> <!-- above_hispeed_delay --> + <Config MajorValue="0x5" MinorValue="0x1" Supported="yes" /> <!-- boost --> + <Config MajorValue="0x5" MinorValue="0x3" Supported="yes" /> <!-- boostpulse_duration --> + <Config MajorValue="0x5" MinorValue="0x4" Supported="yes" /> <!-- go_hispeed_load --> + <Config MajorValue="0x5" MinorValue="0x5" Supported="yes" /> <!-- hispeed_freq --> + <Config MajorValue="0x5" MinorValue="0x6" Supported="yes" /> <!-- io_is_busy --> + <Config MajorValue="0x5" MinorValue="0x7" Supported="yes" /> <!-- min_sample_time --> + <Config MajorValue="0x5" MinorValue="0x8" Supported="yes" /> <!-- target_loads --> + <Config MajorValue="0x5" MinorValue="0x9" Supported="yes" /> <!-- timer_rate --> + <Config MajorValue="0x5" MinorValue="0xA" Supported="yes" /> <!-- timer_slack --> + <Config MajorValue="0x5" MinorValue="0xB" Supported="yes" /> <!-- max_freq_hysteresis --> + <Config MajorValue="0x5" MinorValue="0xC" Supported="yes" /> <!-- use_sched_load --> + <Config MajorValue="0x5" MinorValue="0xF" Supported="no" /> + <Config MajorValue="0x5" MinorValue="0x10" Supported="no" /> + <Config MajorValue="0x5" MinorValue="0x11" Supported="no" /> + + <Config MajorValue="0x9" MinorValue="0x7" Supported="yes" /> <!-- cpu.notify_on_migrate --> + + <!-- All the minors of LLCBW_HWMON MAJOR are not supported --> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" /> + + <Config MajorValue="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq --> + <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,memlat-cpu2/mem_latency/ratio_ceil"/> <!-- l2_memlat_ratio_ceil_1 --> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/msm8998/lm/AdaptLaunchFeature.xml b/perf/configs/msm8998/lm/AdaptLaunchFeature.xml new file mode 100644 index 0000000..f15efc2 --- /dev/null +++ b/perf/configs/msm8998/lm/AdaptLaunchFeature.xml @@ -0,0 +1,39 @@ +<!-- +/****************************************************************************** + @file AdaptLaunchFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2017 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AdaptLaunch</Name> + <Libname>libadaptlaunch.so</Libname> + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>VmRss</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> + <Samples>100</Samples> + <Fields> + <Field>VmRss:</Field> + </Fields> + </Meter> + </Meters> +</Feature> diff --git a/perf/configs/msm8998/lm/ReferenceFeature.xml b/perf/configs/msm8998/lm/ReferenceFeature.xml new file mode 100644 index 0000000..a49beb7 --- /dev/null +++ b/perf/configs/msm8998/lm/ReferenceFeature.xml @@ -0,0 +1,40 @@ +<!-- +/****************************************************************************** + @file ReferenceFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2017 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>RefFeature</Name> + <Libname>libreffeature.so</Libname> + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>RefMeter</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> + <Samples>1</Samples> + <Configs> + <MyConfig1>Test1</MyConfig1> + <MyConfig2>Test2</MyConfig2> + </Configs> + </Meter> + </Meters> +</Feature> diff --git a/perf/configs/msm8998/msm_irqbalance.conf b/perf/configs/msm8998/msm_irqbalance.conf new file mode 100644 index 0000000..5f4e6b9 --- /dev/null +++ b/perf/configs/msm8998/msm_irqbalance.conf @@ -0,0 +1,3 @@ +PRIO=1,1,1,1,0,0,0,0 +IGNORED_IRQ=19,22,39,200,203 +BLACKLIST_IRQ=446,455,456 diff --git a/perf/configs/msm8998/perf/perf-profile0.conf b/perf/configs/msm8998/perf/perf-profile0.conf new file mode 100644 index 0000000..0c358e1 --- /dev/null +++ b/perf/configs/msm8998/perf/perf-profile0.conf @@ -0,0 +1,2 @@ +[priority] # This profile is reserved for perflock requests +99 diff --git a/perf/configs/msm8998/perf/perf-profile1.conf b/perf/configs/msm8998/perf/perf-profile1.conf new file mode 100644 index 0000000..4884b40 --- /dev/null +++ b/perf/configs/msm8998/perf/perf-profile1.conf @@ -0,0 +1,5 @@ +[priority] +120 + +[files] # Write any value to any file (assumes not handled by locks section) +1 /sys/devices/system/cpu/cpu4/core_ctl/min_cpus diff --git a/perf/configs/msm8998/perf/perf-profile2.conf b/perf/configs/msm8998/perf/perf-profile2.conf new file mode 100644 index 0000000..24b1360 --- /dev/null +++ b/perf/configs/msm8998/perf/perf-profile2.conf @@ -0,0 +1,13 @@ +[locks] +0x1B01 # Interactive io_is_busy +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 +0x101 # PM QOS OFF for A57 + +[files] +35 /proc/sys/kernel/sched_downmigrate +55 /proc/sys/kernel/sched_upmigrate + +[priority] +96 + diff --git a/perf/configs/msm8998/perf/perf-profile3.conf b/perf/configs/msm8998/perf/perf-profile3.conf new file mode 100644 index 0000000..3699721 --- /dev/null +++ b/perf/configs/msm8998/perf/perf-profile3.conf @@ -0,0 +1,14 @@ +[locks] +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 + +[files] +19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay +59000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time +65 1400000:68 1700000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads +1824000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq +99 /proc/sys/kernel/sched_init_task_load + +[priority] # Single-threaded workload profile for A57s only +95 + diff --git a/perf/configs/msm8998/perf/perf-profile4.conf b/perf/configs/msm8998/perf/perf-profile4.conf new file mode 100644 index 0000000..1e97d50 --- /dev/null +++ b/perf/configs/msm8998/perf/perf-profile4.conf @@ -0,0 +1,16 @@ +[locks] +0x2310 # Lowering the scaling_max_freq on A57 to 1.6GHz +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 + +[files] +19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay +85 /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load +1632000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq +99000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time +60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads +99 /proc/sys/kernel/sched_init_task_load + +[priority] # Multi-threaded workload profile for A57s only +97 + diff --git a/perf/configs/msm8998/perf/perf-profile5.conf b/perf/configs/msm8998/perf/perf-profile5.conf new file mode 100644 index 0000000..25830aa --- /dev/null +++ b/perf/configs/msm8998/perf/perf-profile5.conf @@ -0,0 +1,15 @@ +[locks] +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 + +[files] +19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay +85 /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load +1632000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq +99000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time +60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads +99 /proc/sys/kernel/sched_init_task_load + +[priority] # 2nd Multi-threaded workload profile for A57s only +120 + diff --git a/perf/configs/msm8998/perf/perf-profile6.conf b/perf/configs/msm8998/perf/perf-profile6.conf new file mode 100644 index 0000000..0b37a5f --- /dev/null +++ b/perf/configs/msm8998/perf/perf-profile6.conf @@ -0,0 +1,8 @@ +[files] +2 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/sample_ms +1200 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/idle_mbps +20 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_io_percent +20 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent + +[priority] # Gaming workload profile +125 diff --git a/perf/configs/msm8998/perf/perfboostsconfig.xml b/perf/configs/msm8998/perf/perfboostsconfig.xml new file mode 100644 index 0000000..1e24ed4 --- /dev/null +++ b/perf/configs/msm8998/perf/perfboostsconfig.xml @@ -0,0 +1,154 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2017 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msm8998" + Resources="0x40C00000, 0x1, 0x40804000, 0x939, 0x40804100, 0xFFF, 0x40800000, 0xFFF, + 0x40800100, 0xFFF, 0x41800000, 140, 0x40400000, 0x1, 0x42C10000, 0x1" /> + + <!--app lauch boost (disabling packing)--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + <Config + Id="0x00001081" Type="2" Enable="false" Timeout="1500" Target="msm8998" + Resources="" /> + + <!-- config_enableLaunchBoostv2--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="msm8998" + Resources="0x40C00000, 0x3, 0x40C58000, 0x5A, 0x40C54000, 0x5F" /> + + <!-- config_enableLaunchBoostv4--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- MPCTLV3_MIN_ONLINE_CPU_CLUSTER_BIG resource opcode, value--> + <!-- MPCTLV3_MIN_ONLINE_CPU_CLUSTER_LITTLE resource opcode, value--> + <!-- MPCTLV3_GO_HISPEED_LOAD_INTERACTIVE_CLUSTER_BIG resource opcode, value--> + <!-- MPCTLV3_GO_HISPEED_LOAD_INTERACTIVE_CLUSTER_LITTLE resource opcode, value--> + <!-- MPCTLV3_HISPEED_FREQ_INTERACTIVE_CLUSTER_BIG resource opcode, value--> + <!-- MPCTLV3_HISPEED_FREQ_INTERACTIVE_CLUSTER_LITTLE resource opcode, value--> + <!-- SCHED DOWNMIGRATE resource opcode, value--> + <!-- SCHED UPMIGRATE resource opcode, value--> + <!-- MPCTLV3_L2_MEMLAT_RATIO_CEIL_0 resource opcode, value--> + <!-- MPCTLV3_L2_MEMLAT_RATIO_CEIL_1 resource opcode, value--> + <!-- MPCTLV3_LPM_LEVELS_REF_STDDEV resource opcode, value--> + <!-- MPCTLV3_LPM_LEVELS_TMR_ADD resource opcode, value--> + + <!-- Type="4", Adaptive Launch boost --> + <Config + Id="0x00001081" Type="4" Enable="true" Timeout="2000" Target="msm8998" + Resources="0x40C00000, 0x2, + 0x41000000, 0x4, 0x41000100, 0x4, + 0x41410000, 0x28, 0x41410100, 0x28, + 0x41414000, 0xFFF, 0x41414100, 0xFFF, + 0x40C20000, 0x28, 0x40C1C000, 0x32, + 0x43404000, 0x2710, 0x43408000, 0x2710, + 0x4040C000, 0x1F4, 0x40410000, 0x3E8" /> + + <!--Vertical Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="msm8998" + Resources="0x41800000, 0x33, 0x40800000, 1000, 0x40800100, 1000, 0x40C00000, 0x2" /> + + <!--Horizontal Scroll boost--> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="msm8998" + Resources="0x40C00000, 0x2" /> + + <!--Pre-Fling boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="4", Pre-Fling boost --> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="msm8998" + Resources="0x41800000, 0x33, 0x40800000, 1000, 0x40800100, 1000, 0x40C00000, 0x2" /> + + <!--PackageInstall boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Package Install boost --> + + <Config + Id="0x00001088" Enable="true" Target="msm8998" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + + <!--Rotation latency boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="msm8998" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + + <!--Rotation animation boost--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- GPU MIN_FREQUENCY resource opcode,value--> + <!-- Type="", Rotation animation boost --> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="msm8998" + Resources="0x40800100, 1000, 0x4280C000, 596" /> + + <!--Display on Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="msm8998" + Resources="0x40000000, 1" /> + <!--Display off Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="msm8998" + Resources="0x40000000, 0x0" /> + + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/msm8998/perf/perfconfigstore.xml b/perf/configs/msm8998/perf/perfconfigstore.xml new file mode 100644 index 0000000..5502861 --- /dev/null +++ b/perf/configs/msm8998/perf/perfconfigstore.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is PerfConfigsStore file which returns the value when a +particular property name is invoked --> + +<!-- This file supports only Prop tag, which has the following fields +* Name, to identify the name of the property. The names of the +properties have been classified into Vendor and System property. +* Value, the new value to be returned as string when respective +property Name is called. --> + +<PerfConfigsStore> + <PerfConfigs> + + <!--Vendor Properties --> + <Prop Name="vendor.iop.enabled" Value="false" /> + <Prop Name="vendor.iop.enable_uxe" Value="0" /> + <Prop Name="vendor.perf.iop_v3.enable" Value="0" /> + <Prop Name="vendor.perf.iop_v3.enable.debug" Value="0" /> + <Prop Name="vendor.enable.prefetch" Value="0" /> + <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" /> + + <!--System Properties --> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" /> + <Prop Name="ro.vendor.at_library" Value="libqti-at.so" /> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" /> + <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" /> + + </PerfConfigs> +</PerfConfigsStore> diff --git a/perf/configs/msm8998/perf/targetconfig.xml b/perf/configs/msm8998/perf/targetconfig.xml new file mode 100644 index 0000000..8d40597 --- /dev/null +++ b/perf/configs/msm8998/perf/targetconfig.xml @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <Config1> + + <TargetInfo + Target="msm8998" + NumClusters="2" + TotalNumCores="8" + SocIds="292,319" + SynCore="1" + CoreCtlCpu="4" + MinCoreOnline="0" /> + + <ClustersInfo Id="0" NumCores="4" Type="little" /> + <ClustersInfo Id="1" NumCores="4" Type="big" MaxFrequency="2361600" /> + + </Config1> + +</TargetConfig> diff --git a/perf/configs/msm8998/perf/targetresourceconfigs.xml b/perf/configs/msm8998/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..a6f6197 --- /dev/null +++ b/perf/configs/msm8998/perf/targetresourceconfigs.xml @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to mention the resources which are not supported. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing one +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. --> + +<!-- NOTE - It is not Mandatory to write all the resources which are not supported +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x2" Supported="no" /> <!-- lpm_bias_hyst --> + + <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task --> + <Config MajorValue="0x3" MinorValue="0x19" Supported="no" /> <!-- sched_initial_task_util --> + <Config MajorValue="0x3" MinorValue="0x1A" Supported="no" /> <!-- sched_load_boost --> + + <!-- For INTERACTIVE major, all the interactive minors are not supported + by default as the recent target moved to schedutil. So, for older targets + where interactive minors are supported they need to be enabled and schedutil + minors are disabled. --> + <Config MajorValue="0x5" MinorValue="0x0" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay" /> <!-- above_hispeed_delay --> + <Config MajorValue="0x5" MinorValue="0x1" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/boost" /> <!-- boost --> + <Config MajorValue="0x5" MinorValue="0x3" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/boostpulse_duration" /> <!-- boostpulse_duration --> + <Config MajorValue="0x5" MinorValue="0x4" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load" /> <!-- go_hispeed_load --> + <Config MajorValue="0x5" MinorValue="0x5" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq" /> <!-- hispeed_freq --> + <Config MajorValue="0x5" MinorValue="0x6" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy" /> <!-- io_is_busy --> + <Config MajorValue="0x5" MinorValue="0x7" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time" /> <!-- min_sample_time --> + <Config MajorValue="0x5" MinorValue="0x8" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads" /><!-- target_loads --> + <Config MajorValue="0x5" MinorValue="0x9" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate" /> <!-- timer_rate --> + <Config MajorValue="0x5" MinorValue="0xA" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_slack" /> <!-- timer_slack --> + <Config MajorValue="0x5" MinorValue="0xB" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis" /> <!-- max_freq_hysteresis --> + <Config MajorValue="0x5" MinorValue="0xC" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load" /> <!-- use_sched_load --> + <Config MajorValue="0x5" MinorValue="0xD" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif" /> <!-- use_migration_notif --> + <Config MajorValue="0x5" MinorValue="0xE" Node="/sys/devices/system/cpu/cpu4/cpufreq/interactive/ignore_hispeed_on_notif" /> <!-- ignore_hispeed_on_notif --> + <Config MajorValue="0x5" MinorValue="0xF" Supported="no" /> <!-- schedutil/hispeed_freq --> + <Config MajorValue="0x5" MinorValue="0x10" Supported="no" /> <!-- schedutil/hispeed_load --> + <Config MajorValue="0x5" MinorValue="0x11" Supported="no" /> <!-- schedutil/pl --> + + <Config MajorValue="0xB" MinorValue="0x6" Supported="no" /> <!-- enable_process_reclaim --> + + <!-- All the minors of LLCBW_HWMON MAJOR are not supported --> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" /> + + <Config MajorValue="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq --> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/msmnile/lm/AdaptLaunchFeature.xml b/perf/configs/msmnile/lm/AdaptLaunchFeature.xml new file mode 100644 index 0000000..7b562b1 --- /dev/null +++ b/perf/configs/msmnile/lm/AdaptLaunchFeature.xml @@ -0,0 +1,46 @@ +<!-- +/****************************************************************************** + @file AdaptLaunchFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2019 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AdaptLaunch</Name> + <Libname>libadaptlaunch.so</Libname> + <Configs> + <Enable>1</Enable> + </Configs> + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>VmRss</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>false</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + </Trigger> + </Triggers> + <Samples>160</Samples> + <Fields> + <Field>VmRss:</Field> + </Fields> + </Meter> + </Meters> +</Feature> diff --git a/perf/configs/msmnile/lm/AppClassifierFeature.xml b/perf/configs/msmnile/lm/AppClassifierFeature.xml new file mode 100644 index 0000000..8128eeb --- /dev/null +++ b/perf/configs/msmnile/lm/AppClassifierFeature.xml @@ -0,0 +1,36 @@ +<!-- +/****************************************************************************** + @file AppClassifierFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AppClassifier</Name> + <Configs> + <Enable>1</Enable> + </Configs> + <Libname>libappclassifier.so</Libname> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> +</Feature> diff --git a/perf/configs/msmnile/lm/GameOptimizationFeature.xml b/perf/configs/msmnile/lm/GameOptimizationFeature.xml new file mode 100644 index 0000000..072fd83 --- /dev/null +++ b/perf/configs/msmnile/lm/GameOptimizationFeature.xml @@ -0,0 +1,146 @@ +<!-- +/****************************************************************************** + @file GameOptimizationFeature.xml + @brief Game Optimization feature xml + + DESCRIPTION + Each feature has an xml file to define the feature components + + =========================================================================== + Copyright (c) 2019 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> + +<Feature> + <Name>GameOptimization</Name> + <Libname>libgameoptfeature.so</Libname> + <Configs> + <Enable>1</Enable> + <MIN_DDR_FREQ>1144</MIN_DDR_FREQ> + <MAX_MIN_DDR_FREQ>2086</MAX_MIN_DDR_FREQ> + </Configs> + <Profiles> + <Profile> + <!-- Default Enable Colocation v3, + sched_min_task_util_for_boost 51, + sched_min_task_util_for_colocation 35 + BIG min_cpus 2 --> + <DEFAULT>0x40C7C000,51,0x40C78000,35,0x41000000,2</DEFAULT> + <!-- For Games disable Colocation v3, + sched_min_task_util_for_boost 0, + sched_min_task_util_for_colocation 0 + BIG min_cpus 3 --> + <SKEW2>0x40C7C000,0,0x40C78000,0,0x41000000,3</SKEW2> + </Profile> + </Profiles> + + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>MinDDR</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + </Triggers> + <Configs> + <MEMLAT_FREQ_VOTE_LITTLE_PATH>/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/cur_freq</MEMLAT_FREQ_VOTE_LITTLE_PATH> + <MEMLAT_FREQ_VOTE_BIG_PATH>/sys/class/devfreq/soc:qcom,cpu6-llcc-ddr-lat/cur_freq</MEMLAT_FREQ_VOTE_BIG_PATH> + <MEMLAT_AVAIL_FREQ_LITTLE_PATH>/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/available_frequencies</MEMLAT_AVAIL_FREQ_LITTLE_PATH> + </Configs> + <Samples>100</Samples> + </Meter> + + <Meter> + <Name>Fps</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + </Triggers> + <Configs> + <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE> + <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE> + </Configs> + <Samples>100</Samples> + </Meter> + </Meters> +</Feature> diff --git a/perf/configs/msmnile/msm_irqbalance.conf b/perf/configs/msmnile/msm_irqbalance.conf new file mode 100644 index 0000000..07126e9 --- /dev/null +++ b/perf/configs/msmnile/msm_irqbalance.conf @@ -0,0 +1,2 @@ +PRIO=1,1,1,1,0,0,0,0 +IGNORED_IRQ=19,21,39 diff --git a/perf/configs/msmnile/perf/perfboostsconfig.xml b/perf/configs/msmnile/perf/perfboostsconfig.xml new file mode 100644 index 0000000..63b9628 --- /dev/null +++ b/perf/configs/msmnile/perf/perfboostsconfig.xml @@ -0,0 +1,212 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2017 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + */ +--> + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- LLCCBW resource opcode, value--> + <!-- L3 resource opcode, value--> + <!-- GPU DISABLE resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msmnile" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF, 0x41800000, 0xFF, + 0x40400000, 0x1, 0x42C10000, 0x1, 0x43000000, 0xFF, 0x43400000, 0xFFFF, + 0x4281C000, 2000" /> + + <!--app lauch boost (disabling packing)--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + <Config + Id="0x00001081" Type="2" Enable="false" Timeout="1500" Target="msmnile" + Resources="" /> + + <!-- config_enableLaunchBoostv2--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- SCHED DOWNMIGRATE resource opcode, value --> + <!-- SCHED UPMIGRATE resource opcode, value --> + <!-- SCHED DOWNMIGRATE PRIME resource opcode, value --> + <!-- SCHED UPMIGRATE PRIME resource opcode, value --> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="msmnile" + Resources="0x40C00000, 0x3, 0x40C58000, 0x2D, 0x40C54000, 0x41, + 0x40408000, 0x63, 0x40C20000, 0x28, 0x40C1C000, 0x3C, + 0x40C20200, 0x28, 0x40C1C200, 0x3C" /> + + <!-- config_gameBoost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- SCHED DOWNMIGRATE resource opcode, value --> + <!-- SCHED UPMIGRATE resource opcode, value --> + <!-- SCHED DOWNMIGRATE PRIME resource opcode, value --> + <!-- SCHED UPMIGRATE PRIME resource opcode, value --> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- LLCCBW resource opcode, value--> + <!-- L3 resource opcode, value--> + + <!-- Type="4", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="msmnile" + Resources="0x40C00000, 0x1, 0x40C58000, 0x2D, 0x40C54000, 0x41, + 0x40408000, 0x63, 0x40C20000, 0x28, 0x40C1C000, 0x3C, + 0x40C20200, 0x28, 0x40C1C200, 0x3C, 0x42C10000, 0x1, + 0x40800200, 0x76C, 0x40800000, 0x76C, 0x40800100, 0x4B0, + 0x41800000, 0x50, 0x43000000, 0x3A, 0x43400000, 0x3480" /> + + <!-- config_enableLaunchBoost6--> + <!-- SLB_BIG, val, SLB_BIG, val, SLB_BIG, val--> + <!-- SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val--> + <!-- SLB_PRIME, val--> + <!-- CPU_DOWN_FREQ_THRESHOLD_US, val us --> + + <!-- Type="6", Game Launch boost --> + <Config + Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="msmnile" + Resources="0x40C68000, 60, 0x40C68010, 60, 0x40C68020, 60, + 0x40C68100, 33, 0x40C68110, 33, 0x40C68120, 33, 0x40C68130, 33, + 0x40C68200, 60, + 0x41448000, 20000 "/> + + <!--Vertical Scroll boost--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="msmnile" + Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40" /> + + <!--Prefling Scroll boost--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + <!-- TIMEOUT 80ms --> + <!-- Type="4", Prefling boost --> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="msmnile" + Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40" /> + + <!--MTP boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + + <!-- Type="", MTP boost --> + <Config + Id="0x00001086" Enable="true" Target="msmnile" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1800, + 0x40800100, 1400" /> + + <!--Drag boost--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + + <!-- Type="1", Drag boost --> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="msmnile" + Resources="0x43000000, 0x11, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40" /> + + <!--PackageInstall boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value--> + <!-- Type="", Package Install boost --> + + <Config + Id="0x00001088" Enable="true" Target="msmnile" + Resources="0x40C00000, 0x2, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200,0xFFF, 0x40CA0000, 0" /> + + <!--Rotation latency boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="msmnile" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200,0xFFF" /> + + <!--Rotation animation boost--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- GPU MIN_FREQUENCY resource opcode,value--> + <!-- Type="", Rotation animation boost --> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="msmnile" + Resources="0x40800100, 1000, 0x42804000, 0" /> + + <!--Display on Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="msmnile" + Resources="0x40000000, 1" /> + <!--Display off Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="msmnile" + Resources="0x40000000, 0x0" /> + + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/msmnile/perf/perfconfigstore.xml b/perf/configs/msmnile/perf/perfconfigstore.xml new file mode 100644 index 0000000..6eb71b9 --- /dev/null +++ b/perf/configs/msmnile/perf/perfconfigstore.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is PerfConfigsStore file which returns the value when a +particular property name is invoked --> + +<!-- This file supports only Prop tag, which has the following fields +* Name, to identify the name of the property. The names of the +properties have been classified into Vendor and System property. +* Value, the new value to be returned as string when respective +property Name is called. --> + +<PerfConfigsStore> + <PerfConfigs> + + <!--Vendor Properties --> + <Prop Name="vendor.iop.enable_uxe" Value="1" /> + <Prop Name="vendor.debug.enable.lm" Value="true" /> + <Prop Name="vendor.perf.iop_v3.enable" Value="true" /> + <Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" /> + <Prop Name="vendor.enable.prefetch" Value="false" /> + <Prop Name="vendor.iop.enable_prefetch_ofr" Value="false" /> + + <!--System Properties --> + <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" /> + <Prop Name="ro.vendor.at_library" Value="libqti-at.so" /> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" /> + + </PerfConfigs> +</PerfConfigsStore> diff --git a/perf/configs/msmnile/perf/targetconfig.xml b/perf/configs/msmnile/perf/targetconfig.xml new file mode 100644 index 0000000..0fd3637 --- /dev/null +++ b/perf/configs/msmnile/perf/targetconfig.xml @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="msmnile" + NumClusters="3" + TotalNumCores="8" + SocIds="339,361,362,367" + SynCore="1" + CoreCtlCpu="4" + MinCoreOnline="0" + CpufreqGov="1" /> + + <ClustersInfo Id="0" NumCores="4" Type="little" /> + <ClustersInfo Id="1" NumCores="3" Type="big" /> + <ClustersInfo Id="2" NumCores="1" Type="prime" /> + + </Config1> + +</TargetConfig> diff --git a/perf/configs/msmnile/perf/targetresourceconfigs.xml b/perf/configs/msmnile/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..ab36af9 --- /dev/null +++ b/perf/configs/msmnile/perf/targetresourceconfigs.xml @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to modify the Supported field information. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing path +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. +NOTE - It is not Mandatory to write all the resources which are not supported, +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x1" Supported="no" /> <!-- toggle_l2_pc_perf --> + + <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task --> + <Config MajorValue="0x3" MinorValue="0x6" Supported="no" /> <!-- sched_init_task_load --> + <Config MajorValue="0x3" MinorValue="0xB" Supported="no" /> <!-- sched_spill_nr_run --> + <Config MajorValue="0x3" MinorValue="0xC" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_set_freq_aggr --> + <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggr_threshold --> + + <Config MajorValue="0x5" MinorValue="0x13" Supported="no" /> <!-- rtg_boost_freq --> + + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent --> + + <Config MajorValue="0x6" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/min_freq" /> + <Config MajorValue="0x6" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/decay_rate" /> + <Config MajorValue="0x6" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/io_percent" /> + <Config MajorValue="0x6" MinorValue="0x4" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/low_power_ceil_mbps" /> + <Config MajorValue="0x6" MinorValue="0x5" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/low_power_io_percent" /> + <Config MajorValue="0x6" MinorValue="0x6" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/max_freq" /> + <Config MajorValue="0x6" MinorValue="0x7" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/polling_interval" /> + <Config MajorValue="0x6" MinorValue="0x8" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/sample_ms" /> + <Config MajorValue="0x6" MinorValue="0x9" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/idle_mbps" /> + + <Config MajorValue="0xB" MinorValue="0x6" Supported="no" /><!-- disable_ppr --> + + <!-- llcbw L3 and DDR major end --> + <Config MajorValue="0xC" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/min_freq" /> + <Config MajorValue="0xC" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/io_percent" /> + <Config MajorValue="0xC" MinorValue="0x3" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/sample_ms" /> + + <Config MajorValue="0xD" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu%d-cpu-l3-lat/min_freq" /> + <Config MajorValue="0xD" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,cpu4-cpu-l3-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0x3" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/mem_latency/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/class/devfreq/soc:qcom,cpu4-cpu-l3-lat/mem_latency/stall_floor" /> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/qcs605/lm/AdaptLaunchFeature.xml b/perf/configs/qcs605/lm/AdaptLaunchFeature.xml new file mode 100644 index 0000000..170c39b --- /dev/null +++ b/perf/configs/qcs605/lm/AdaptLaunchFeature.xml @@ -0,0 +1,47 @@ +<!-- +/****************************************************************************** + @file AdaptLaunchFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2017 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AdaptLaunch</Name> + <Libname>libadaptlaunch.so</Libname> + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>VmRss</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>false</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + </Trigger> + </Triggers> + <Samples>120</Samples> + <Fields> + <Field>VmRss:</Field> + </Fields> + </Meter> + </Meters> + <IgnoredApps> + <App>com.king.candycrushsaga</App> + <App>com.tencent.tmgp.sgame</App> + </IgnoredApps> +</Feature> diff --git a/perf/configs/qcs605/msm_irqbalance.conf b/perf/configs/qcs605/msm_irqbalance.conf new file mode 100644 index 0000000..6990e67 --- /dev/null +++ b/perf/configs/qcs605/msm_irqbalance.conf @@ -0,0 +1,32 @@ +# Copyright (c) 2017, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of The Linux Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# + +PRIO=1,1,0,0,0,0,0,0 +#arch_timer, arm-pmu, arch_mem_timer +IGNORED_IRQ=19,21,38 diff --git a/perf/configs/qcs605/perf/perfboostsconfig.xml b/perf/configs/qcs605/perf/perfboostsconfig.xml new file mode 100644 index 0000000..842cfcf --- /dev/null +++ b/perf/configs/qcs605/perf/perfboostsconfig.xml @@ -0,0 +1,187 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2017 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +*/ +--> + + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + <!-- SCHED DOWNMIGRATE resource opcode, value--> + <!-- SCHED UPMIGRATE resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="qcs605" + Resources="0x40C20000, 0x28, 0x40C1C000, 0x32, 0x40804000, 0xFFF, 0x40804100, 0xFFF, + 0x40800000, 1747, 0x40800100, 1516" /> + + <!--app lauch boost (disabling packing)--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- L3 resource opcode, value--> + <!-- GPU nap resource opcode, value--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="qcs605" + Resources="0x40400000, 0x1, 0x42C10000, 0x1, 0x41800000, 59, + 0x43400000, 1190, 0x4281C000, 1500" /> + + <!-- config_enableLaunchBoostv3--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="qcs605" + Resources="0x40C00000, 0x3, 0x40C58000, 95, 0x40C54000, 100, 0x40408000, 0x63" /> + + <!-- config_enableLaunchBoostv4--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_LITTLE resource opcode, value--> + <!-- GO_HISPEED_LOAD_INTERACTIVE_CLUSTER_BIG resource opcode, value--> + <!-- GO_HISPEED_LOAD_INTERACTIVE_CLUSTER_LITTLE resource opcode, value--> + <!-- HISPEED_FREQ_INTERACTIVE_CLUSTER_BIG resource opcode, value--> + <!-- HISPEED_FREQ_INTERACTIVE_CLUSTER_LITTLE resource opcode, value--> + <!-- SCHED DOWNMIGRATE resource opcode, value--> + <!-- SCHED UPMIGRATE resource opcode, value--> + <!-- L2_MEMLAT_RATIO_CEIL_0 resource opcode, value--> + <!-- L2_MEMLAT_RATIO_CEIL_1 resource opcode, value--> + <!-- LPM_LEVELS_REF_STDDEV resource opcode, value--> + <!-- LPM_LEVELS_TMR_ADD resource opcode, value--> + + <!-- Type="4", Adaptive Launch boost --> + <Config + Id="0x00001081" Type="4" Enable="true" Timeout="2000" Target="qcs605" + Resources="0x41000100, 0x4, 0x41000000, 0x4, + 0x41440000, 0x28, 0x41440100, 0x28, + 0x4143C000, 0xFFF, 0x4143C100, 0xFFF, + 0x40C20000, 0x28, 0x40C1C000, 0x32, + 0x43404000, 0x2710, 0x43408000, 0x2710, + 0x4040C000, 0x1F4, 0x40410000, 0x3E8" /> + + <!--Animation boost --> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <Config + Id="0x00001083" Enable="true" Timeout="400" Target="qcs605" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 2208, 0x40800100, 1708" /> + + <!--Vertical Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- GPU MIN-FREQUENCY resource opcode,value--> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="qcs605" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2" /> + + <!--Horizontal Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- GPU MIN-FREQUENCY resource opcode,value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="qcs605" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2" /> + + <!--Pre-Fling boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- GPU MIN-FREQUENCY resource opcode,value--> + + <!-- Type="4", Pre-Fling boost --> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="qcs605" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2" /> + + <!--MTP boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + + <!-- Type="", MTP boost --> + + <Config + Id="0x00001086" Enable="true" Target="qcs605" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1747, + 0x40800100, 1516, 0x42C10000, 0x1" /> + + <!--PackageInstall boost--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Package Install boost --> + + <Config + Id="0x00001088" Enable="true" Target="qcs605" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF, + 0x40800100, 0xFFF" /> + + <!--Rotation latency boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="qcs605" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + + <!--Rotation animation boost--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- GPU MIN_FREQUENCY resource opcode,value--> + <!-- Type="", Rotation animation boost --> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="qcs605" + Resources="0x40800100, 1000, 0x4280C000, 596" /> + + <!--Display on Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="qcs605" + Resources="0x40000000, 1" /> + <!--Display off Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="qcs605" + Resources="0x40000000, 0x0" /> + + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/qcs605/perf/perfconfigstore.xml b/perf/configs/qcs605/perf/perfconfigstore.xml new file mode 100644 index 0000000..8188c74 --- /dev/null +++ b/perf/configs/qcs605/perf/perfconfigstore.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is PerfConfigsStore file which returns the value when a +particular property name is invoked --> + +<!-- This file supports only Prop tag, which has the following fields +* Name, to identify the name of the property. The names of the +properties have been classified into Vendor and System property. +* Value, the new value to be returned as string when respective +property Name is called. --> + +<PerfConfigsStore> + <PerfConfigs> + + <!--System Properties --> + <Prop Name="vendor.iop.enabled" Value="false" /> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" /> + <Prop Name="ro.vendor.at_library" Value="libqti-at.so" /> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" /> + <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" /> + + </PerfConfigs> +</PerfConfigsStore> diff --git a/perf/configs/qcs605/perf/targetconfig.xml b/perf/configs/qcs605/perf/targetconfig.xml new file mode 100644 index 0000000..5fc41f5 --- /dev/null +++ b/perf/configs/qcs605/perf/targetconfig.xml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="qcs605" + NumClusters="2" + TotalNumCores="8" + SocIds="347" + SynCore="1" + CoreCtlCpu="0" + MinCoreOnline="0" + CpufreqGov="1" /> + + <ClustersInfo Id="0" NumCores="6" Type="little" /> + <ClustersInfo Id="1" NumCores="2" Type="big" /> + + </Config1> + +</TargetConfig> diff --git a/perf/configs/qcs605/perf/targetresourceconfigs.xml b/perf/configs/qcs605/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..87ae4b0 --- /dev/null +++ b/perf/configs/qcs605/perf/targetresourceconfigs.xml @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to modify the Supported field information. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing path +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. +NOTE - It is not Mandatory to write all the resources which are not supported, +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x1" Supported="no" /> <!-- toggle_l2_pc_perf --> + + <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task --> + <Config MajorValue="0x3" MinorValue="0x6" Supported="no" /> <!-- sched_init_task_load --> + <Config MajorValue="0x3" MinorValue="0xB" Supported="no" /> <!-- sched_spill_nr_run --> + <Config MajorValue="0x3" MinorValue="0xC" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_set_freq_aggr --> + <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggr_threshold --> + + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent --> + + <!-- All the minors of LLCBW_HWMON major are not supported. --> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" /> + + <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,memlat-cpu6/mem_latency/ratio_ceil"/> <!-- l2_memlat_ratio_ceil_1 --> + <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/class/devfreq/soc:qcom,memlat-cpu6/mem_latency/stall_floor"/> <!-- memlat_stall_floor --> + <Config MajorValue="0xD" MinorValue="0x6" Node="/sys/class/devfreq/soc:qcom,memlat-cpu6/min_freq"/> <!-- memlat_min_freq --> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/sdm660/msm_irqbalance.conf b/perf/configs/sdm660/msm_irqbalance.conf new file mode 100644 index 0000000..23c0829 --- /dev/null +++ b/perf/configs/sdm660/msm_irqbalance.conf @@ -0,0 +1,3 @@ +PRIO=1,1,0,0,0,0,0,0 +IGNORED_IRQ=19,22,39,200,203 +BLACKLIST_IRQ=446,455,456 diff --git a/perf/configs/sdm660/perf/perfboostsconfig.xml b/perf/configs/sdm660/perf/perfboostsconfig.xml new file mode 100644 index 0000000..c6538e8 --- /dev/null +++ b/perf/configs/sdm660/perf/perfboostsconfig.xml @@ -0,0 +1,475 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2017 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm660" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1747, + 0x40800100, 1400" /> + + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm658" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1747, + 0x40800100, 1400" /> + + <!--sdm630,sdm455 app lauch boost--> + <!-- SCHEDBOOST resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHED_SPILL_NR_RUN resource opcode, value --> + <!-- SCHED_RESTRICT_CLUSTER_SPILL resource opcode, value --> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm630" + Resources="0x40C00000, 0x1, 0x40800000, 1880, + 0x40800100, 1720, 0x40C2C000, 1, 0x40C34000, 0" /> + + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm455" + Resources="0x40C00000, 0x1, 0x40800000, 1880, + 0x40800100, 1720, 0x40C2C000, 1, 0x40C34000, 0" /> + + <!--app lauch boost (disabling packing)--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="sdm660" + Resources="0x40400000, 0x1, 0x42C10000, 0x1" /> + + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="sdm658" + Resources="0x40400000, 0x1, 0x42C10000, 0x1" /> + + <!--sdm630,sdm455 app lauch boost (disabling packing)--> + <!-- POWER COLLAPSE resource opcode, value--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="sdm630" + Resources="0x40400000, 0x1" /> + + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="sdm455" + Resources="0x40400000, 0x1" /> + + <!-- config_enableLaunchBoostv3--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdm660" Kernel="4.4" + Resources="0x40C5C000, 50, 0x40C58000, 95, 0x40C54000, 100" /> + + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdm660" Kernel="4.14" + Resources="0x40C58000, 95, 0x40C54000, 100" /> + + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdm660" Kernel="4.19" + Resources="0x40C58000, 95, 0x40C54000, 100" /> + + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdm658" + Resources="0x40C5C000, 50, 0x40C58000, 95, 0x40C54000, 100" /> + + <!--sdm630,sdm455 config_enableLaunchBoostv3--> + <!-- SCHED FREQ AGGR THRESHOLD resource opcode, value--> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdm630" + Resources="0x40C5C000, 80" /> + + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdm455" + Resources="0x40C5C000, 80" /> + + <!--Vertical Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- ABOVE_HISPEED_DELAY_BIG resource opcode, value--> + <!-- IO_IS_BUSY_BIG resource opcode, value--> + <!-- SCHED FREQ_AGGR_THRH resource opcode,value--> + <!-- GPU MIN-FREQUENCY resource opcode,value--> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="sdm660" Resolution="1080p" Kernel="4.4" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, + 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="sdm660" Resolution="2560" Kernel="4.4" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, + 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40, 0x4280C000, 266" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="sdm658" Resolution="1080p" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, + 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="sdm658" Resolution="2560" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, + 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40, 0x4280C000, 266" /> + + <!--sdm660,K4.14 Vertical Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- GPU MIN-FREQUENCY resource opcode,value--> + + <!-- Type="1", Vertical Scroll boost --> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="sdm660" Resolution="1080p" Kernel="4.14" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="sdm660" Resolution="2560" Kernel="4.14" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, 0x4280C000, 266" /> + + <!--sdm660,K4.19 Vertical Scroll boost--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- GPU MIN-FREQUENCY resource opcode,value--> + + <!-- Type="1", Vertical Scroll boost --> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="sdm660" Resolution="1080p" Kernel="4.19" + Resources="0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="sdm660" Resolution="2560" Kernel="4.19" + Resources="0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, 0x4280C000, 266" /> + + <!--sdm630,sdm455 Vertical Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHED FREQ_AGGR_THRH resource opcode,value--> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="sdm630" + Resources="0x41800000, 0x1C, 0x40800000, 1344, 0x40800100, 600, + 0x40C5C000, 80" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="sdm455" + Resources="0x41800000, 0x1C, 0x40800000, 1344, 0x40800100, 600, + 0x40C5C000, 80" /> + + <!--Horizontal Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- ABOVE_HISPEED_DELAY_BIG resource opcode, value--> + <!-- IO_IS_BUSY_BIG resource opcode, value--> + <!-- SCHED FREQ_AGGR_THRH resource opcode,value--> + <!-- GPU MIN-FREQUENCY resource opcode,value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="sdm660" Resolution="1080p" Kernel="4.4" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, + 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40" /> + <Config + Id="0x00001080" Type="2" Enable="true" Target="sdm660" Resolution="2560" Kernel="4.4" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, + 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40, 0x4280C000, 266" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="sdm658" Resolution="1080p" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, + 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40" /> + <Config + Id="0x00001080" Type="2" Enable="true" Target="sdm658" Resolution="2560" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, + 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40, 0x4280C000, 266" /> + + <!--sdm660,K4.14 Horizontal Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- GPU MIN-FREQUENCY resource opcode,value--> + + <!-- Type="2", Horizontal Scroll boost --> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="sdm660" Resolution="1080p" Kernel="4.14" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="sdm660" Resolution="2560" Kernel="4.14" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, 0x4280C000, 266" /> + + <!--sdm660,K4.19 Horizontal Scroll boost--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- GPU MIN-FREQUENCY resource opcode,value--> + + <!-- Type="2", Horizontal Scroll boost --> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="sdm660" Resolution="1080p" Kernel="4.19" + Resources="0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="sdm660" Resolution="2560" Kernel="4.19" + Resources="0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, 0x4280C000, 266" /> + + <!--sdm630,sdm455 Horizontal Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHED FREQ_AGGR_THRH resource opcode,value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="sdm630" + Resources="0x41800000, 0x1C, 0x40800000, 1344, 0x40800100, 600, + 0x40C5C000, 80" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="sdm455" + Resources="0x41800000, 0x1C, 0x40800000, 1344, 0x40800100, 600, + 0x40C5C000, 80" /> + + <!--Pre-Fling boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- ABOVE_HISPEED_DELAY_BIG resource opcode, value--> + <!-- IO_IS_BUSY_BIG resource opcode, value--> + <!-- SCHED FREQ_AGGR_THRH resource opcode,value--> + <!-- GPU MIN-FREQUENCY resource opcode,value--> + + <!-- Type="4", Pre-Fling boost --> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm660" Resolution="1080p" Kernel="4.4" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, + 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40" /> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm660" Resolution="2560" Kernel="4.4" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, + 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40, 0x4280C000, 266" /> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm658" Resolution="1080p" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, + 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40" /> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm658" Resolution="2560" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, + 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40, 0x4280C000, 266" /> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm630" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, + 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40" /> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm455" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, + 0x41400000, 1, 0x41418000, 1, 0x40C5C000, 40" /> + + <!--sdm660,K4.14 Pre-Fling boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- GPU MIN-FREQUENCY resource opcode,value--> + + <!-- Type="4", Pre-Fling boost --> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm660" Resolution="1080p" Kernel="4.14" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2" /> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm660" Resolution="2560" Kernel="4.14" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, 0x4280C000, 266" /> + + <!--sdm660,K4.19 Pre-Fling boost--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- GPU MIN-FREQUENCY resource opcode,value--> + + <!-- Type="4", Pre-Fling boost --> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm660" Resolution="1080p" Kernel="4.19" + Resources="0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2" /> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm660" Resolution="2560" Kernel="4.19" + Resources="0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2, 0x4280C000, 266" /> + + <!--MTP boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + + <!-- Type="", MTP boost --> + + <Config + Id="0x00001086" Enable="true" Target="sdm660" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1800, + 0x40800100, 1400, 0x42C10000, 0x1" /> + + <Config + Id="0x00001086" Enable="true" Target="sdm658" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1800, + 0x40800100, 1400, 0x42C10000, 0x1" /> + + <Config + Id="0x00001086" Enable="true" Target="sdm630" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1800, + 0x40800100, 1400, 0x42C10000, 0x1" /> + + <Config + Id="0x00001086" Enable="true" Target="sdm455" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1800, + 0x40800100, 1400, 0x42C10000, 0x1" /> + <!--PackageInstall boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Package Install boost --> + + <Config + Id="0x00001088" Enable="true" Target="sdm660" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + <Config + Id="0x00001088" Enable="true" Target="sdm658" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + <Config + Id="0x00001088" Enable="true" Target="sdm630" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + <Config + Id="0x00001088" Enable="true" Target="sdm455" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + + <!--Rotation latency boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="sdm660" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="sdm658" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="sdm630" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="sdm455" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + + <!--Rotation animation boost--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- GPU MIN_FREQUENCY resource opcode,value--> + <!-- Type="", Rotation animation boost --> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="sdm660" + Resources="0x40800100, 1000, 0x4280C000, 596" /> + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="sdm658" + Resources="0x40800100, 1000, 0x4280C000, 596" /> + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="sdm630" + Resources="0x40800100, 1000, 0x4280C000, 596" /> + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="sdm455" + Resources="0x40800100, 1000, 0x4280C000, 596" /> + + <!--Display on Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="sdm660" + Resources="0x40000000, 1" /> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="sdm658" + Resources="0x40000000, 1" /> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="sdm630" + Resources="0x40000000, 1" /> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="sdm455" + Resources="0x40000000, 1" /> + <!--Display off Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="sdm660" + Resources="0x40000000, 0x0" /> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="sdm658" + Resources="0x40000000, 0x0" /> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="sdm630" + Resources="0x40000000, 0x0" /> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="sdm455" + Resources="0x40000000, 0x0" /> + + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/sdm660/perf/perfconfigstore.xml b/perf/configs/sdm660/perf/perfconfigstore.xml new file mode 100644 index 0000000..140829d --- /dev/null +++ b/perf/configs/sdm660/perf/perfconfigstore.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is PerfConfigsStore file which returns the value when a +particular property name is invoked --> + +<!-- This file supports only Prop tag, which has the following fields +* Name, to identify the name of the property. The names of the +properties have been classified into Vendor and System property. +* Value, the new value to be returned as string when respective +property Name is called. --> + +<PerfConfigsStore> + <PerfConfigs> + + <!--Vendor Properties --> + <Prop Name="vendor.iop.enabled" Value="false" /> + <Prop Name="vendor.iop.enable_uxe" Value="0" /> + <Prop Name="vendor.perf.iop_v3.enable" Value="0" /> + <Prop Name="vendor.perf.iop_v3.enable.debug" Value="0" /> + <Prop Name="vendor.enable.prefetch" Value="0" /> + <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" /> + + <!--System Properties --> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" /> + <Prop Name="ro.vendor.at_library" Value="libqti-at.so" /> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" /> + <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" /> + + <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" Kernel="4.19" /> + <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="true" Kernel="4.19" /> + <Prop Name="ro.lmk.enhance_batch_kill" Value="false" Kernel="4.19" /> + <Prop Name="ro.lmk.enable_watermark_check" Value="true" Kernel="4.19" /> + <Prop Name="ro.lmk.use_new_strategy_dup" Value="true" Kernel="4.19" /> + <Prop Name="ro.lmk.super_critical" Value="606" Kernel="4.19" /> + <Prop Name="ro.lmk.direct_reclaim_pressure" Value="45" Kernel="4.19" /> + + </PerfConfigs> +</PerfConfigsStore> diff --git a/perf/configs/sdm660/perf/targetconfig.xml b/perf/configs/sdm660/perf/targetconfig.xml new file mode 100644 index 0000000..46efa03 --- /dev/null +++ b/perf/configs/sdm660/perf/targetconfig.xml @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="sdm660" + NumClusters="2" + TotalNumCores="8" + SocIds="317,324,345,346" + SynCore="1" + CoreCtlCpu="4" + MinCoreOnline="0" /> + + <ClustersInfo Id="0" NumCores="4" Type="little" /> + <ClustersInfo Id="1" NumCores="4" Type="big" /> + + </Config1> + + <Config2> + + <TargetInfo + Target="sdm630" + NumClusters="2" + TotalNumCores="8" + SocIds="318,327" + SynCore="1" + MinCoreOnline="0" /> + + <ClustersInfo Id="0" NumCores="4" Type="big" /> + <ClustersInfo Id="1" NumCores="4" Type="little" /> + + </Config2> + + <Config3> + <TargetInfo + Target="sdm658" + NumClusters="2" + TotalNumCores="6" + SocIds="325,326" + SynCore="1" + CoreCtlCpu="4" + MinCoreOnline="0" /> + + <ClustersInfo Id="0" NumCores="2" Type="little" /> + <ClustersInfo Id="1" NumCores="4" Type="big" /> + + </Config3> + + <Config4> + <TargetInfo + Target="sdm455" + NumClusters="2" + TotalNumCores="8" + SocIds="385" + SynCore="1" + MinCoreOnline="0" /> + + <ClustersInfo Id="0" NumCores="4" Type="big" /> + <ClustersInfo Id="1" NumCores="4" Type="little" /> + + </Config4> + +</TargetConfig> diff --git a/perf/configs/sdm660/perf/targetresourceconfigs.xml b/perf/configs/sdm660/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..50cd272 --- /dev/null +++ b/perf/configs/sdm660/perf/targetresourceconfigs.xml @@ -0,0 +1,125 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to mention the resources which are not supported. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing one +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. --> + +<!-- NOTE - It is not Mandatory to write all the resources which are not supported +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x2" Kernel="4.4" Supported="no" /> <!-- lpm_bias_hyst --> + + <Config MajorValue="0x1" MinorValue="0x1" Kernel="4.14" Supported="no" /> <!-- perf-l2-pc/idle_enabled --> + <Config MajorValue="0x1" MinorValue="0x3" Kernel="4.14" Supported="no" /> <!-- ref_stddev --> + <Config MajorValue="0x1" MinorValue="0x4" Kernel="4.14" Supported="no" /> <!-- tmr_add --> + + <Config MajorValue="0x1" MinorValue="0x2" Kernel="4.19" Supported="no" /> <!-- lpm_bias_hyst --> + <Config MajorValue="0x1" MinorValue="0x3" Kernel="4.19" Supported="no" /> <!-- lpm_ref_stddev --> + <Config MajorValue="0x1" MinorValue="0x4" Kernel="4.19" Supported="no" /> <!-- lpm_tmr_add --> + + <Config MajorValue="0x3" MinorValue="0x2" Kernel="4.14" Supported="no" /> <!-- sched_migration_cost_ns --> + <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task --> + <Config MajorValue="0x3" MinorValue="0x6" Kernel="4.14" Supported="no" /> <!-- sched_init_task_load --> + <Config MajorValue="0x3" MinorValue="0xB" Kernel="4.14" Supported="no" /> <!-- sched_spill_nr_run --> + <Config MajorValue="0x3" MinorValue="0xC" Kernel="4.14" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Kernel="4.14" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0x13" Kernel="4.14" Supported="no" /> <!-- sched_freq_aggregate --> + <Config MajorValue="0x3" MinorValue="0x14" Kernel="4.14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x17" Kernel="4.14" Supported="no" /> <!-- sched_freq_aggregate_threshold --> + <Config MajorValue="0x3" MinorValue="0x19" Kernel="4.14" Supported="no" /> <!-- sched_initial_task_util --> + <Config MajorValue="0x3" MinorValue="0x21" Kernel="4.14" Supported="no" /> <!-- sched_user_hint --> + <Config MajorValue="0x3" MinorValue="0x22" Kernel="4.14" Supported="no" /> <!-- sched_task_unfilter_nr_windows --> + <Config MajorValue="0x3" MinorValue="0x23" Kernel="4.14" Supported="no" /> <!-- sched_coloc_downmigrate_ns --> + <Config MajorValue="0x3" MinorValue="0x24" Kernel="4.14" Supported="no" /> <!-- sched_coloc_busy_hysteresis_enable_cpus --> + <Config MajorValue="0x3" MinorValue="0x25" Kernel="4.14" Supported="no" /> <!-- sched_coloc_busy_hyst_ns --> + <Config MajorValue="0x3" MinorValue="0x26" Kernel="4.14" Supported="no" /> <!-- sched_window_stats_policy --> + <Config MajorValue="0x3" MinorValue="0x29" Kernel="4.14" Supported="no" /> <!-- sched_ravg_window_nr_ticks --> + + <Config MajorValue="0x3" MinorValue="0x6" Kernel="4.19" Supported="no" /> <!-- sched_init_task_load --> + <Config MajorValue="0x3" MinorValue="0xB" Kernel="4.19" Supported="no" /> <!-- sched_spill_nr_run --> + <Config MajorValue="0x3" MinorValue="0xC" Kernel="4.19" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Kernel="4.19" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0x13" Kernel="4.19" Supported="no" /> <!-- sched_set_freq_aggr --> + <Config MajorValue="0x3" MinorValue="0x14" Kernel="4.19" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x17" Kernel="4.19" Supported="no" /> <!-- sched_freq_aggr_threshold --> + <Config MajorValue="0x3" MinorValue="0x19" Kernel="4.19" Supported="no" /> <!-- sched_initial_task_util --> + <Config MajorValue="0x3" MinorValue="0x21" Kernel="4.19" Supported="no" /> <!-- sched_user_hint --> + <Config MajorValue="0x3" MinorValue="0x22" Kernel="4.19" Supported="no" /> <!-- sched_task_unfilter_nr_windows --> + + <!-- For INTERACTIVE major, all the interactive minors are not supported by default as the recent target moved to schedutil. + So, for older targets where interactive minors are supported they need to be enabled and schedutil minors are disabled. --> + <Config MajorValue="0x5" MinorValue="0x0" Kernel="4.4" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0x1" Kernel="4.4" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0x3" Kernel="4.4" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0x4" Kernel="4.4" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0x5" Kernel="4.4" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0x6" Kernel="4.4" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0x7" Kernel="4.4" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0x8" Kernel="4.4" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0x9" Kernel="4.4" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0xA" Kernel="4.4" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0xB" Kernel="4.4" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0xC" Kernel="4.4" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0xD" Kernel="4.4" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0xE" Kernel="4.4" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0xF" Kernel="4.4" Supported="no" /> + <Config MajorValue="0x5" MinorValue="0x10" Kernel="4.4" Supported="no" /> + <Config MajorValue="0x5" MinorValue="0x11" Kernel="4.4" Supported="no" /> + <Config MajorValue="0x5" MinorValue="0x12" Kernel="4.4" Supported="no" /> + + <Config MajorValue="0x5" MinorValue="0xF" Kernel="4.14" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0x10" Kernel="4.14" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0x11" Kernel="4.14" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0x12" Kernel="4.14" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0x13" Supported="no" /> + + <Config MajorValue="0x5" MinorValue="0xF" Kernel="4.19" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0x10" Kernel="4.19" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0x11" Kernel="4.19" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0x12" Kernel="4.19" Supported="yes" /> + <Config MajorValue="0x5" MinorValue="0x13" Kernel="4.19" Supported="yes" /> + <!--All the cpubw_hwmon path are now migrated to new opcodes. Hence unsupporting old ones--> + <Config MajorValue="0x6" MinorValue="0x0" Kernel="4.19" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x1" Kernel="4.19" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x2" Kernel="4.19" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x3" Kernel="4.19" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x4" Kernel="4.19" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x5" Kernel="4.19" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x6" Kernel="4.19" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x7" Kernel="4.19" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x8" Kernel="4.19" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x9" Kernel="4.19" Supported="no" /> + + <Config MajorValue="0xB" MinorValue="0x2" Kernel="4.19" Node="/sys/devices/system/cpu/cpu_boost/input_boost_freq" /> <!-- input_boost_freq on kernel 4.19 --> + + <!-- All the minors of LLCBW_HWMON MAJOR are not supported --> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" /> + + <Config MajorValue="0xC" MinorValue="0xA" Kernel="4.19" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0xC" MinorValue="0xB" Kernel="4.19" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent --> + + <Config MajorValue="0xD" MinorValue="0x0" Supported="no" /> <!-- l3_min_freq --> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/sdm710/lm/AdaptLaunchFeature.xml b/perf/configs/sdm710/lm/AdaptLaunchFeature.xml new file mode 100644 index 0000000..170c39b --- /dev/null +++ b/perf/configs/sdm710/lm/AdaptLaunchFeature.xml @@ -0,0 +1,47 @@ +<!-- +/****************************************************************************** + @file AdaptLaunchFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2017 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AdaptLaunch</Name> + <Libname>libadaptlaunch.so</Libname> + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>VmRss</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>false</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + </Trigger> + </Triggers> + <Samples>120</Samples> + <Fields> + <Field>VmRss:</Field> + </Fields> + </Meter> + </Meters> + <IgnoredApps> + <App>com.king.candycrushsaga</App> + <App>com.tencent.tmgp.sgame</App> + </IgnoredApps> +</Feature> diff --git a/perf/configs/sdm710/msm_irqbalance.conf b/perf/configs/sdm710/msm_irqbalance.conf new file mode 100644 index 0000000..0699e4e --- /dev/null +++ b/perf/configs/sdm710/msm_irqbalance.conf @@ -0,0 +1,2 @@ +PRIO=1,1,1,1,0,0,0,0 +IGNORED_IRQ=19,21,38,188 diff --git a/perf/configs/sdm710/perf/perfboostsconfig.xml b/perf/configs/sdm710/perf/perfboostsconfig.xml new file mode 100644 index 0000000..fb0ab6b --- /dev/null +++ b/perf/configs/sdm710/perf/perfboostsconfig.xml @@ -0,0 +1,211 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2017 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +*/ +--> + + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + <!-- SCHED DOWNMIGRATE resource opcode, value--> + <!-- SCHED UPMIGRATE resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm710" + Resources="0x40C20000, 0x28, 0x40C1C000, 0x32, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1747, + 0x40800100, 1516" /> + + <!--app lauch boost (disabling packing)--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- LLCCBW resource opcode, value--> + <!-- L3 resource opcode, value--> + <!-- GPU nap resource opcode, value--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="sdm710" + Resources="0x40400000, 0x1, 0x42C10000, 0x1, 0x41800000, 59, + 0x43000000, 806, 0x43400000, 1190, 0x4281C000, 1500" /> + + <!-- config_enableLaunchBoostv3--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdm710" + Resources="0x40C00000, 0x3, 0x40C58000, 95, 0x40C54000, 100, 0x40408000, 0x63" /> + + <!-- config_gameBoost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <!-- Type="4", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="sdm710" + Resources="0x40C00000, 0x3, 0x40C58000, 95, 0x40C54000, 100, 0x40408000, 0x63" /> + + <!-- config_enableLaunchBoostv5--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_LITTLE resource opcode, value--> + <!-- GO_HISPEED_LOAD_INTERACTIVE_CLUSTER_BIG resource opcode, value--> + <!-- GO_HISPEED_LOAD_INTERACTIVE_CLUSTER_LITTLE resource opcode, value--> + <!-- HISPEED_FREQ_INTERACTIVE_CLUSTER_BIG resource opcode, value--> + <!-- HISPEED_FREQ_INTERACTIVE_CLUSTER_LITTLE resource opcode, value--> + <!-- SCHED DOWNMIGRATE resource opcode, value--> + <!-- SCHED UPMIGRATE resource opcode, value--> + <!-- L2_MEMLAT_RATIO_CEIL_0 resource opcode, value--> + <!-- L2_MEMLAT_RATIO_CEIL_1 resource opcode, value--> + <!-- LPM_LEVELS_REF_STDDEV resource opcode, value--> + <!-- LPM_LEVELS_TMR_ADD resource opcode, value--> + + <!-- Type="5", Adaptive Launch boost --> + <Config + Id="0x00001081" Type="5" Enable="true" Timeout="2000" Target="sdm710" + Resources="0x41000100, 0x4, 0x41000000, 0x4, + 0x41440000, 0x28, 0x41440100, 0x28, + 0x4143C000, 0xFFF, 0x4143C100, 0xFFF, + 0x40C20000, 0x28, 0x40C1C000, 0x32, + 0x43404000, 0x2710, 0x43408000, 0x2710, + 0x4040C000, 0x1F4, 0x40410000, 0x3E8" /> + + <!-- config_enableLaunchBoost6--> + <!-- SLB_BIG, val, SLB_BIG, val--> + <!-- SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val --> + <!-- CPU_DOWN_FREQ_THRESHOLD_US, val us --> + + <!-- Type="6", Game Launch boost --> + <Config + Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="sdm710" + Resources="0x40C68000, 60, 0x40C68010, 60, + 0x40C68100, 33, 0x40C68110, 33, 0x40C68120, 33, 0x40C68130, 33, 0x40C68140, 33, 0x40C68150, 33, + 0x41448000, 20000 "/> + + <!--Animation boost --> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <Config + Id="0x00001083" Enable="true" Timeout="400" Target="sdm710" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 2208, 0x40800100, 1708" /> + + <!--Vertical Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- GPU MIN-FREQUENCY resource opcode,value--> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="sdm710" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2" /> + + <!--Horizontal Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- GPU MIN-FREQUENCY resource opcode,value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="sdm710" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2" /> + + <!--Pre-Fling boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- GPU MIN-FREQUENCY resource opcode,value--> + + <!-- Type="4", Pre-Fling boost --> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm710" + Resources="0x41800000, 0x31, 0x40800000, 1100, 0x40800100, 1100, 0x40C00000, 2" /> + + <!--MTP boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + + <!-- Type="", MTP boost --> + + <Config + Id="0x00001086" Enable="true" Target="sdm710" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1747, + 0x40800100, 1516, 0x42C10000, 0x1" /> + + <!--PackageInstall boost--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Package Install boost --> + + <Config + Id="0x00001088" Enable="true" Target="sdm710" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF, + 0x40800100, 0xFFF" /> + + <!--Rotation latency boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="sdm710" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + + <!--Rotation animation boost--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- GPU MIN_FREQUENCY resource opcode,value--> + <!-- Type="", Rotation animation boost --> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="sdm710" + Resources="0x40800100, 1000, 0x4280C000, 596" /> + + <!--Display on Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="sdm710" + Resources="0x40000000, 1" /> + <!--Display off Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="sdm710" + Resources="0x40000000, 0x0" /> + + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/sdm710/perf/perfconfigstore.xml b/perf/configs/sdm710/perf/perfconfigstore.xml new file mode 100644 index 0000000..8fc13a8 --- /dev/null +++ b/perf/configs/sdm710/perf/perfconfigstore.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is PerfConfigsStore file which returns the value when a +particular property name is invoked --> + +<!-- This file supports only Prop tag, which has the following fields +* Name, to identify the name of the property. The names of the +properties have been classified into Vendor and System property. +* Value, the new value to be returned as string when respective +property Name is called. --> + +<PerfConfigsStore> + <PerfConfigs> + + <!--Vendor Properties --> + <Prop Name="vendor.debug.enable.lm" Value="true" /> + <Prop Name="vendor.iop.enabled" Value="false" /> + <Prop Name="vendor.iop.enable_uxe" Value="0" /> + <Prop Name="vendor.perf.iop_v3.enable" Value="0" /> + <Prop Name="vendor.perf.iop_v3.enable.debug" Value="0" /> + <Prop Name="vendor.enable.prefetch" Value="0" /> + <Prop Name="vendor.iop.enable_prefetch_ofr" Value="0" /> + + <!--System Properties --> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" /> + <Prop Name="ro.vendor.at_library" Value="libqti-at.so" /> + <Prop Name="ro.vendor.iocgrp.config" Value="1" /> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" /> + <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" /> + + </PerfConfigs> +</PerfConfigsStore> diff --git a/perf/configs/sdm710/perf/targetconfig.xml b/perf/configs/sdm710/perf/targetconfig.xml new file mode 100644 index 0000000..d9b184c --- /dev/null +++ b/perf/configs/sdm710/perf/targetconfig.xml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="sdm710" + NumClusters="2" + TotalNumCores="8" + SocIds="336,337,360,371,393" + SynCore="1" + CoreCtlCpu="0" + MinCoreOnline="0" + CpufreqGov="1" /> + + <ClustersInfo Id="0" NumCores="6" Type="little" /> + <ClustersInfo Id="1" NumCores="2" Type="big" /> + + </Config1> + +</TargetConfig> diff --git a/perf/configs/sdm710/perf/targetresourceconfigs.xml b/perf/configs/sdm710/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..8d657d7 --- /dev/null +++ b/perf/configs/sdm710/perf/targetresourceconfigs.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to modify the Supported field information. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing path +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. +NOTE - It is not Mandatory to write all the resources which are not supported, +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x1" Supported="no" /> <!-- toggle_l2_pc_perf --> + + <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task --> + <Config MajorValue="0x3" MinorValue="0x6" Supported="no" /> <!-- sched_init_task_load --> + <Config MajorValue="0x3" MinorValue="0xB" Supported="no" /> <!-- sched_spill_nr_run --> + <Config MajorValue="0x3" MinorValue="0xC" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_set_freq_aggr --> + <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggr_threshold --> + + <Config MajorValue="0x5" MinorValue="0x13" Supported="no" /> <!-- rtg_boost_freq --> + + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent --> + + <!-- All the minors of LLCBW_HWMON major are not supported. --> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" /> + + <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,memlat-cpu6/mem_latency/ratio_ceil"/> <!-- l2_memlat_ratio_ceil_1 --> + <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/class/devfreq/soc:qcom,memlat-cpu6/mem_latency/stall_floor"/> <!-- memlat_stall_floor --> + <Config MajorValue="0xD" MinorValue="0x6" Node="/sys/class/devfreq/soc:qcom,memlat-cpu6/min_freq"/> <!-- memlat_min_freq --> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/sdm845/msm_irqbalance.conf b/perf/configs/sdm845/msm_irqbalance.conf new file mode 100644 index 0000000..0699e4e --- /dev/null +++ b/perf/configs/sdm845/msm_irqbalance.conf @@ -0,0 +1,2 @@ +PRIO=1,1,1,1,0,0,0,0 +IGNORED_IRQ=19,21,38,188 diff --git a/perf/configs/sdm845/perf/perf-profile0.conf b/perf/configs/sdm845/perf/perf-profile0.conf new file mode 100644 index 0000000..0c358e1 --- /dev/null +++ b/perf/configs/sdm845/perf/perf-profile0.conf @@ -0,0 +1,2 @@ +[priority] # This profile is reserved for perflock requests +99 diff --git a/perf/configs/sdm845/perf/perf-profile1.conf b/perf/configs/sdm845/perf/perf-profile1.conf new file mode 100644 index 0000000..4884b40 --- /dev/null +++ b/perf/configs/sdm845/perf/perf-profile1.conf @@ -0,0 +1,5 @@ +[priority] +120 + +[files] # Write any value to any file (assumes not handled by locks section) +1 /sys/devices/system/cpu/cpu4/core_ctl/min_cpus diff --git a/perf/configs/sdm845/perf/perf-profile2.conf b/perf/configs/sdm845/perf/perf-profile2.conf new file mode 100644 index 0000000..814a607 --- /dev/null +++ b/perf/configs/sdm845/perf/perf-profile2.conf @@ -0,0 +1,12 @@ +[locks] +0x1B01 # Interactive io_is_busy +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 +0x101 # PM QOS OFF for A57 + +[files] +35 /proc/sys/kernel/sched_downmigrate +55 /proc/sys/kernel/sched_upmigrate + +[priority] +96 diff --git a/perf/configs/sdm845/perf/perf-profile3.conf b/perf/configs/sdm845/perf/perf-profile3.conf new file mode 100644 index 0000000..0267058 --- /dev/null +++ b/perf/configs/sdm845/perf/perf-profile3.conf @@ -0,0 +1,13 @@ +[locks] +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 + +[files] +19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay +59000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time +65 1400000:68 1700000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads +1824000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq +99 /proc/sys/kernel/sched_init_task_load + +[priority] # Single-threaded workload profile for A57s only +95 diff --git a/perf/configs/sdm845/perf/perf-profile4.conf b/perf/configs/sdm845/perf/perf-profile4.conf new file mode 100644 index 0000000..018f373 --- /dev/null +++ b/perf/configs/sdm845/perf/perf-profile4.conf @@ -0,0 +1,15 @@ +[locks] +0x2310 # Lowering the scaling_max_freq on A57 to 1.6GHz +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 + +[files] +19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay +85 /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load +1632000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq +99000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time +60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads +99 /proc/sys/kernel/sched_init_task_load + +[priority] # Multi-threaded workload profile for A57s only +97 diff --git a/perf/configs/sdm845/perf/perf-profile5.conf b/perf/configs/sdm845/perf/perf-profile5.conf new file mode 100644 index 0000000..9323c9c --- /dev/null +++ b/perf/configs/sdm845/perf/perf-profile5.conf @@ -0,0 +1,14 @@ +[locks] +0x4805 # CPUhwmon Decay Rate 5 +0x490A # CPUhwmon io_percent 10 + +[files] +19000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay +85 /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load +1632000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq +99000 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time +60 1300000:63 1500000:65 1900000:70 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads +99 /proc/sys/kernel/sched_init_task_load + +[priority] # 2nd Multi-threaded workload profile for A57s only +120 diff --git a/perf/configs/sdm845/perf/perf-profile6.conf b/perf/configs/sdm845/perf/perf-profile6.conf new file mode 100644 index 0000000..0b37a5f --- /dev/null +++ b/perf/configs/sdm845/perf/perf-profile6.conf @@ -0,0 +1,8 @@ +[files] +2 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/sample_ms +1200 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/idle_mbps +20 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/low_power_io_percent +20 /sys/class/devfreq/soc:qcom,cpubw/bw_hwmon/io_percent + +[priority] # Gaming workload profile +125 diff --git a/perf/configs/sdm845/perf/perfboostsconfig.xml b/perf/configs/sdm845/perf/perfboostsconfig.xml new file mode 100644 index 0000000..fca742f --- /dev/null +++ b/perf/configs/sdm845/perf/perfboostsconfig.xml @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2017 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + */ +--> + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- LLCCBW resource opcode, value--> + <!-- L3 resource opcode, value--> + <!-- GPU DISABLE resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdm845" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF, + 0x40800100, 0xFFF, 0x41800000, 140, 0x40400000, 0x1, 0x42C10000, 0x1, + 0x43000000, 0xFF, 0x43400000, 0xFFFF, 0x4281C000, 2000" /> + + <!--app lauch boost (disabling packing)--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + <Config + Id="0x00001081" Type="2" Enable="false" Timeout="1500" Target="sdm845" + Resources="" /> + + <!-- config_enableLaunchBoostv2--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- SCHED DOWNMIGRATE resource opcode, value --> + <!-- SCHED UPMIGRATE resource opcode, value --> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdm845" + Resources="0x40C00000, 0x3, 0x40C58000, 0x2D, 0x40C54000, 0x41, + 0x40408000, 0x63, 0x40C20000, 0x28, 0x40C1C000, 0x3C" /> + + <!--Vertical Scroll boost--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="sdm845" + Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40C00000, 0x2, + 0x43400000, 0x1F40" /> + + <!--Prefling Scroll boost--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + <!-- TIMEOUT 80ms --> + <!-- Type="4", Prefling boost --> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdm845" + Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, 0x40C00000, 0x2, + 0x43400000, 0x1F40" /> + + <!--Horizontal Scroll boost--> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="sdm845" + Resources="0x40C00000, 0x2" /> + + <!--Drag boost--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + + <!-- Type="1", Drag boost --> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="sdm845" + Resources="0x43000000, 0x11, 0x40800000, 1000, 0x40800100, 1000, 0x40C00000, 0x2, + 0x43400000, 0x1F40" /> + + <!--PackageInstall boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Package Install boost --> + + <Config + Id="0x00001088" Enable="true" Target="sdm845" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + + <!--Rotation latency boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="sdm845" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + + <!--Rotation animation boost--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- GPU MIN_FREQUENCY resource opcode,value--> + <!-- Type="", Rotation animation boost --> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="sdm845" + Resources="0x40800100, 1000, 0x4280C000, 596" /> + + <!--Display on Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="sdm845" + Resources="0x40000000, 1" /> + <!--Display off Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="sdm845" + Resources="0x40000000, 0x0" /> + + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/sdm845/perf/perfconfigstore.xml b/perf/configs/sdm845/perf/perfconfigstore.xml new file mode 100644 index 0000000..4c00fe1 --- /dev/null +++ b/perf/configs/sdm845/perf/perfconfigstore.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is PerfConfigsStore file which returns the value when a +particular property name is invoked --> + +<!-- This file supports only Prop tag, which has the following fields +* Name, to identify the name of the property. The names of the +properties have been classified into Vendor and System property. +* Value, the new value to be returned as string when respective +property Name is called. --> + +<PerfConfigsStore> + <PerfConfigs> + + <!--Vendor Properties --> + <Prop Name="vendor.iop.enable_uxe" Value="1" /> + <Prop Name="vendor.perf.iop_v3.enable" Value="true" /> + <Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" /> + <Prop Name="vendor.enable.prefetch" Value="false" /> + <Prop Name="vendor.iop.enable_prefetch_ofr" Value="false" /> + + <!--System Properties --> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" /> + <Prop Name="ro.vendor.at_library" Value="libqti-at.so" /> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" /> + <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" /> + + </PerfConfigs> +</PerfConfigsStore> diff --git a/perf/configs/sdm845/perf/targetconfig.xml b/perf/configs/sdm845/perf/targetconfig.xml new file mode 100644 index 0000000..346d258 --- /dev/null +++ b/perf/configs/sdm845/perf/targetconfig.xml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="sdm845" + NumClusters="2" + TotalNumCores="8" + SocIds="321,341" + SynCore="1" + CoreCtlCpu="4" + MinCoreOnline="0" + CpufreqGov="1" /> + + <ClustersInfo Id="0" NumCores="4" Type="little" /> + <ClustersInfo Id="1" NumCores="4" Type="big" /> + + </Config1> + +</TargetConfig> diff --git a/perf/configs/sdm845/perf/targetresourceconfigs.xml b/perf/configs/sdm845/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..4dcf3da --- /dev/null +++ b/perf/configs/sdm845/perf/targetresourceconfigs.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to modify the Supported field information. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing path +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. +NOTE - It is not Mandatory to write all the resources which are not supported, +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x1" Supported="no" /> <!-- toggle_l2_pc_perf --> + + <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task --> + <Config MajorValue="0x3" MinorValue="0x6" Supported="no" /> <!-- sched_init_task_load --> + <Config MajorValue="0x3" MinorValue="0xB" Supported="no" /> <!-- sched_spill_nr_run --> + <Config MajorValue="0x3" MinorValue="0xC" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_set_freq_aggr --> + <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggr_threshold --> + + <Config MajorValue="0x5" MinorValue="0x13" Supported="no" /> <!-- rtg_boost_freq --> + + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent --> + + <Config MajorValue="0xB" MinorValue="0x6" Supported="no" /><!-- disable_ppr --> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/sdmshrike/perf/perfboostsconfig.xml b/perf/configs/sdmshrike/perf/perfboostsconfig.xml new file mode 100644 index 0000000..f323393 --- /dev/null +++ b/perf/configs/sdmshrike/perf/perfboostsconfig.xml @@ -0,0 +1,178 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + */ +--> + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- LLCCBW resource opcode, value--> + <!-- L3 resource opcode, value--> + <!-- GPU DISABLE resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdmshrike" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, + 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x41800000, 0xFF, + 0x40400000, 0x1, 0x42C10000, 0x1, 0x43000000, 0xFF, 0x43400000, 0xFFFF, + 0x4281C000, 2000" /> + + <!--app lauch boost (disabling packing)--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + <Config + Id="0x00001081" Type="2" Enable="false" Timeout="1500" Target="sdmshrike" + Resources="" /> + + <!-- config_enableLaunchBoostv2--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- SCHED DOWNMIGRATE resource opcode, value --> + <!-- SCHED UPMIGRATE resource opcode, value --> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdmshrike" + Resources="0x40C00000, 0x3, 0x40C58000, 0x2D, 0x40C54000, 0x41, + 0x40408000, 0x63, 0x40C20000, 0x28, 0x40C1C000, 0x3C" /> + + <!-- config_gameBoost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- SCHED DOWNMIGRATE resource opcode, value --> + <!-- SCHED UPMIGRATE resource opcode, value --> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- LLCCBW resource opcode, value--> + <!-- L3 resource opcode, value--> + + <!-- Type="4", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="sdmshrike" + Resources="0x40C00000, 0x1, 0x40C58000, 0x2D, 0x40C54000, 0x41, + 0x40408000, 0x63, 0x40C20000, 0x28, 0x40C1C000, 0x3C, + 0x42C10000, 0x1,0x40800000, 0x76C, 0x40800100, 0x4B0, + 0x41800000, 0x50, 0x43000000, 0x3A, 0x43400000, 0x3480" /> + + <!--Vertical Scroll boost--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="sdmshrike" + Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40" /> + + <!--Prefling Scroll boost--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + <!-- TIMEOUT 80ms --> + <!-- Type="4", Prefling boost --> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdmshrike" + Resources="0x43000000, 0x19, 0x40800000, 1000, 0x40800100, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40" /> + + <!--Horizontal Scroll boost--> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="sdmshrike" + Resources="0x40C00000, 0x2" /> + + <!--MTP boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + + <!-- Type="", MTP boost --> + <Config + Id="0x00001086" Enable="true" Target="sdmshrike" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1800, + 0x40800100, 1400" /> + + <!--Drag boost--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + + <!-- Type="1", Drag boost --> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="sdmshrike" + Resources="0x43000000, 0x11, 0x40800000, 1000, 0x40800100, 1000, + 0x40C00000, 0x2, 0x43400000, 0x1F40" /> + + <!--PackageInstall boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value--> + <!-- Type="", Package Install boost --> + + <Config + Id="0x00001088" Enable="true" Target="sdmshrike" + Resources="0x40C00000, 0x2, 0x40804000, 0xFFF, 0x40804100, 0xFFF, + 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40CA0000, 0" /> + + <!--Rotation latency boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="sdmshrike" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, + 0x40800000,0xFFF, 0x40800100,0xFFF" /> + + <!--Rotation animation boost--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- GPU MIN_FREQUENCY resource opcode,value--> + <!-- Type="", Rotation animation boost --> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="sdmshrike" + Resources="0x40800100, 1000, 0x4280C000, 596" /> + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/sdmshrike/perf/targetconfig.xml b/perf/configs/sdmshrike/perf/targetconfig.xml new file mode 100644 index 0000000..ecd6bab --- /dev/null +++ b/perf/configs/sdmshrike/perf/targetconfig.xml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="sdmshrike" + NumClusters="2" + TotalNumCores="8" + SocIds="405" + SynCore="1" + CoreCtlCpu="4" + MinCoreOnline="0" + CpufreqGov="1" /> + + <ClustersInfo Id="0" NumCores="4" Type="little" /> + <ClustersInfo Id="1" NumCores="4" Type="big" /> + + </Config1> + +</TargetConfig> diff --git a/perf/configs/sdmshrike/perf/targetresourceconfigs.xml b/perf/configs/sdmshrike/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..c994f16 --- /dev/null +++ b/perf/configs/sdmshrike/perf/targetresourceconfigs.xml @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to modify the Supported field information. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing path +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. +NOTE - It is not Mandatory to write all the resources which are not supported, +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x1" Supported="no" /> <!-- toggle_l2_pc_perf --> + + <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task --> + <Config MajorValue="0x3" MinorValue="0x6" Supported="no" /> <!-- sched_init_task_load --> + <Config MajorValue="0x3" MinorValue="0xB" Supported="no" /> <!-- sched_spill_nr_run --> + <Config MajorValue="0x3" MinorValue="0xC" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_set_freq_aggr --> + <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggr_threshold --> + + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent --> + + <Config MajorValue="0x6" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/min_freq" /> + <Config MajorValue="0x6" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/decay_rate" /> + <Config MajorValue="0x6" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/io_percent" /> + <Config MajorValue="0x6" MinorValue="0x4" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/low_power_ceil_mbps" /> + <Config MajorValue="0x6" MinorValue="0x5" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/low_power_io_percent" /> + <Config MajorValue="0x6" MinorValue="0x6" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/max_freq" /> + <Config MajorValue="0x6" MinorValue="0x7" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/polling_interval" /> + <Config MajorValue="0x6" MinorValue="0x8" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/sample_ms" /> + <Config MajorValue="0x6" MinorValue="0x9" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-llcc-bw/bw_hwmon/idle_mbps" /> + + <Config MajorValue="0xB" MinorValue="0x6" Supported="no" /><!-- disable_ppr --> + + <!-- llcbw L3 and DDR major end --> + <Config MajorValue="0xC" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/min_freq" /> + <Config MajorValue="0xC" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/io_percent" /> + <Config MajorValue="0xC" MinorValue="0x3" Node="/sys/class/devfreq/soc:qcom,cpu-llcc-ddr-bw/bw_hwmon/sample_ms" /> + + <Config MajorValue="0xD" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu%d-cpu-l3-lat/min_freq" /> + <Config MajorValue="0xD" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,cpu4-cpu-l3-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0x3" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/mem_latency/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/class/devfreq/soc:qcom,cpu4-cpu-l3-lat/mem_latency/stall_floor" /> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/sm6150/lm/AdaptLaunchFeature.xml b/perf/configs/sm6150/lm/AdaptLaunchFeature.xml new file mode 100644 index 0000000..e765985 --- /dev/null +++ b/perf/configs/sm6150/lm/AdaptLaunchFeature.xml @@ -0,0 +1,46 @@ +<!-- +/****************************************************************************** + @file AdaptLaunchFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2018 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AdaptLaunch</Name> + <Libname>libadaptlaunch.so</Libname> + <Configs> + <Enable>1</Enable> + </Configs> + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>VmRss</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>false</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + </Trigger> + </Triggers> + <Samples>160</Samples> + <Fields> + <Field>VmRss:</Field> + </Fields> + </Meter> + </Meters> +</Feature> diff --git a/perf/configs/sm6150/lm/AppClassifierFeature.xml b/perf/configs/sm6150/lm/AppClassifierFeature.xml new file mode 100644 index 0000000..8128eeb --- /dev/null +++ b/perf/configs/sm6150/lm/AppClassifierFeature.xml @@ -0,0 +1,36 @@ +<!-- +/****************************************************************************** + @file AppClassifierFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AppClassifier</Name> + <Configs> + <Enable>1</Enable> + </Configs> + <Libname>libappclassifier.so</Libname> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> +</Feature> diff --git a/perf/configs/sm6150/lm/GameOptimizationFeature.xml b/perf/configs/sm6150/lm/GameOptimizationFeature.xml new file mode 100644 index 0000000..c9625ba --- /dev/null +++ b/perf/configs/sm6150/lm/GameOptimizationFeature.xml @@ -0,0 +1,140 @@ +<!-- +/****************************************************************************** + @file GameOptimizationFeature.xml + @brief Game Optimization feature xml + + DESCRIPTION + Each feature has an xml file to define the feature components + + =========================================================================== + Copyright (c) 2017-2018 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> + +<Feature> + <Name>GameOptimization</Name> + <Libname>libgameoptfeature.so</Libname> + <Configs> + <Enable>1</Enable> + <MIN_DDR_FREQ>1144</MIN_DDR_FREQ> + <MAX_MIN_DDR_FREQ>2086</MAX_MIN_DDR_FREQ> + </Configs> + <Profiles> + <Profile> + <!-- Colocation v3 1 GHz, Predictive Load 1 --> + <DEFAULT>0x40c6c000,1000000,0x41444000,1</DEFAULT> + <!-- Colocation v3 1 GHz, Predictive Load 1 --> + <SKEW2>0x40c6c000,1000000,0x41444000,1</SKEW2> + </Profile> + </Profiles> + + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>MinDDR</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + </Triggers> + <Configs> + <MEMLAT_FREQ_VOTE_LITTLE_PATH>/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/cur_freq</MEMLAT_FREQ_VOTE_LITTLE_PATH> + <MEMLAT_FREQ_VOTE_BIG_PATH>/sys/class/devfreq/soc:qcom,cpu6-llcc-ddr-lat/cur_freq</MEMLAT_FREQ_VOTE_BIG_PATH> + <MEMLAT_AVAIL_FREQ_LITTLE_PATH>/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/available_frequencies</MEMLAT_AVAIL_FREQ_LITTLE_PATH> + </Configs> + <Samples>100</Samples> + </Meter> + + <Meter> + <Name>Fps</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + </Triggers> + <Configs> + <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE> + <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE> + </Configs> + <Samples>100</Samples> + </Meter> + </Meters> +</Feature> diff --git a/perf/configs/sm6150/msm_irqbalance.conf b/perf/configs/sm6150/msm_irqbalance.conf new file mode 100644 index 0000000..df8d5cd --- /dev/null +++ b/perf/configs/sm6150/msm_irqbalance.conf @@ -0,0 +1,32 @@ +# Copyright (c) 2017, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of The Linux Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# + +PRIO=1,1,1,1,0,0,0,0 +#arch_timer, arm-pmu, arch_mem_timer +IGNORED_IRQ=19,21,38 diff --git a/perf/configs/sm6150/perf/perfboostsconfig.xml b/perf/configs/sm6150/perf/perfboostsconfig.xml new file mode 100644 index 0000000..35d1a3d --- /dev/null +++ b/perf/configs/sm6150/perf/perfboostsconfig.xml @@ -0,0 +1,298 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +*/ +--> + + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + <!-- SCHED DOWNMIGRATE resource opcode, value--> + <!-- SCHED UPMIGRATE resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="msmsteppe" + Resources="0x40C20000, 0x28, 0x40C1C000, 0x32, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1516, + 0x40800100, 1516" /> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="sdmmagpie" + Resources="0x40C20000, 0x28, 0x40C1C000, 0x32, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1708, + 0x40800100, 1497" /> + + <!--app lauch boost (disabling packing)--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- LLCCBW resource opcode, value--> + <!-- L3 resource opcode, value--> + <!-- GPU nap resource opcode, value--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="msmsteppe" + Resources="0x40400000, 0x1, 0x42C10000, 0x1, 0x43010000, 59, + 0x41828000, 806, 0x43400000, 1190, 0x4281C000, 1500" /> + + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="sdmmagpie" + Resources="0x40400000, 0x1, 0x42C10000, 0x1, 0x43010000, 59, + 0x41828000, 806, 0x43400000, 1190, 0x4281C000, 1500" /> + + <!-- config_enableLaunchBoostv3--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="msmsteppe" + Resources="0x40C00000, 0x3, 0x40C58000, 95, 0x40C54000, 100, 0x40408000, 0x63" /> + + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="sdmmagpie" + Resources="0x40C00000, 0x3, 0x40C58000, 95, 0x40C54000, 100, 0x40408000, 0x63" /> + + <!-- config_gameBoost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <!-- Type="4", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="msmsteppe" + Resources="0x40C00000, 0x3, 0x40C58000, 95, 0x40C54000, 100, 0x40408000, 0x63" /> + + <Config + Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="sdmmagpie" + Resources="0x40C00000, 0x3, 0x40C58000, 95, 0x40C54000, 100, 0x40408000, 0x63" /> + + <!-- config_enableLaunchBoostv5--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_LITTLE resource opcode, value--> + <!-- GO_HISPEED_LOAD_INTERACTIVE_CLUSTER_BIG resource opcode, value--> + <!-- GO_HISPEED_LOAD_INTERACTIVE_CLUSTER_LITTLE resource opcode, value--> + <!-- HISPEED_FREQ_INTERACTIVE_CLUSTER_BIG resource opcode, value--> + <!-- HISPEED_FREQ_INTERACTIVE_CLUSTER_LITTLE resource opcode, value--> + <!-- SCHED DOWNMIGRATE resource opcode, value--> + <!-- SCHED UPMIGRATE resource opcode, value--> + <!-- L2_MEMLAT_RATIO_CEIL_0 resource opcode, value--> + <!-- L2_MEMLAT_RATIO_CEIL_1 resource opcode, value--> + <!-- LPM_LEVELS_REF_STDDEV resource opcode, value--> + <!-- LPM_LEVELS_TMR_ADD resource opcode, value--> + + <!-- Type="5", Adaptive Launch boost --> + <Config + Id="0x00001081" Type="5" Enable="true" Timeout="2000" Target="msmsteppe" + Resources="0x41000100, 0x4, 0x41000000, 0x4, + 0x41440000, 0x28, 0x41440100, 0x28, + 0x4143C000, 0xFFF, 0x4143C100, 0xFFF, + 0x40C20000, 0x28, 0x40C1C000, 0x32, + 0x43404000, 0x2710, 0x43408000, 0x2710, + 0x4040C000, 0x1F4, 0x40410000, 0x3E8" /> + + <Config + Id="0x00001081" Type="5" Enable="true" Timeout="2000" Target="sdmmagpie" + Resources="0x41000100, 0x4, 0x41000000, 0x4, + 0x41440000, 0x28, 0x41440100, 0x28, + 0x4143C000, 0xFFF, 0x4143C100, 0xFFF, + 0x40C20000, 0x28, 0x40C1C000, 0x32, + 0x43404000, 0x2710, 0x43408000, 0x2710, + 0x4040C000, 0x1F4, 0x40410000, 0x3E8" /> + + <!-- config_enableLaunchBoost6--> + <!-- LPM_BIAS resource opcode, val ms--> + <!-- SLB_BIG, val, SLB_BIG, val--> + <!-- SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val, SLB_LITTLE, val --> + <!-- MIN_FREQ_BIG, val MHz --> + <!-- CPU_DOWN_FREQ_THRESHOLD_US, val us --> + + <!-- Type="6", Game Launch boost --> + <Config + Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="msmsteppe" + Resources="0x40408000, 0x5, + 0x40C68000, 60, 0x40C68010, 60, + 0x40C68100, 33, 0x40C68110, 33, 0x40C68120, 33, 0x40C68130, 33, 0x40C68140, 33, 0x40C68150, 33, + 0x40800000, 1363, + 0x41448000, 20000 "/> + + <Config + Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="sdmmagpie" + Resources="0x40408000, 0x5, + 0x40C68000, 60, 0x40C68010, 60, + 0x40C68100, 33, 0x40C68110, 33, 0x40C68120, 33, 0x40C68130, 33, 0x40C68140, 33, 0x40C68150, 33, + 0x40800000, 1324, + 0x41448000, 20000 "/> + + <!--Animation boost --> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <Config + Id="0x00001083" Enable="true" Timeout="400" Target="msmsteppe" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 2208, 0x40800100, 1708" /> + + <Config + Id="0x00001083" Enable="true" Timeout="400" Target="sdmmagpie" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 2438, 0x40800100, 1804" /> + + <!--Vertical Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="msmsteppe" + Resources="0x43010000, 0x26, 0x40800000, 1017, 0x40800100, 1100, 0x40C00000, 2" /> + + <Config + Id="0x00001080" Type="1" Enable="true" Target="sdmmagpie" + Resources="0x43010000, 0x26, 0x40800000, 1094, 0x40800100, 1248, 0x40C00000, 2" /> + + <!--Horizontal Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="msmsteppe" + Resources="0x43010000, 0x26, 0x40800000, 1017, 0x40800100, 1100, 0x40C00000, 2" /> + + <Config + Id="0x00001080" Type="2" Enable="true" Target="sdmmagpie" + Resources="0x43010000, 0x26, 0x40800000, 1094, 0x40800100, 1248, 0x40C00000, 2" /> + + <!--Pre-Fling boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="4", Pre-Fling boost --> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="msmsteppe" + Resources="0x43010000, 0x26, 0x40800000, 1017, 0x40800100, 1100, 0x40C00000, 2" /> + + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="sdmmagpie" + Resources="0x43010000, 0x26, 0x40800000, 1094, 0x40800100, 1248, 0x40C00000, 2" /> + + <!--MTP boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + + <!-- Type="", MTP boost --> + + <Config + Id="0x00001086" Enable="true" Target="msmsteppe" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1516, + 0x40800100, 1516, 0x42C10000, 0x1" /> + + <Config + Id="0x00001086" Enable="true" Target="sdmmagpie" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1747, + 0x40800100, 1516, 0x42C10000, 0x1" /> + + <!--PackageInstall boost--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- Type="", Package Install boost --> + + <Config + Id="0x00001088" Enable="true" Target="msmsteppe" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF, + 0x40800100, 0xFFF, 0x40CA0000, 0, 0x40C00000, 2" /> + + <Config + Id="0x00001088" Enable="true" Target="sdmmagpie" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 0xFFF, + 0x40800100, 0xFFF, 0x40CA0000, 0, 0x40C00000, 2" /> + + <!--Rotation latency boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="msmsteppe" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="sdmmagpie" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + + <!--Rotation animation boost--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- GPU MIN_FREQUENCY resource opcode,value--> + <!-- Type="", Rotation animation boost --> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="msmsteppe" + Resources="0x40800100, 1000, 0x4280C000, 596" /> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="sdmmagpie" + Resources="0x40800100, 1209, 0x4280C000, 800" /> + + <!--Drag boost--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + + <!-- Type="1", Drag boost --> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="sdmmagpie" + Resources="0x40800000, 1324, 0x40800100, 1248" /> + + <!--Display on Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="msmsteppe" + Resources="0x40000000, 1" /> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="sdmmagpie" + Resources="0x40000000, 1" /> + <!--Display off Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="msmsteppe" + Resources="0x40000000, 0x0" /> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="sdmmagpie" + Resources="0x40000000, 0x0" /> + + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/sm6150/perf/perfconfigstore.xml b/perf/configs/sm6150/perf/perfconfigstore.xml new file mode 100644 index 0000000..f56b13b --- /dev/null +++ b/perf/configs/sm6150/perf/perfconfigstore.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is PerfConfigsStore file which returns the value when a +particular property name is invoked --> + +<!-- This file supports only Prop tag, which has the following fields +* Name, to identify the name of the property. The names of the +properties have been classified into Vendor and System property. +* Value, the new value to be returned as string when respective +property Name is called. --> + +<PerfConfigsStore> + <PerfConfigs> + + <!--Vendor Properties --> + <Prop Name="vendor.debug.enable.lm" Value="true" /> + <Prop Name="vendor.iop.enable_uxe" Value="1" /> + <Prop Name="vendor.enable.prefetch" Value="false" /> + <Prop Name="vendor.iop.enable_prefetch_ofr" Value="false" /> + <Prop Name="vendor.perf.iop_v3.enable" Value="false" /> + <Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" /> + + <!--System Properties --> + <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" /> + <Prop Name="ro.vendor.at_library" Value="libqti-at.so" /> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="false" /> + + </PerfConfigs> +</PerfConfigsStore> diff --git a/perf/configs/sm6150/perf/targetconfig.xml b/perf/configs/sm6150/perf/targetconfig.xml new file mode 100644 index 0000000..62672bf --- /dev/null +++ b/perf/configs/sm6150/perf/targetconfig.xml @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="msmsteppe" + NumClusters="2" + TotalNumCores="8" + SocIds="355,369" + SynCore="1" + CoreCtlCpu="0" + MinCoreOnline="0" + CpufreqGov="1" /> + + <ClustersInfo Id="0" NumCores="6" Type="little" /> + <ClustersInfo Id="1" NumCores="2" Type="big" /> + + </Config1> + + <Config2> + + <TargetInfo + Target="sdmmagpie" + NumClusters="2" + TotalNumCores="8" + SocIds="365,366" + SynCore="1" + CoreCtlCpu="0" + MinCoreOnline="0" + CpufreqGov="1" /> + + <ClustersInfo Id="0" NumCores="6" Type="little" /> + <ClustersInfo Id="1" NumCores="2" Type="big" /> + + </Config2> + +</TargetConfig> diff --git a/perf/configs/sm6150/perf/targetresourceconfigs.xml b/perf/configs/sm6150/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..80ccff9 --- /dev/null +++ b/perf/configs/sm6150/perf/targetresourceconfigs.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2018 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to modify the Supported field information. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing path +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. +NOTE - It is not Mandatory to write all the resources which are not supported, +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x1" Supported="no" /> <!-- toggle_l2_pc_perf --> + + <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task --> + <Config MajorValue="0x3" MinorValue="0x6" Supported="no" /> <!-- sched_init_task_load --> + <Config MajorValue="0x3" MinorValue="0xB" Supported="no" /> <!-- sched_spill_nr_run --> + <Config MajorValue="0x3" MinorValue="0xC" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_set_freq_aggr --> + <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggr_threshold --> + + <Config MajorValue="0x5" MinorValue="0x13" Supported="no" /> <!-- rtg_boost_freq --> + + <!--All the cpubw_hmon path are now migrated to new opcodes.Hence unsupporting old ones--> + <Config MajorValue="0x6" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x3" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x6" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x7" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x8" Supported="no" /> + <Config MajorValue="0x6" MinorValue="0x9" Supported="no" /> + + <!-- All llcbw path are now migrated to new opcode.Hence unsupporting old ones--> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0xA" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0xC" MinorValue="0xB" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent --> + + <Config MajorValue="0xD" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu%d-cpu-l3-lat/min_freq" /> + <Config MajorValue="0xD" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,cpu6-cpu-l3-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0x3" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-l3-lat/mem_latency/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/class/devfreq/soc:qcom,cpu6-cpu-l3-lat/mem_latency/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0x9" Node="/sys/class/devfreq/soc:qcom,cpu6-cpu-llcc-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0xB" Node="/sys/class/devfreq/soc:qcom,cpu6-cpu-llcc-lat/mem_latency/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0xE" Node="/sys/class/devfreq/soc:qcom,cpu6-llcc-ddr-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0x10" Node="/sys/class/devfreq/soc:qcom,cpu6-llcc-ddr-lat/mem_latency/stall_floor" /> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/taro/lm/AdaptLaunchFeature.xml b/perf/configs/taro/lm/AdaptLaunchFeature.xml new file mode 100644 index 0000000..1f7391f --- /dev/null +++ b/perf/configs/taro/lm/AdaptLaunchFeature.xml @@ -0,0 +1,46 @@ +<!-- +/****************************************************************************** + @file AdaptLaunchFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2019-2021 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AdaptLaunch</Name> + <Libname>libadaptlaunch.so</Libname> + <Configs> + <Enable>1</Enable> + </Configs> + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>VmRss</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>false</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + </Trigger> + </Triggers> + <Samples>300</Samples> + <Fields> + <Field>VmRss:</Field> + </Fields> + </Meter> + </Meters> +</Feature> diff --git a/perf/configs/taro/lm/AppClassifierFeature.xml b/perf/configs/taro/lm/AppClassifierFeature.xml new file mode 100644 index 0000000..1829d2f --- /dev/null +++ b/perf/configs/taro/lm/AppClassifierFeature.xml @@ -0,0 +1,36 @@ +<!-- +/****************************************************************************** + @file AppClassifierFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2017-2021 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AppClassifier</Name> + <Configs> + <Enable>1</Enable> + </Configs> + <Libname>libappclassifier.so</Libname> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> +</Feature> diff --git a/perf/configs/taro/lm/GameOptimizationFeature.xml b/perf/configs/taro/lm/GameOptimizationFeature.xml new file mode 100644 index 0000000..a326800 --- /dev/null +++ b/perf/configs/taro/lm/GameOptimizationFeature.xml @@ -0,0 +1,379 @@ +<!-- +/****************************************************************************** + @file GameOptimizationFeature.xml + @brief Game Optimization feature xml + + DESCRIPTION + Each feature has an xml file to define the feature components + + =========================================================================== + Copyright (c) 2017-2021 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> + +<Feature> + <Name>GameOptimization</Name> + <Libname>libgameoptfeature.so</Libname> + <Configs target="taro"> + <Enable>1</Enable> + <STATIC_L0>1</STATIC_L0> + <AGPE>1</AGPE> + <GFAR>1</GFAR> + <STUTTER_SCALE>10</STUTTER_SCALE> + <PICARD>1</PICARD> + <IDLE_SENSE>0</IDLE_SENSE> + <THERMAL_MONITOR>1</THERMAL_MONITOR> + <THERMAL_MONITOR_RULES>GAME_OPT_TSENS_RULE1,GAME_OPT_TSENS_RULE2,GAME_OPT_TSENS_RULE3</THERMAL_MONITOR_RULES> + <!-- AGPE threshold values in the order: Increase, Aggressive Increase, Decrease --> + <AGPE_FPS_30_THRESHOLD>0.6, 1.0, 0.4</AGPE_FPS_30_THRESHOLD> + <AGPE_FPS_35_THRESHOLD>0.6, 1.0, 0.4</AGPE_FPS_35_THRESHOLD> + <AGPE_FPS_40_THRESHOLD>0.6, 1.0, 0.4</AGPE_FPS_40_THRESHOLD> + <AGPE_FPS_60_THRESHOLD>0.6, 1.0, 0.4</AGPE_FPS_60_THRESHOLD> + <AGPE_FPS_90_THRESHOLD>2.0, 5.0, 1.0</AGPE_FPS_90_THRESHOLD> + <AGPE_FPS_120_THRESHOLD>2.0, 5.0, 1.0</AGPE_FPS_120_THRESHOLD> + <AGPE_FPS_144_THRESHOLD>2.0, 5.0, 1.0</AGPE_FPS_144_THRESHOLD> + </Configs> + <Profiles> + <!-- Heavy Game Default --> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, 0, SCHED_MIN_TASK_UTIL_FOR_BOOST, 0 --> + <!-- MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_BIG, 19000, MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_LITTLE, 19000 --> + <!-- SCHED_GROUP_DOWNMIGRATE, 75, SCHED_GROUP_UPMIGRATE, 90 --> + <Profile target="taro"> + <DEFAULT_PROF> + 0x40C78000, 0, 0x40C7C000, 0, + 0x41448000, 19000, 0x41448100, 19000, + 0x40C58000, 75, 0x40C54000, 90 + </DEFAULT_PROF> + </Profile> + <!-- Agressive Profile - Junk detected --> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, 0, SCHED_MIN_TASK_UTIL_FOR_BOOST, 0 --> + <!-- MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_BIG, 79000, MPCTLV3_SCHEDUTIL_DOWN_RATE_LIMIT_CLUSTER_LITTLE, 79000--> + <!-- CPUBW_HWMON_MIN_FREQ, 30, LLCBW_HWMON_MIN_FREQ, 90, L3_MEMLAT_MIN_FREQ, 9000 --> + <!-- MIN_FREQ_CLUSTER_PRIME_CORE_0, 1000, MIN_FREQ_CLUSTER_BIG_CORE_0, 1000, MIN_FREQ_CLUSTER_LITTLE_CORE_0, 1000 --> + <!-- SCHED_GROUP_DOWNMIGRATE, 65, SCHED_GROUP_UPMIGRATE, 80 --> + <!-- TO BE REPLACED: SCHED_BUSY_HYSTERSIS_CPU_MASK, 0xf0, LPM_BIAS_HYST, 99--> + <Profile target="taro"> + <DEFAULT_PROF> + 0x40C78000, 0, 0x40C7C000, 0, + 0x41448000, 79000, 0x41448100, 79000, + 0x41800000, 30, 0x43000000, 90, 0x43400000, 9000, + 0x40800200, 1000, 0x40800000, 1000, 0x40800100, 1000, + 0x40C58000, 65, 0x40C54000, 80, + 0x40C74000, 0xf0, 0x40408000, 99 + </DEFAULT_PROF> + </Profile> + <Profile target="taro"> + <!-- Colocation v3 1 GHz --> + <DEFAULT>0x4144C100,1000000</DEFAULT> + <!-- Colocation v3 1 GHz --> + <SKEW2>0x4144C100,1000000</SKEW2> + </Profile> + </Profiles> + + <Meters> + <SamplesRequired>4</SamplesRequired> + + <Meter> + <Name>Fps</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_HEADROOM_REGULATOR</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_SENSOR_DATA</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TOGGLE_GAMEOPT</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_TOP_APP</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_RENDER_RATE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_LOW_LAT</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_HIGH_CPUUTIL</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_LOAD_CHANGED</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> + + <Configs> + <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE> + <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE> + </Configs> + <Samples>100</Samples> + </Meter> + + <Meter> + <Name>SchedParams</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TOGGLE_GAMEOPT</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_TOP_APP</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_RENDER_RATE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_LOW_LAT</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_HIGH_CPUUTIL</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_LOAD_CHANGED</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> + <Configs> + <SCHEDPARAMS_BIG_NR_RUN_PATH>/sys/kernel/msm_performance/notify/aggr_big_nr</SCHEDPARAMS_BIG_NR_RUN_PATH> + <SCHEDPARAMS_AGGR_TOP_LOAD_PATH>/sys/kernel/msm_performance/notify/aggr_top_load</SCHEDPARAMS_AGGR_TOP_LOAD_PATH> + <SCHEDPARAMS_REGISTER_SCHED_TRIGGERS>/sys/kernel/msm_performance/parameters/core_ctl_register</SCHEDPARAMS_REGISTER_SCHED_TRIGGERS> + <SCHEDPARAMS_CLUSTER_TOP_LOAD_PATH>/sys/kernel/msm_performance/notify/top_load_cluster</SCHEDPARAMS_CLUSTER_TOP_LOAD_PATH> + <SCHEDPARAMS_CLUSTER_CURR_CAP_PATH>/sys/kernel/msm_performance/notify/curr_cap_cluster</SCHEDPARAMS_CLUSTER_CURR_CAP_PATH> + </Configs> + <Samples>100</Samples> + </Meter> + + <Meter> + <Name>Gpu</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_HEADROOM_REGULATOR</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_SENSOR_DATA</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TOGGLE_GAMEOPT</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_TOP_APP</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_RENDER_RATE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_LOW_LAT</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_HIGH_CPUUTIL</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_PICARD_LOAD_CHANGED</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> + + <Configs> + <GPU_AVAILABLE_FREQUENCIES>/sys/class/kgsl/kgsl-3d0/gpu_available_frequencies</GPU_AVAILABLE_FREQUENCIES> + <GPU_CLOCK_STATS>/sys/class/kgsl/kgsl-3d0/gpu_clock_stats</GPU_CLOCK_STATS> + <GPU_CLK>/sys/class/kgsl/kgsl-3d0/gpuclk</GPU_CLK> + <GPU_BUSY_PERCENTAGE>/sys/class/kgsl/kgsl-3d0/gpu_busy_percentage</GPU_BUSY_PERCENTAGE> + </Configs> + <Samples>100</Samples> + </Meter> + </Meters> + <IgnoredApps target="taro"> + <App>com.google.android.gms</App> + <App>com.android.vending</App> + <App>com.google.android.projection.gearhead</App> + <App>com.vectorunit.silver.googleplay</App> + <App>com.kiloo.subwaysurf</App> + <App>com.imangi.templerun2</App> + <App>com.ogien.trainsim</App> + </IgnoredApps> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_THERMAL_UPDATE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + </Triggers> +</Feature> diff --git a/perf/configs/taro/lm/gPLAFFeature.xml b/perf/configs/taro/lm/gPLAFFeature.xml new file mode 100644 index 0000000..29dc405 --- /dev/null +++ b/perf/configs/taro/lm/gPLAFFeature.xml @@ -0,0 +1,51 @@ +<!-- +/****************************************************************************** + @file gPLAFFeature.xml + @brief Game Peak Load AR Filter(gPLAF) xml + + DESCRIPTION + Each feature has an xml file to define the feature components + + =========================================================================== + Copyright (c) 2020-2021 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> + +<Feature> + <Name>gPLAFFeature</Name> + <Libname>libgplaf.so</Libname> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + </Triggers> + <SpuriousHintApps> + <App>PermissionGrantActivity</App> + </SpuriousHintApps> +</Feature> diff --git a/perf/configs/taro/perf/perfboostsconfig.xml b/perf/configs/taro/perf/perfboostsconfig.xml new file mode 100644 index 0000000..f5e02ab --- /dev/null +++ b/perf/configs/taro/perf/perfboostsconfig.xml @@ -0,0 +1,420 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2017-2021 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + */ +--> + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- CPUBW_MAX_FREQ resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- LLCC DDR LAT CPU0 MIN FREQ resource opcode, value--> + <!-- L3 resource opcode, value--> + <!-- GPU DISABLE resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="taro" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF, 0x41848000, 0x104410, + 0x41844000, 0x104410, 0x40400000, 0x1, 0x42C10000, 0x1, 0x43430100, 0x28C5, + 0x43458000, 0x15AE00, 0x4281C000, 2000" /> + + <!--app lauch boost (disabling packing)--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + <Config + Id="0x00001081" Type="2" Enable="false" Timeout="1500" Target="taro" + Resources="" /> + + <!-- config_enableLaunchBoostv3--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- SCHED_UP_DOWN MIGRATE resource opcode, value --> + <!-- SCHED_UP_DOWN_MIGRATE PRIME resource opcode, value --> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="taro" + Resources="0x40C00000, 0x3, 0x40C58000, 0x2D, 0x40C54000, 0x41, + 0x40C74000, 0xF0, 0x40408000, 0x63, 0x40CE0000, 0x003C0028, + 0x40CE0200, 0x003C0028" /> + + <!-- config_gameBoost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- SCHED UP_DOWN_MIGRATE resource opcode, value --> + <!-- SCHED UP_DOWN_MIGRATE PRIME resource opcode, value --> + <!-- STORAGE CLK SCALING resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- LLCCBW resource opcode, value--> + <!-- L3 resource opcode, value--> + + <!-- Type="6", FA launch boost of 2sec --> + <Config + Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="taro" + Resources="0x40C00000, 0x1, 0x40C58000, 0x2D, 0x40C54000, 0x41, + 0x40C74000, 0xF0, 0x40408000, 0x63, 0x40CE0000, 0x003C0028, + 0x40CE0200, 0x003C0028, 0x42C10000, 0x1, 0x40800200, 0x76C, + 0x40800000, 0x76C, 0x40800100, 0x4B0, 0x41844000, 0x927C0, + 0x4303C000, 0x1A0FE0, 0x43458000, 0x15AE00" /> + + <!--app launch boost (attach application) --> + <!-- SCHED_TASK_BOOST resource opcode, value--> + <Config + Id="0x00001081" Type="103" Enable="true" Timeout="2000" Target="taro" + Resources="0x40C80000, 0x0" /> + + <!--Animation boost --> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <Config + Id="0x00001083" Enable="true" Timeout="400" Target="taro" + Resources="0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000, 0xFFF, 0x40800100, 0xFFF, 0x40800200, 0xFFF" /> + + <!--Vertical Scroll boost--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value--> + <!-- Below additional resources for 120+fps--> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_PRIME opcode, value--> + <!-- SCHED_UP_DOWN_MIGRATE PRIME resource opcode, value --> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="taro" Fps="60" + Resources="0x4303C000, 0xA6428, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43458000, 0xD2F00, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3" /> + <Config + Id="0x00001080" Type="1" Enable="true" Target="taro" Fps="90" + Resources="0x4303C000, 0xA6428, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43458000, 0xD2F00, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3" /> + <Config + Id="0x00001080" Type="1" Enable="true" Target="taro" Fps="120" + Resources="0x4303C000, 0xA6428, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43458000, 0xD2F00, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x41000200, 1, + 0x40CE0200, 0x0023000A" /> + <Config + Id="0x00001080" Type="1" Enable="true" Target="taro" Fps="144" + Resources="0x4303C000, 0xA6428, 0x40800000, 1300, 0x40800100, 1100, 0x40800200, 1300, + 0x40C00000, 0x2, 0x43458000, 0x114900, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x41000200, 1, + 0x40CE0200, 0x0023000A" /> + + <!--Prefling Scroll boost--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value--> + <!-- Below additional resources for 120+fps--> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_PRIME opcode, value--> + <!-- SCHED_UP_DOWN_MIGRATE PRIME resource opcode, value --> + <!-- TIMEOUT 80ms --> + <!-- Type="4", Prefling boost --> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="taro" Fps="60" + Resources="0x4303C000, 0xA6428, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43458000, 0xD2F00, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3" /> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="taro" Fps="90" + Resources="0x4303C000, 0xA6428, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43458000, 0xD2F00, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3" /> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="taro" Fps="120" + Resources="0x4303C000, 0xA6428, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43458000, 0xD2F00, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x41000200, 1, + 0x40CE0200, 0x0023000A" /> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="taro" Fps="144" + Resources="0x4303C000, 0xA6428, 0x40800000, 1300, 0x40800100, 1100, 0x40800200, 1300, + 0x40C00000, 0x2, 0x43458000, 0x114900, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x41000200, 1, + 0x40CE0200, 0x0023000A" /> + + <!--MTP boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + + <!-- Type="", MTP boost --> + <Config + Id="0x00001086" Enable="true" Target="taro" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1800, + 0x40800100, 1400" /> + + <!--Drag boost--> + <!-- LLCBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ PRIME CORE resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + <!-- L3_MEMLAT_MIN_FREQ resource opcode, value --> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG opcode, value--> + <!-- Below additional resources for 120+fps--> + <!-- SCHED_MIN_TASK_UTIL_FOR_COLOCATION, value--> + <!-- SCHED_MIN_TASK_UTIL_FOR_BOOST, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_PRIME opcode, value--> + <!-- SCHED_UP_DOWN_MIGRATE PRIME resource opcode, value --> + <!-- Type="1", Drag boost --> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="taro" Fps="60" + Resources="0x4303C000, 0x6E1B8, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43458000, 0xD2F00, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3" /> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="taro" Fps="90" + Resources="0x4303C000, 0x6E1B8, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43458000, 0xD2F00, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3" /> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="taro" Fps="120" + Resources="0x4303C000, 0x6E1B8, 0x40800000, 1000, 0x40800100, 1000, 0x40800200, 1000, + 0x40C00000, 0x2, 0x43458000, 0xD2F00, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x41000200, 1, + 0x40CE0200, 0x0023000A" /> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="taro" Fps="144" + Resources="0x4303C000, 0x6E1B8, 0x40800000, 1300, 0x40800100, 1100, 0x40800200, 1300, + 0x40C00000, 0x2, 0x43458000, 0x114900, 0x40C74000, 0xFF, 0x40408000, 0x63, + 0x41000000, 3, 0x40C78000, 0, 0x40C7C000, 0, 0x41000200, 1, + 0x40CE0200, 0x0023000A" /> + + <!--PackageInstall boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value--> + <!-- Type="", Package Install boost --> + + <Config + Id="0x00001088" Enable="true" Target="taro" + Resources="0x40C00000, 0x2, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200, 0xFFF, 0x40CA0000, 0" /> + + <!--Rotation latency boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ PRIME Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="taro" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40804200, 0xFFF, + 0x40800000,0xFFF, 0x40800100,0xFFF, 0x40800200,0xFFF" /> + + <!--Rotation animation boost--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- GPU MIN_FREQUENCY resource opcode,value--> + <!-- Type="", Rotation animation boost --> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="taro" + Resources="0x40800100, 1000, 0x42804000, 0" /> + + <!--Performance mode--> + <!-- UCLAMP_BOOST --> + <!-- SCHED_WINDOW_TICKS_UPDATE --> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ PRIME Core resource opcode, value--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM_BIAS_HYST resource opcode, value--> + <!-- DISABLE_PASR, value--> + <!-- Type="", Performance mode --> + <Config + Id="0x00001091" Enable="true" Target="taro" + Resources="0x40CAC000, 20, 0x40CA4000, 2, 0x40800000, 1555, 0x40800100, 800, 0x40800200, 1670, + 0x40C74000, 0xFF, 0x40408000, 0x63, 0x42C1C000, 1" /> + + <!--Display on Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="taro" + Resources="0x40000000, 1" /> + + <!--Display off Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="taro" + Resources="0x40000000, 0x0" /> + + <!--FPS Update from Framework--> + <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value --> + <!-- Below additional resources for 120fps, 144fps--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- 144Hz only: CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type indicates FPS --> + <!-- 30fps --> + <Config + Id="0x00001094" Type="30" Enable="true" Target="taro" Timeout="0" + Resources="0x40CA4000, 8" /> + <!-- 45fps --> + <Config + Id="0x00001094" Type="45" Enable="true" Target="taro" Timeout="0" + Resources="0x40CA4000, 5" /> + <!-- 60fps --> + <Config + Id="0x00001094" Type="60" Enable="true" Target="taro" Timeout="0" + Resources="0x40CA4000, 4" /> + <!-- 90fps --> + <Config + Id="0x00001094" Type="90" Enable="true" Target="taro" Timeout="0" + Resources="0x40CA4000, 3" /> + <!-- 120fps --> + <Config + Id="0x00001094" Type="120" Enable="true" Target="taro" Timeout="0" + Resources="0x40CA4000, 2, 0x40C74000, 15, 0x40408000, 3, 0x40CC8000, 119" /> + <!-- 144fps --> + <Config + Id="0x00001094" Type="144" Enable="true" Target="taro" Timeout="0" + Resources="0x40CA4000, 2, 0x40C74000, 15, 0x40408000, 3, 0x40800100, 800, + 0x40CC8000, 119" /> + <!-- 180fps --> + <Config + Id="0x00001094" Type="180" Enable="true" Target="taro" Timeout="0" + Resources="0x40CA4000, 2" /> + <!-- 240fps --> + <Config + Id="0x00001094" Type="240" Enable="true" Target="taro" Timeout="0" + Resources="0x40CA4000, 2" /> + + <!--FPS Immediate Update from within Perfd--> + <!-- SCHED_WINDOW_TICKS_UPDATE resource opcode, value --> + <!-- Below additional resources for 120fps, 144fps--> + <!-- SCHED_BUSY_HYSTERSIS_CPU_MASK resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + <!-- 144Hz only: CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type indicates FPS --> + <!-- 30fps --> + <Config + Id="0x0000109B" Type="30" Enable="true" Target="taro" Timeout="0" + Resources="0x40CA4000, 8" /> + <!-- 45fps --> + <Config + Id="0x0000109B" Type="45" Enable="true" Target="taro" Timeout="0" + Resources="0x40CA4000, 5" /> + <!-- 60fps --> + <Config + Id="0x0000109B" Type="60" Enable="true" Target="taro" Timeout="0" + Resources="0x40CA4000, 4" /> + <!-- 90fps --> + <Config + Id="0x0000109B" Type="90" Enable="true" Target="taro" Timeout="0" + Resources="0x40CA4000, 3" /> + <!-- 120fps --> + <Config + Id="0x0000109B" Type="120" Enable="true" Target="taro" Timeout="0" + Resources="0x40CA4000, 2, 0x40C74000, 15, 0x40408000, 3" /> + <!-- 144fps --> + <Config + Id="0x0000109B" Type="144" Enable="true" Target="taro" Timeout="0" + Resources="0x40CA4000, 2, 0x40C74000, 15, 0x40408000, 3, 0x40800100, 800" /> + <!-- 180fps --> + <Config + Id="0x0000109B" Type="180" Enable="true" Target="taro" Timeout="0" + Resources="0x40CA4000, 2" /> + <!-- 240fps --> + <Config + Id="0x0000109B" Type="240" Enable="true" Target="taro" Timeout="0" + Resources="0x40CA4000, 2" /> + + <!-- PiCard Early Wakeup both GPU and Display --> + <!-- GPU DISABLE resource opcode, value--> + <!-- DISPLAY EARLY WAKEUP opcode, value--> + <Config + Id="0x00001098" Type="0" Enable="true" Target="taro" Timeout="2000" + Resources="0x4281C000, 32, 0x41C0C000, 0" /> + + <!-- PiCard Early Wakeup GPU only --> + <!-- GPU DISABLE resource opcode, value--> + <Config + Id="0x00001099" Type="0" Enable="true" Target="taro" Timeout="2000" + Resources="0x4281C000, 32" /> + + <!-- PiCard Early Wakeup Display only --> + <!-- DISPLAY EARLY WAKEUP opcode, value--> + <Config + Id="0x0000109A" Type="0" Enable="true" Target="taro" Timeout="2000" + Resources="0x41C0C000, 0" /> + + <!--Large Comp HInt --> + <!-- CPU min freq resource opcode, value --> + <!-- GPU MIN_FREQUENCY resource opcode,value --> + <!-- PID Affine opcode,value --> + <Config + Id="0x00001097" Type="0" Enable="true" Timeout="9" Target="taro" Fps="120" + Resources="0x40800000, 1500, 0x42804000, 0, 0x42C20000, 1" /> + + <Config + Id="0x00001097" Type="0" Enable="true" Timeout="7" Target="taro" Fps="144" + Resources="0x40800000, 1500, 0x42804000, 0, 0x42C20000, 1" /> + + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/taro/perf/perfconfigstore.xml b/perf/configs/taro/perf/perfconfigstore.xml new file mode 100644 index 0000000..f1a663e --- /dev/null +++ b/perf/configs/taro/perf/perfconfigstore.xml @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2019-2021 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is PerfConfigsStore file which returns the value when a +particular property name is invoked --> + +<!-- This file supports only Prop tag, which has the following fields +* Name, to identify the name of the property. The names of the +properties have been classified into Vendor and System property. +* Value, the new value to be returned as string when respective +property Name is called. --> + +<!--__________________________________Example format_______________________________________________ +<Prop Name="vendor.debug.enable.lm" Value="true" Target="lagoon" Variant="lito" Resolution="1080p" + Ram="3" Kernel="4.19"/> + Target: target code name (decided based on soc id, doesn't depend on lunch combo name) + ex: lito, lagoon, kona, etc + Variant: For Variants of Target go/32bit/64bit/nongo, examples below + Variant=bengal_32go -> bengal 32 bit go target + Variant=bengal_32 -> bengal 32 bit target + Variant=bengal -> bengal 64 bit target + Resolution="1080p", "2560", "720p", "HD+" + Kernel: kernel version, examples: "4.19", "5.4", etc + Ram: ram size in GB, examples: "1","2","3","4","6","8","10","12" (12 for target with >= 12GB of RAM as well) +_______________________________________________________________________________________________ --> + +<PerfConfigsStore> + <PerfConfigs> + + <!--Vendor Properties --> + <Prop Name="vendor.iop.enable_uxe" Value="1" /> + <Prop Name="vendor.debug.enable.lm" Value="true" /> + <Prop Name="vendor.perf.iop_v3.enable" Value="true" Target="taro" /> + <Prop Name="vendor.perf.iop_v3.enable.debug" Value="false" /> + <Prop Name="vendor.enable.prefetch" Value="false" /> + <Prop Name="vendor.iop.enable_prefetch_ofr" Value="false" /> + <Prop Name="vendor.iop.enable_speed" Value="true" /> + <Prop Name="vendor.perf.fps_switch_hyst_time_secs" Value="10" /> + <Prop Name="ro.vendor.perf.enable.prekill" Value="false" Target="taro" /> + + <!--System Properties --> + <Prop Name="ro.lmk.kill_heaviest_task_dup" Value="true" /> + <Prop Name="ro.lmk.kill_timeout_ms_dup" Value="100" /> + <Prop Name="ro.lmk.thrashing_threshold" Value="30" /> + <Prop Name="ro.lmk.thrashing_decay" Value="5" /> + <Prop Name="ro.lmk.nstrat_low_swap" Value="10" /> + <Prop Name="ro.lmk.nstrat_psi_partial_ms" Value="70" /> + <Prop Name="ro.lmk.nstrat_psi_complete_ms" Value="70" /> + <Prop Name="ro.lmk.psi_scrit_complete_stall_ms" Value="75" /> + <Prop Name="ro.lmk.nstrat_wmark_boost_factor" Value="4" /> + <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" /> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="96" /> + <Prop Name="ro.vendor.at_library" Value="libqti-at.so" /> + <Prop Name="vendor.perf.performancemode.support" Value="true" Target="taro" /> + <Prop Name="ro.lmk.enable_preferred_apps" Value="true" /> + <Prop Name="vendor.appcompact.enable_app_compact" Value="true" /> + <Prop Name="vendor.appcompact.full_compact_type" Value="2" /> + <Prop Name="vendor.appcompact.some_compact_type" Value="2" /> + <Prop Name="vendor.appcompact.compact_throttle_somesome" Value="5000" /> + <Prop Name="vendor.appcompact.compact_throttle_somefull" Value="10000" /> + <Prop Name="vendor.appcompact.compact_throttle_fullsome" Value="500" /> + <Prop Name="vendor.appcompact.compact_throttle_fullfull" Value="10000" /> + <Prop Name="vendor.appcompact.compact_throttle_bfgs" Value="600000" /> + <Prop Name="vendor.appcompact.compact_throttle_persistent" Value="600000" /> + <Prop Name="vendor.appcompact.rss_throttle_kb" Value="12000" /> + <Prop Name="vendor.appcompact.delta_rss_throttle_kb" Value="8000" /> + <Prop Name="vendor.perf.topAppRenderThreadBoost.enable" Value="false" Target="taro" /> + <Prop Name="ro.lmk.enable_userspace_lmk" Value="true" /> + <Prop Name="vendor.perf.phr.enable" Value="1" Target="taro"/> + <Prop Name="vendor.perf.phr.hr_min_rate" Value="0.5" Target="taro"/> + <Prop Name="vendor.perf.pfar2.enable" Value="1" Target="taro"/> + <Prop Name="vendor.perf.pfar2.boost_level" Value="1" Target="taro"/> + <Prop Name="vendor.perf.pfar2.disable_pl" Value="1" Target="taro"/> + <Prop Name="vendor.perf.pfar2.disable_core_ctl" Value="1" Target="taro"/> + + </PerfConfigs> +</PerfConfigsStore> diff --git a/perf/configs/taro/perf/targetconfig.xml b/perf/configs/taro/perf/targetconfig.xml new file mode 100644 index 0000000..a644d50 --- /dev/null +++ b/perf/configs/taro/perf/targetconfig.xml @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2021 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="taro" + NumClusters="3" + TotalNumCores="8" + SocIds="457" + SynCore="1" + CoreCtlCpu="4" + MinCoreOnline="0" + CpufreqGov="1" /> + + <ClustersInfo Id="0" NumCores="4" Type="little" /> + <ClustersInfo Id="1" NumCores="3" Type="big" /> + <ClustersInfo Id="2" NumCores="1" Type="prime" /> + + </Config1> + +</TargetConfig> diff --git a/perf/configs/taro/perf/targetresourceconfigs.xml b/perf/configs/taro/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..66dc384 --- /dev/null +++ b/perf/configs/taro/perf/targetresourceconfigs.xml @@ -0,0 +1,113 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2017-2021 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to modify the Supported field information. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing path +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. +NOTE - It is not Mandatory to write all the resources which are not supported, +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x1" MinorValue="0x1" Supported="no" /> <!-- toggle_l2_pc_perf --> + <Config MajorValue="0x1" MinorValue="0x2" Node="/proc/sys/walt/sched_busy_hyst_ns" /> + <Config MajorValue="0x2" MinorValue="0x0" Node="/sys/kernel/msm_performance/parameters/cpu_min_freq" /> <!-- cpu_min_freq --> + <Config MajorValue="0x2" MinorValue="0x1" Node="/sys/kernel/msm_performance/parameters/cpu_max_freq" /> <!-- cpu_max_freq --> + <Config MajorValue="0x3" MinorValue="0x0" Node="/proc/sys/walt/sched_boost" /> + <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task --> + <Config MajorValue="0x3" MinorValue="0x6" Node="/proc/sys/walt/sched_init_task_load" /> + <Config MajorValue="0x3" MinorValue="0x7" Supported="no" /> <!-- sched_upmigrate --> + <Config MajorValue="0x3" MinorValue="0x8" Supported="no" /> <!-- sched_downmigrate --> + <Config MajorValue="0x3" MinorValue="0xB" Supported="no" /> <!-- sched_spill_nr_run --> + <Config MajorValue="0x3" MinorValue="0xC" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_set_freq_aggr --> + <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x15" Node="/proc/sys/walt/sched_group_upmigrate" /> + <Config MajorValue="0x3" MinorValue="0x16" Node="/proc/sys/walt/sched_group_downmigrate" /> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggr_threshold --> + <Config MajorValue="0x3" MinorValue="0x1D" Node="/proc/sys/walt/sched_busy_hysteresis_enable_cpus" /> + <Config MajorValue="0x3" MinorValue="0x1E" Node="/proc/sys/walt/sched_min_task_util_for_colocation" /> + <Config MajorValue="0x3" MinorValue="0x1F" Node="/proc/sys/walt/sched_min_task_util_for_boost" /> + <Config MajorValue="0x3" MinorValue="0x21" Node="/proc/sys/walt/sched_user_hint" /> + <Config MajorValue="0x3" MinorValue="0x23" Node="/proc/sys/walt/sched_coloc_downmigrate_ns" /> + <Config MajorValue="0x3" MinorValue="0x24" Node="/proc/sys/walt/sched_coloc_busy_hysteresis_enable_cpus" /> + <Config MajorValue="0x3" MinorValue="0x26" Node="/proc/sys/walt/sched_window_stats_policy" /> + <Config MajorValue="0x3" MinorValue="0x27" Node="/proc/sys/walt/sched_many_wakeup_threshold" /> + <Config MajorValue="0x3" MinorValue="0x29" Node="/proc/sys/walt/sched_ravg_window_nr_ticks" /> + <Config MajorValue="0x3" MinorValue="0x2A" Supported="no" /> <!-- sched_prefer_spread --> + <Config MajorValue="0x3" MinorValue="0x32" Node="/proc/sys/walt/walt_rtg_cfs_boost_prio" /> + <Config MajorValue="0x3" MinorValue="0x33" Node="/proc/sys/walt/sched_force_lb_enable" /> + <Config MajorValue="0x3" MinorValue="0x36" Node="/proc/sys/walt/walt_low_latency_task_threshold " /> + <Config MajorValue="0x3" MinorValue="0x37" Supported="no" /> <!-- Enabled till Kernel 4.19 --> + <Config MajorValue="0x3" MinorValue="0x38" Node="/proc/sys/walt/%s" Supported="yes"/> + <Config MajorValue="0x3" MinorValue="0x39" Supported="no" /> <!-- Enabled till Kernel 4.19 --> + + <Config MajorValue="0x6" MinorValue="0x0" Supported="no" Target="taro" /> + <Config MajorValue="0x6" MinorValue="0x1" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/decay_rate" Target="taro" /> + <Config MajorValue="0x6" MinorValue="0x2" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/io_percent" Target="taro" /> + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" Target="taro" /> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" Target="taro" /> + <Config MajorValue="0x6" MinorValue="0x6" Supported="no" Target="taro" /> + <Config MajorValue="0x6" MinorValue="0x7" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/window_ms" Target="taro" /> + <Config MajorValue="0x6" MinorValue="0x8" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/sample_ms" Target="taro" /> + <Config MajorValue="0x6" MinorValue="0x9" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/idle_mbps" Target="taro" /> + <Config MajorValue="0x6" MinorValue="0xB" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/up_scale" Target="taro" /> + <Config MajorValue="0x6" MinorValue="0x11" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/min_freq" Target="taro" /> + <Config MajorValue="0x6" MinorValue="0x12" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/190b6400.qcom,bwmon-llcc/max_freq" Target="taro" /> + + <Config MajorValue="0xB" MinorValue="0x2" Node="/proc/sys/walt/input_boost/input_boost_freq" /> + <Config MajorValue="0xB" MinorValue="0x6" Supported="no" Target="taro" /><!-- disable_ppr --> + + <!-- llcbw L3 and DDR major end --> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" Target="taro" /> + <Config MajorValue="0xC" MinorValue="0x1" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/io_percent" Target="taro" /> + <Config MajorValue="0xC" MinorValue="0x3" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/sample_ms" Target="taro" /> + <Config MajorValue="0xC" MinorValue="0x5" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/up_scale" Target="taro" /> + <Config MajorValue="0xC" MinorValue="0x6" Supported="no" Target="taro" /> + <Config MajorValue="0xC" MinorValue="0x7" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/decay_rate" Target="taro" /> + <Config MajorValue="0xC" MinorValue="0xA" Supported="no" Target="taro" /> + <Config MajorValue="0xC" MinorValue="0xB" Supported="no" Target="taro" /> + <Config MajorValue="0xC" MinorValue="0xC" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/window_ms" Target="taro" /> + <Config MajorValue="0xC" MinorValue="0xE" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/idle_mbps" Target="taro" /> + <Config MajorValue="0xC" MinorValue="0xF" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/min_freq" Target="taro" /> + <Config MajorValue="0xC" MinorValue="0x10" Node="/sys/devices/system/cpu/bus_dcvs/DDR/19091000.qcom,bwmon-ddr/max_freq" Target="taro" /> + + <Config MajorValue="0xD" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x1" Node="/sys/devices/system/cpu/bus_dcvs/L3/soc:qcom,memlat:l3:silver/ipm_ceil" /> + <Config MajorValue="0xD" MinorValue="0x2" Node="/sys/devices/system/cpu/bus_dcvs/L3/soc:qcom,memlat:l3:gold/ipm_ceil" /> + <Config MajorValue="0xD" MinorValue="0x3" Node="/sys/devices/system/cpu/bus_dcvs/L3/soc:qcom,memlat:l3:silver/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0x4" Node="/sys/devices/system/cpu/bus_dcvs/L3/soc:qcom,memlat:l3:gold/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0x5" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x6" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x7" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x8" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/soc:qcom,memlat:llcc:silver/ipm_ceil" /> + <Config MajorValue="0xD" MinorValue="0x9" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/soc:qcom,memlat:llcc:gold/ipm_ceil" /> + <Config MajorValue="0xD" MinorValue="0xA" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/soc:qcom,memlat:llcc:silver/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0xB" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/soc:qcom,memlat:llcc:gold/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0xC" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0xD" Node="/sys/devices/system/cpu/bus_dcvs/DDR/soc:qcom,memlat:ddr:silver/ipm_ceil" /> + <Config MajorValue="0xD" MinorValue="0xE" Node="/sys/devices/system/cpu/bus_dcvs/DDR/soc:qcom,memlat:ddr:gold/ipm_ceil" /> + <Config MajorValue="0xD" MinorValue="0xF" Node="/sys/devices/system/cpu/bus_dcvs/DDR/soc:qcom,memlat:ddr:silver/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0x10" Node="/sys/devices/system/cpu/bus_dcvs/DDR/soc:qcom,memlat:ddr:gold/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0x16" Node="/sys/devices/system/cpu/bus_dcvs/L3/soc:qcom,memlat:l3:prime/min_freq" /> + <Config MajorValue="0xD" MinorValue="0x17" Node="/sys/devices/system/cpu/bus_dcvs/LLCC/soc:qcom,memlat:llcc:silver/min_freq" /> + <Config MajorValue="0xD" MinorValue="0x18" Node="/sys/devices/system/cpu/bus_dcvs/DDR/soc:qcom,memlat:ddr:silver/min_freq" /> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/configs/taro/perf/targetsysnodesconfigs.xml b/perf/configs/taro/perf/targetsysnodesconfigs.xml new file mode 100644 index 0000000..7827aa5 --- /dev/null +++ b/perf/configs/taro/perf/targetsysnodesconfigs.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2021 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. + */ +--> + +<ResourceConfigs> + <PerfResources> + <SysNode Idx="0x2" Node="/sys/kernel/msm_performance/parameters/cpu_max_freq" /> + <SysNode Idx="0x3" Node="/sys/kernel/msm_performance/events/cpu_hotplug" /> + <SysNode Idx="0x5" Node="/sys/kernel/msm_performance/parameters/inst" /> + <SysNode Idx="0x6" Node="/sys/kernel/msm_performance/parameters/splh_notif" /> + <SysNode Idx="0x7" Node="/sys/kernel/msm_performance/notify/gfx_evt" /> + <SysNode Idx="0x8" Node="/sys/kernel/msm_performance/parameters/evnt_gplaf_pid" /> + </PerfResources> +</ResourceConfigs>
\ No newline at end of file diff --git a/perf/configs/trinket/lm/AdaptLaunchFeature.xml b/perf/configs/trinket/lm/AdaptLaunchFeature.xml new file mode 100644 index 0000000..7b562b1 --- /dev/null +++ b/perf/configs/trinket/lm/AdaptLaunchFeature.xml @@ -0,0 +1,46 @@ +<!-- +/****************************************************************************** + @file AdaptLaunchFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2019 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AdaptLaunch</Name> + <Libname>libadaptlaunch.so</Libname> + <Configs> + <Enable>1</Enable> + </Configs> + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>VmRss</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_FIRST_LAUNCH_BOOST</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + <Trigger> + <Primary>false</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + </Trigger> + </Triggers> + <Samples>160</Samples> + <Fields> + <Field>VmRss:</Field> + </Fields> + </Meter> + </Meters> +</Feature> diff --git a/perf/configs/trinket/lm/AppClassifierFeature.xml b/perf/configs/trinket/lm/AppClassifierFeature.xml new file mode 100644 index 0000000..934e8b6 --- /dev/null +++ b/perf/configs/trinket/lm/AppClassifierFeature.xml @@ -0,0 +1,36 @@ +<!-- +/****************************************************************************** + @file AppClassifierFeature.xml + @brief Implementation of Android Framework Learning Module + + DESCRIPTION + Each feature has an xml file to define the components + + =========================================================================== + Copyright (c) 2019 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> +<Feature> + <Name>AppClassifier</Name> + <Configs> + <Enable>1</Enable> + </Configs> + <Libname>libappclassifier.so</Libname> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + </Trigger> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + </Triggers> +</Feature> diff --git a/perf/configs/trinket/lm/GameOptimizationFeature.xml b/perf/configs/trinket/lm/GameOptimizationFeature.xml new file mode 100644 index 0000000..ec99353 --- /dev/null +++ b/perf/configs/trinket/lm/GameOptimizationFeature.xml @@ -0,0 +1,135 @@ +<!-- +/****************************************************************************** + @file GameOptimizationFeature.xml + @brief Game Optimization feature xml + + DESCRIPTION + Each feature has an xml file to define the feature components + + =========================================================================== + Copyright (c) 2019 Qualcomm Technologies, Inc. + All Rights Reserved. + Confidential and Proprietary - Qualcomm Technologies, Inc. + =========================================================================== +******************************************************************************/ +--> +<!-- + Follows "Data goes into elements, metadata goes into attributes" + --> + +<Feature> + <Name>GameOptimization</Name> + <Libname>libgameoptfeature.so</Libname> + <Configs> + <Enable>1</Enable> + <MIN_DDR_FREQ>1144</MIN_DDR_FREQ> + <MAX_MIN_DDR_FREQ>2086</MAX_MIN_DDR_FREQ> + </Configs> + <Profiles> + <Profile> + <!-- Colocation v3 1 GHz --> + <DEFAULT>0x40c6c000,1000000</DEFAULT> + <!-- Colocation v3 1 GHz, Predictive Load 1 --> + <SKEW2>0x40c6c000,1000000,0x41444000,1</SKEW2> + </Profile> + </Profiles> + + <Meters> + <SamplesRequired>4</SamplesRequired> + <Meter> + <Name>MinDDR</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_WORKLOAD_HEAVY</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + </Triggers> + <Samples>100</Samples> + </Meter> + + <Meter> + <Name>Fps</Name> + <Triggers> + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_APP_WORKLOAD_TYPE</AsyncId> + <AsyncType>1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_TAP_EVENT</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_START</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_PAUSE</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_RESUME</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + <Trigger> + <Primary>true</Primary> + <AsyncId>VENDOR_HINT_ACTIVITY_STOP</AsyncId> + <AsyncType>-1</AsyncType> + </Trigger> + + </Triggers> + <Configs> + <FPS_NODE>/sys/class/drm/sde-crtc-0/measured_fps</FPS_NODE> + <FPS_PERIODICITY_NODE>/sys/class/drm/sde-crtc-0/fps_periodicity_ms</FPS_PERIODICITY_NODE> + </Configs> + <Samples>100</Samples> + </Meter> + </Meters> +</Feature> diff --git a/perf/configs/trinket/msm_irqbalance.conf b/perf/configs/trinket/msm_irqbalance.conf new file mode 100644 index 0000000..1a7232f --- /dev/null +++ b/perf/configs/trinket/msm_irqbalance.conf @@ -0,0 +1,2 @@ +PRIO=1,1,1,1,0,0,0,0 +IGNORED_IRQ=19,22,39 diff --git a/perf/configs/trinket/perf/perfboostsconfig.xml b/perf/configs/trinket/perf/perfboostsconfig.xml new file mode 100644 index 0000000..4a37bf2 --- /dev/null +++ b/perf/configs/trinket/perf/perfboostsconfig.xml @@ -0,0 +1,213 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- +/* Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +*/ +--> + + +<!--Ids are used in identifying the boosts, increment ids linearly, + do not modify Ids, or add in between--> +<!--follow the number format rules while specifying number, can be given + in any format--> + +<BoostConfigs> + <PerfBoost> + + <!--app lauch boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + + <!-- Type="1", main launch boost of 2sec --> + <Config + Id="0x00001081" Type="1" Enable="true" Timeout="2000" Target="trinket" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1401, + 0x40800100, 1305" /> + + <!--app lauch boost (disabling packing)--> + <!-- POWER COLLAPSE resource opcode, value--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + + <!-- Type="2", launch boost for disable packing 1.5sec --> + <Config + Id="0x00001081" Type="2" Enable="true" Timeout="1500" Target="trinket" + Resources="0x40400000, 0x1, 0x41800000, 59" /> + + <!-- config_enableLaunchBoostv3--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <!-- Type="3", FA launch boost of 15sec --> + <Config + Id="0x00001081" Type="3" Enable="true" Timeout="15000" Target="trinket" + Resources="0x40C00000, 0x3, 0x40C58000, 65, 0x40C54000, 71, 0x40408000, 0x63" /> + + <!-- config_enableLaunchBoostv4--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- LPM Bias resource opcode, value--> + + <!-- Type="4", AA games only launch boost --> + <Config + Id="0x00001081" Type="4" Enable="true" Timeout="15000" Target="trinket" + Resources="0x40C00000, 0x3, 0x40C58000, 65, 0x40C54000, 71, 0x40408000, 0x05" /> + + <!-- config_enableLaunchBoostv5--> + <!-- MIN_ONLINE_CPU_CLUSTER_BIG resource opcode, value--> + <!-- MIN_ONLINE_CPU_CLUSTER_LITTLE resource opcode, value--> + <!-- GO_HISPEED_LOAD_INTERACTIVE_CLUSTER_BIG resource opcode, value--> + <!-- GO_HISPEED_LOAD_INTERACTIVE_CLUSTER_LITTLE resource opcode, value--> + <!-- HISPEED_FREQ_INTERACTIVE_CLUSTER_BIG resource opcode, value--> + <!-- HISPEED_FREQ_INTERACTIVE_CLUSTER_LITTLE resource opcode, value--> + <!-- SCHED DOWNMIGRATE resource opcode, value--> + <!-- SCHED UPMIGRATE resource opcode, value--> + + <!-- Type="5", Adaptive Launch boost --> + <Config + Id="0x00001081" Type="5" Enable="true" Timeout="2000" Target="trinket" + Resources="0x41000100, 0x4, 0x41000000, 0x4, + 0x41440000, 0x28, 0x41440100, 0x28, + 0x4143C000, 0xFFF, 0x4143C100, 0xFFF, + 0x40C20000, 0x28, 0x40C1C000, 0x32" /> + + <!-- config_enableLaunchBoost6--> + <!-- LPM_BIAS resource opcode, val ms--> + <!-- SLB_BIG, val, SLB_BIG, val, SLB_BIG, val, SLB_BIG, val--> + <!-- SCHED GROUP DOWNMIGRATE resource opcode, value--> + <!-- SCHED GROUP UPMIGRATE resource opcode, value--> + <!-- MIN_FREQ_BIG, val MHz --> + <!-- CPU_DOWN_FREQ_THRESHOLD_US, val us --> + + <!-- Type="6", Game Launch boost --> + <Config + Id="0x00001081" Type="6" Enable="true" Timeout="2000" Target="trinket" + Resources="0x40408000, 0x5, + 0x40C68040, 60, 0x40C68050, 60, + 0x40C68060, 60, 0x40C68070, 60, + 0x40C58000, 65, 0x40C54000, 71, + 0x40800000, 1056, + 0x41448000, 20000"/> + + <!--Animation boost --> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <Config + Id="0x00001083" Enable="true" Timeout="400" Target="trinket" + Resources="0x40804000, 2016, 0x40804100, 1804, 0x40800000, 2208, 0x40800100, 1708" /> + + <!--Vertical Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="1", Vertical Scroll boost --> + <Config + Id="0x00001080" Type="1" Enable="true" Target="trinket" + Resources="0x41800000, 0x26, 0x40800000, 1056, 0x40800100, 1017, 0x40C00000, 2" /> + + <!--Horizontal Scroll boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="2", Horizontal Scroll boost --> + <Config + Id="0x00001080" Type="2" Enable="true" Target="trinket" + Resources="0x41800000, 0x26, 0x40800000, 1056, 0x40800100, 1017, 0x40C00000, 2" /> + + <!--Pre-Fling boost--> + <!-- CPUBW_MIN_FREQ resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + <!-- SCHEDBOOST resource opcode, value--> + + <!-- Type="4", Pre-Fling boost --> + <Config + Id="0x00001080" Type="4" Enable="true" Timeout="80" Target="trinket" + Resources="0x41800000, 0x26, 0x40800000, 1056, 0x40800100, 1017, 0x40C00000, 2" /> + + <!--MTP boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- STORAGE CLK SCALING resource opcode, value--> + + <!-- Type="", MTP boost --> + + <Config + Id="0x00001086" Enable="true" Target="trinket" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000, 1401, + 0x40800100, 1305, 0x42C10000, 0x1" /> + + <!--PackageInstall boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- SCHED_SYNC_HINT_ENABLE resource opcode, value--> + <!-- Type="", Package Install boost --> + + <Config + Id="0x00001088" Enable="true" Target="trinket" + Resources="0x40C00000, 0x2, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF, 0x40CA0000, 0" /> + + <!--Rotation latency boost--> + <!-- SCHEDBOOST resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MAX_FREQ LITTLE Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ BIG Core resource opcode, value--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- Type="", Rotation latency boost --> + + <Config + Id="0x00001089" Enable="true" Timeout="1500" Target="trinket" + Resources="0x40C00000, 0x1, 0x40804000, 0xFFF, 0x40804100, 0xFFF, 0x40800000,0xFFF, + 0x40800100,0xFFF" /> + + <!--Rotation animation boost--> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value--> + <!-- GPU MIN_FREQUENCY resource opcode,value--> + <!-- Type="", Rotation animation boost --> + + <Config + Id="0x00001090" Enable="true" Timeout="1000" Target="trinket" + Resources="0x40800100, 1000, 0x4280C000, 950" /> + + <!--Drag boost--> + <!-- CPUBOOST_MIN_FREQ BIG CORE resource opcode, value --> + <!-- CPUBOOST_MIN_FREQ LITTLE Core resource opcode, value --> + + <!-- Type="1", Drag boost --> + <Config + Id="0x00001087" Type="1" Enable="true" Timeout="0" Target="trinket" + Resources="0x40800000, 1056, 0x40800100, 1017" /> + + + <!--Display on Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001041" Enable="true" Timeout="0" Target="trinket" + Resources="0x40000000, 1" /> + <!--Display off Resource --> + <!-- Display on resource opcode, value --> + <Config + Id="0x00001040" Enable="true" Timeout="0" Target="trinket" + Resources="0x40000000, 0x0" /> + </PerfBoost> +</BoostConfigs> diff --git a/perf/configs/trinket/perf/perfconfigstore.xml b/perf/configs/trinket/perf/perfconfigstore.xml new file mode 100644 index 0000000..28bdc5f --- /dev/null +++ b/perf/configs/trinket/perf/perfconfigstore.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is PerfConfigsStore file which returns the value when a +particular property name is invoked --> + +<!-- This file supports only Prop tag, which has the following fields +* Name, to identify the name of the property. The names of the +properties have been classified into Vendor and System property. +* Value, the new value to be returned as string when respective +property Name is called. --> + +<PerfConfigsStore> + <PerfConfigs> + + <!--System Properties --> + <Prop Name="ro.vendor.qti.sys.fw.bg_apps_limit" Value="60" /> + <Prop Name="ro.vendor.at_library" Value="libqti-at.so" /> + <Prop Name="vendor.perf.gestureflingboost.enable" Value="true" /> + <Prop Name="ro.vendor.iocgrp.config" Value="1" /> + + <!--Vendor Properties --> + <Prop Name="vendor.iop.enable_uxe" Value="1" /> + <Prop Name="vendor.debug.enable.lm" Value="true" /> + <Prop Name="vendor.debug.enable.memperfd" Value="true" /> + <Prop Name="ro.vendor.qti.am.reschedule_service" Value="true" /> + + </PerfConfigs> +</PerfConfigsStore> diff --git a/perf/configs/trinket/perf/targetconfig.xml b/perf/configs/trinket/perf/targetconfig.xml new file mode 100644 index 0000000..22f4109 --- /dev/null +++ b/perf/configs/trinket/perf/targetconfig.xml @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<TargetConfig> + + <!-- All the target related information goes in TargetInfo tag. + Following are the supported fields for TargetInfo tag. + Mandatory Fields + * NumClusters, number of clusters + * TotalNumCores, total number of cores + * SocIds, a comma seperated list of supported socids for this target. + Other Fields + * Target, target name. + * SynCore, default value is "1" implies sync core and change to "0" for async core. + * CoreCtlCpu, core_ctl is enabled on which physical core, defalut value is "-1". + * MinCoreOnline, minimum number of cores needed to be online, default value is "0" + * GovInstanceType, default value "0" which implies "CLUSTER_BASED_GOV_INSTANCE", + can be changed to "1" for "SINGLE_GOV_INSTANCE". + * CpufreqGov, default value is "0" which implies "INTERACTIVE", can be changed it + to "1" for "SCHEDUTIL". + --> + + <!-- For each cluster,write a seperate ClustersInfo tag. + Following are the supported fields for ClustersInfo tag. + Mandatory Fields + * Id, cluster number starts with index 0. + * NumCores, total number of cores for that cluster. + Other Fields + * Type, whther a "little" or "big" cluster. + (Type is mandatory, If there is more than one cluster.) + * MaxFrequency, Any limitations for max frequency for that cluster. + --> + + <!-- For targets sharing the same platfrom, we can have seperate config tag for each + of those targets with different number in the Config tag and basing on the socId + of the target device, we decide which configs to consider. --> + + <Config1> + + <TargetInfo + Target="trinket" + NumClusters="2" + TotalNumCores="8" + SocIds="394" + SynCore="1" + CoreCtlCpu="4" + MinCoreOnline="0" + CpufreqGov="1" /> + + <ClustersInfo Id="0" NumCores="4" Type="little" /> + <ClustersInfo Id="1" NumCores="4" Type="big" /> + + </Config1> + +</TargetConfig> diff --git a/perf/configs/trinket/perf/targetresourceconfigs.xml b/perf/configs/trinket/perf/targetresourceconfigs.xml new file mode 100644 index 0000000..2b744d2 --- /dev/null +++ b/perf/configs/trinket/perf/targetresourceconfigs.xml @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="utf-8"?> + +<!-- + * Copyright (c) 2019 Qualcomm Technologies, Inc. + * All Rights Reserved. + * Confidential and Proprietary - Qualcomm Technologies, Inc. +--> + +<!-- This is a target specific resource config file which can be +used to overwrite the node paths mentioned in common resources file +and also to modify the Supported field information. --> + +<!-- This file supports only Config tag, which has the following fields +* MajorValue and MinorValue, both are required to uniquely +identify the resource. +* Node, the new node path to overwrite the already existing path +of commonresourceconfigs.xml file. +* Supported, to indicate whether the resource is supported or not. +* For each config tag, either of Node or Supported fields need +to be mentioned. +NOTE - It is not Mandatory to write all the resources which are not supported, +as anyway perflock calls of these resources would fail. --> + +<ResourceConfigs> + <PerfResources> + + <Config MajorValue="0x3" MinorValue="0x3" Supported="no" /> <!-- sched_small_task --> + <Config MajorValue="0x3" MinorValue="0x6" Supported="no" /> <!-- sched_init_task_load --> + <Config MajorValue="0x3" MinorValue="0xA" Supported="no" /> <!-- sched_add_group --> + <Config MajorValue="0x3" MinorValue="0xB" Supported="no" /> <!-- sched_spill_nr_run --> + <Config MajorValue="0x3" MinorValue="0xC" Supported="no" /> <!-- sched_static_cpu_pwr_cost --> + <Config MajorValue="0x3" MinorValue="0xD" Supported="no" /> <!-- sched_restrict_cluster_spill --> + <Config MajorValue="0x3" MinorValue="0x13" Supported="no" /> <!-- sched_set_freq_aggr --> + <Config MajorValue="0x3" MinorValue="0x14" Supported="no" /> <!-- sched_enable_thread_grouping --> + <Config MajorValue="0x3" MinorValue="0x17" Supported="no" /> <!-- sched_freq_aggr_threshold --> + + <Config MajorValue="0x5" MinorValue="0x13" Supported="no" /> <!-- rtg_boost_freq --> + + <Config MajorValue="0x6" MinorValue="0x0" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/min_freq" /> + <Config MajorValue="0x6" MinorValue="0x1" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/decay_rate" /> + <Config MajorValue="0x6" MinorValue="0x2" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/io_percent" /> + <Config MajorValue="0x6" MinorValue="0x4" Supported="no" /> <!-- cpubw_hmon_low_power_ceil_mbps --> + <Config MajorValue="0x6" MinorValue="0x5" Supported="no" /> <!-- cpubw_hmon_low_power_io_percent --> + <Config MajorValue="0x6" MinorValue="0x6" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/max_freq" /> + <Config MajorValue="0x6" MinorValue="0x7" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/polling_interval" /> + <Config MajorValue="0x6" MinorValue="0x8" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/sample_ms" /> + <Config MajorValue="0x6" MinorValue="0x9" Node="/sys/class/devfreq/soc:qcom,cpu-cpu-ddr-bw/bw_hwmon/idle_mbps" /> + <Config MajorValue="0x6" MinorValue="0xA" Supported="no" /> + + <!-- llcbw L3 and DDR major end --> + <Config MajorValue="0xC" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x3" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x4" Supported="no" /> + <Config MajorValue="0xC" MinorValue="0x6" Supported="no" /> + + <Config MajorValue="0xD" MinorValue="0x0" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x1" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x2" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x3" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x4" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x5" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x6" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x7" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x8" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0x9" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0xA" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0xB" Supported="no" /> + <Config MajorValue="0xD" MinorValue="0xC" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-lat/min_freq" /> + <Config MajorValue="0xD" MinorValue="0xD" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0xE" Node="/sys/class/devfreq/soc:qcom,cpu4-cpu-ddr-lat/mem_latency/ratio_ceil" /> + <Config MajorValue="0xD" MinorValue="0xF" Node="/sys/class/devfreq/soc:qcom,cpu0-cpu-ddr-lat/mem_latency/stall_floor" /> + <Config MajorValue="0xD" MinorValue="0x10" Node="/sys/class/devfreq/soc:qcom,cpu4-cpu-ddr-lat/mem_latency/stall_floor" /> + + </PerfResources> +</ResourceConfigs> diff --git a/perf/extract-files.sh b/perf/extract-files.sh new file mode 100755 index 0000000..4f879ca --- /dev/null +++ b/perf/extract-files.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# +# Copyright (C) 2018-2019 The LineageOS Project +# Copyright (C) 2020 Paranoid Android +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# If we're being sourced by the common script that we called, +# stop right here. No need to go down the rabbit hole. +if [ "${BASH_SOURCE[0]}" != "${0}" ]; then + return +fi + +set -e + +# Required! +export COMPONENT=perf +export VENDOR=qcom/common + +"../extract-files.sh" "$@" diff --git a/perf/init.ice.perf.rc b/perf/init.ice.perf.rc new file mode 100644 index 0000000..d1feb97 --- /dev/null +++ b/perf/init.ice.perf.rc @@ -0,0 +1,33 @@ +# Copyright (C) 2020 Paranoid Android +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +on property:vendor.post_boot.parsed=1 + # Override readahead to 128KiB. + write /sys/block/dm-0/queue/read_ahead_kb 128 + write /sys/block/dm-1/queue/read_ahead_kb 128 + write /sys/block/dm-2/queue/read_ahead_kb 128 + write /sys/block/dm-3/queue/read_ahead_kb 128 + write /sys/block/dm-4/queue/read_ahead_kb 128 + write /sys/block/dm-5/queue/read_ahead_kb 128 + write /sys/block/dm-6/queue/read_ahead_kb 128 + write /sys/block/dm-7/queue/read_ahead_kb 128 + write /sys/block/dm-8/queue/read_ahead_kb 128 + write /sys/block/dm-9/queue/read_ahead_kb 128 + write /sys/block/mmcblk0/queue/read_ahead_kb 128 + write /sys/block/sda/queue/read_ahead_kb 128 + write /sys/block/sdb/queue/read_ahead_kb 128 + write /sys/block/sdc/queue/read_ahead_kb 128 + write /sys/block/sdd/queue/read_ahead_kb 128 + write /sys/block/sde/queue/read_ahead_kb 128 + write /sys/block/sdf/queue/read_ahead_kb 128 diff --git a/perf/poweropt-service-disable.rc b/perf/poweropt-service-disable.rc new file mode 100644 index 0000000..05aeacb --- /dev/null +++ b/perf/poweropt-service-disable.rc @@ -0,0 +1,20 @@ +# Copyright (C) 2021 Paranoid Android +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +service poweropt-service /vendor/bin/poweropt-service + override + class main + user root + group system + disabled diff --git a/perf/proprietary-files.txt b/perf/proprietary-files.txt new file mode 100644 index 0000000..4222fa0 --- /dev/null +++ b/perf/proprietary-files.txt @@ -0,0 +1,136 @@ +-system_ext/app/PerformanceMode/PerformanceMode.apk +-system_ext/app/workloadclassifier/workloadclassifier.apk +system_ext/bin/perfservice +system_ext/bin/qspmsvc +system_ext/etc/init/perfservice.rc +system_ext/etc/init/qspmsvc.rc +system_ext/etc/perf/wlc_model.tflite +system_ext/etc/seccomp_policy/perfservice.policy +system_ext/lib/libbeluga.so +system_ext/lib/libcomposerextn.qti.so +system_ext/lib/libdolphin.so +system_ext/lib/liblayerext.qti.so +system_ext/lib/libqspmsvc.so +system_ext/lib/libqti-at.so +system_ext/lib/libqti-iopd-client_system.so +system_ext/lib/libqti-perfd-client_system.so +system_ext/lib/libqti_performance.so +system_ext/lib/libqti_workloadclassifiermodel.so +system_ext/lib/libskewknob_system.so +system_ext/lib/libsmomo.qti.so +system_ext/lib/libsmomoconfig.qti.so +system_ext/lib/vendor.qti.hardware.limits@1.0.so +system_ext/lib/vendor.qti.hardware.limits@1.1.so +system_ext/lib/vendor.qti.hardware.iop@2.0.so +system_ext/lib/vendor.qti.hardware.perf@2.0.so +system_ext/lib/vendor.qti.hardware.perf@2.1.so +system_ext/lib/vendor.qti.hardware.perf@2.2.so +system_ext/lib/vendor.qti.hardware.perf@2.3.so +system_ext/lib/vendor.qti.qspmhal@1.0.so +system_ext/lib64/libbeluga.so +system_ext/lib64/libcomposerextn.qti.so +system_ext/lib64/libdolphin.so +system_ext/lib64/liblayerext.qti.so +system_ext/lib64/libqspmsvc.so +system_ext/lib64/libqti-at.so +system_ext/lib64/libqti-iopd-client_system.so +system_ext/lib64/libqti-perfd-client_system.so +system_ext/lib64/libqti_performance.so +system_ext/lib64/libqti_workloadclassifiermodel.so +system_ext/lib64/libskewknob_system.so +system_ext/lib64/libsmomo.qti.so +system_ext/lib64/libsmomoconfig.qti.so +system_ext/lib64/vendor.qti.hardware.limits@1.0.so +system_ext/lib64/vendor.qti.hardware.limits@1.1.so +system_ext/lib64/vendor.qti.hardware.iop@2.0.so +system_ext/lib64/vendor.qti.hardware.perf@2.0.so +system_ext/lib64/vendor.qti.hardware.perf@2.1.so +system_ext/lib64/vendor.qti.hardware.perf@2.2.so +system_ext/lib64/vendor.qti.hardware.perf@2.3.so +system_ext/lib64/vendor.qti.qspmhal@1.0.so +system/etc/permissions/com.qualcomm.qti.Performance.xml|7976f2fd46b8d07814310cc957a70f829bdd6932 +system/etc/permissions/com.qualcomm.qti.UxPerformance.xml|d92749d80c5d956db8251b08ea6388d3f107a32c +-system/framework/QXPerformance.jar +-system/framework/QPerformance.jar +-system/framework/UxPerformance.jar +-vendor/app/pasrservice/pasrservice.apk +vendor/bin/hw/vendor.qti.hardware.iop@2.0-service +vendor/bin/hw/vendor.qti.hardware.perf@2.2-service +vendor/bin/hw/vendor.qti.hardware.servicetracker@1.2-service +vendor/bin/hw/vendor.qti.memory.pasrmanager@1.0-service +vendor/bin/hw/vendor.qti.psiclient@1.0-service +vendor/bin/msm_irqbalance +vendor/bin/poweropt-service +vendor/bin/vendor.qti.qspmhal@1.0-service +vendor/etc/init/poweropt-service.rc +vendor/etc/init/vendor.qti.hardware.iop@2.0-service.rc +vendor/etc/init/vendor.qti.hardware.perf@2.2-service.rc +vendor/etc/init/vendor.qti.hardware.servicetracker@1.2-service.rc +vendor/etc/init/vendor.qti.memory.pasrmanager@1.0-service.rc +vendor/etc/init/vendor.qti.psiclient@1.0-service.rc +vendor/etc/init/vendor.qti.qspmhal@1.0-service.rc +vendor/etc/pwr/PowerFeatureConfig.xml +vendor/etc/pwr/VideoPowerOptFeature.xml +vendor/etc/seccomp_policy/qspm.policy +-vendor/etc/vintf/manifest/vendor.qti.hardware.servicetracker@1.2-service.xml +-vendor/etc/vintf/manifest/vendor.qti.memory.pasrmanager@1.0-service.xml +vendor/lib/hw/vendor.qti.hardware.servicetracker@1.2-impl.so +vendor/lib/hw/vendor.qti.memory.pasrmanager@1.0-impl.so +vendor/lib/libpasrutils.so +vendor/lib/libperfconfig.so +vendor/lib/libperfgluelayer.so +vendor/lib/libperfioctl.so +vendor/lib/libqti-iopd.so +vendor/lib/libqti-iopd-client.so +vendor/lib/libqti-perfd.so +vendor/lib/libqti-perfd-client.so +vendor/lib/libqti-util.so +vendor/lib/libqti-utils.so +vendor/lib/libskewknob.so +vendor/lib/vendor.qti.hardware.iop@1.0.so +vendor/lib/vendor.qti.hardware.iop@2.0.so +vendor/lib/vendor.qti.hardware.perf@2.0.so +vendor/lib/vendor.qti.hardware.perf@2.1.so +vendor/lib/vendor.qti.hardware.perf@2.2.so +vendor/lib/vendor.qti.memory.pasrmanager@1.0.so +vendor/lib/vendor.qti.memory.pasrmanager@1.1.so +vendor/lib/vendor.qti.power.pasrmanager@1.0.so +vendor/lib/vendor.qti.qspmhal@1.0.so +vendor/lib/vendor.qti.qspmhal@1.0-impl.so +vendor/lib64/hw/vendor.qti.hardware.servicetracker@1.2-impl.so +vendor/lib64/hw/vendor.qti.memory.pasrmanager@1.0-impl.so +vendor/lib64/libadaptlaunch.so +vendor/lib64/libappclassifier.so +vendor/lib64/libgameoptfeature.so +vendor/lib64/libgplaf.so +vendor/lib64/liblearningmodule.so +vendor/lib64/liblmutils-ns.so +vendor/lib64/libmemperfd.so +vendor/lib64/libmeters.so +vendor/lib64/libmeters-ns.so +vendor/lib64/libpasrutils.so +vendor/lib64/libperfconfig.so +vendor/lib64/libperfgluelayer.so +vendor/lib64/libperfioctl.so +vendor/lib64/libpowercallback.so +vendor/lib64/libpowercore.so +vendor/lib64/libprekill.so +vendor/lib64/libqti-iopd.so +vendor/lib64/libqti-iopd-client.so +vendor/lib64/libqti-perfd.so +vendor/lib64/libqti-perfd-client.so +vendor/lib64/libqti-util.so +vendor/lib64/libqti-utils.so +vendor/lib64/libreffeature.so +vendor/lib64/libskewknob.so +vendor/lib64/libsplh.so +vendor/lib64/vendor.qti.hardware.iop@1.0.so +vendor/lib64/vendor.qti.hardware.iop@2.0.so +vendor/lib64/vendor.qti.hardware.perf@2.0.so +vendor/lib64/vendor.qti.hardware.perf@2.1.so +vendor/lib64/vendor.qti.hardware.perf@2.2.so +vendor/lib64/vendor.qti.memory.pasrmanager@1.0.so +vendor/lib64/vendor.qti.memory.pasrmanager@1.1.so +vendor/lib64/vendor.qti.power.pasrmanager@1.0.so +vendor/lib64/vendor.qti.qspmhal@1.0.so +vendor/lib64/vendor.qti.qspmhal@1.0-impl.so diff --git a/perf/qti-perf.mk b/perf/qti-perf.mk new file mode 100644 index 0000000..bb389c9 --- /dev/null +++ b/perf/qti-perf.mk @@ -0,0 +1,80 @@ +# Copyright (C) 2021 Paranoid Android +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +PRODUCT_SOONG_NAMESPACES += \ + device/qcom/common/perf + +# Boot Jars +PRODUCT_BOOT_JARS += \ + QPerformance \ + UxPerformance + +# Packages +PRODUCT_PACKAGES += \ + android.hardware.thermal@2.0 \ + libavservices_minijail + +# Configs +PRODUCT_COPY_FILES += \ + $(call find-copy-subdir-files,*,$(LOCAL_PATH)/perf/configs/common,$(TARGET_COPY_OUT_VENDOR)/etc) \ + $(call find-copy-subdir-files,*,$(LOCAL_PATH)/perf/configs/$(TARGET_BOARD_PLATFORM),$(TARGET_COPY_OUT_VENDOR)/etc) + +# Disable IOP HAL for select platforms. +ifeq ($(call is-board-platform-in-list, msm8937 msm8953 msm8998 qcs605 sdm660 sdm710),true) +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/perf/vendor.qti.hardware.iop@2.0-service-disable.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.iop@2.0-service-disable.rc +endif + +# Disable the poweropt service for non 5.4 platforms. +ifneq ($(TARGET_KERNEL_VERSION),5.4) +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/perf/poweropt-service-disable.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/poweropt-service-disable.rc +endif + +# Packages +PRODUCT_PACKAGES += \ + android.hardware.thermal@2.0.vendor \ + init.ice.perf.rc \ + libavservices_minijail.vendor \ + libpsi.vendor \ + libtflite \ + vendor.qti.hardware.servicetracker@1.2.vendor + +ifeq ($(TARGET_KERNEL_VERSION),5.4) +PRODUCT_PACKAGES += \ + task_profiles-qti +endif + +# Properties +PRODUCT_PROPERTY_OVERRIDES += \ + ro.vendor.perf-hal.ver=2.2 \ + ro.vendor.extension_library=libqti-perfd-client.so \ + vendor.power.pasr.enabled=true + +ifeq ($(call is-board-platform-in-list, lahaina),true) +PRODUCT_PROPERTY_OVERRIDES += \ + ro.vendor.beluga.p=0x3 \ + ro.vendor.beluga.c=0x4800 \ + ro.vendor.beluga.s=0x900 \ + ro.vendor.beluga.t=0x240 +endif + +ifeq ($(TARGET_KERNEL_VERSION),5.4) +PRODUCT_PROPERTY_OVERRIDES += \ + ro.vendor.perf.scroll_opt=true \ + vendor.pasr.activemode.enabled=true +endif + +# Get non-open-source specific aspects +$(call inherit-product-if-exists, vendor/qcom/common/perf/perf-vendor.mk) diff --git a/perf/setup-makefiles.sh b/perf/setup-makefiles.sh new file mode 100755 index 0000000..0052dfc --- /dev/null +++ b/perf/setup-makefiles.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# +# Copyright (C) 2018-2019 The LineageOS Project +# Copyright (C) 2020 Paranoid Android +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +set -e + +# Required! +export COMPONENT=perf +export VENDOR=qcom/common + +"../setup-makefiles.sh" "$@" diff --git a/perf/task_profiles.json b/perf/task_profiles.json new file mode 100644 index 0000000..695a7d9 --- /dev/null +++ b/perf/task_profiles.json @@ -0,0 +1,592 @@ +{ + "Attributes": [ + { + "Name": "LowCapacityCPUs", + "Controller": "cpuset", + "File": "background/cpus" + }, + { + "Name": "HighCapacityCPUs", + "Controller": "cpuset", + "File": "foreground/cpus" + }, + { + "Name": "MaxCapacityCPUs", + "Controller": "cpuset", + "File": "top-app/cpus" + }, + { + "Name": "AudioAppCapacityCPUs", + "Controller": "cpuset", + "File": "audio-app/cpus" + }, + + { + "Name": "MemLimit", + "Controller": "memory", + "File": "memory.limit_in_bytes" + }, + { + "Name": "MemSoftLimit", + "Controller": "memory", + "File": "memory.soft_limit_in_bytes" + }, + { + "Name": "MemSwappiness", + "Controller": "memory", + "File": "memory.swappiness" + }, + { + "Name": "UClampMin", + "Controller": "cpu", + "File": "cpu.uclamp.min" + }, + { + "Name": "UClampMax", + "Controller": "cpu", + "File": "cpu.uclamp.max" + } + ], + + "Profiles": [ + { + "Name": "HighEnergySaving", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "background" + } + } + ] + }, + { + "Name": "Frozen", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "freezer", + "Path": "frozen" + } + } + ] + }, + { + "Name": "Unfrozen", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "freezer", + "Path": "" + } + } + ] + }, + { + "Name": "NormalPerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "" + } + } + ] + }, + { + "Name": "HighPerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "foreground" + } + } + ] + }, + { + "Name": "MaxPerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "top-app" + } + } + ] + }, + { + "Name": "RealtimePerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "rt" + } + } + ] + }, + { + "Name": "AudioAppPerformance", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "cpu", + "Path": "audio-app" + } + } + ] + }, + + { + "Name": "VrKernelCapacity", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "" + } + } + ] + }, + { + "Name": "VrServiceCapacityLow", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system/background" + } + } + ] + }, + { + "Name": "VrServiceCapacityNormal", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system" + } + } + ] + }, + { + "Name": "VrServiceCapacityHigh", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system/performance" + } + } + ] + }, + { + "Name": "VrProcessCapacityLow", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "application/background" + } + } + ] + }, + { + "Name": "VrProcessCapacityNormal", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "application" + } + } + ] + }, + { + "Name": "VrProcessCapacityHigh", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "application/performance" + } + } + ] + }, + + { + "Name": "ProcessCapacityLow", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "background" + } + } + ] + }, + { + "Name": "ProcessCapacityNormal", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "" + } + } + ] + }, + { + "Name": "ProcessCapacityHigh", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "foreground" + } + } + ] + }, + { + "Name": "ProcessCapacityMax", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "top-app" + } + } + ] + }, + + { + "Name": "ServiceCapacityLow", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system-background" + } + } + ] + }, + { + "Name": "ServiceCapacityRestricted", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "restricted" + } + } + ] + }, + + { + "Name": "CameraServiceCapacity", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "camera-daemon" + } + } + ] + }, + { + "Name": "AudioAppCapacity", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "cpuset", + "Path": "audio-app" + } + } + ] + }, + + { + "Name": "BlkIOForeground", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "blkio", + "Path": "" + } + } + ] + }, + { + "Name": "BlkIOBackground", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "blkio", + "Path": "bg" + } + } + ] + }, + + { + "Name": "LowIoPriority", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "blkio", + "Path": "background" + } + } + ] + }, + { + "Name": "NormalIoPriority", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "blkio", + "Path": "" + } + } + ] + }, + { + "Name": "HighIoPriority", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "blkio", + "Path": "" + } + } + ] + }, + { + "Name": "MaxIoPriority", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "blkio", + "Path": "" + } + } + ] + }, + + { + "Name": "TimerSlackHigh", + "Actions": [ + { + "Name": "SetTimerSlack", + "Params": + { + "Slack": "40000000" + } + } + ] + }, + { + "Name": "TimerSlackNormal", + "Actions": [ + { + "Name": "SetTimerSlack", + "Params": + { + "Slack": "50000" + } + } + ] + }, + + { + "Name": "PerfBoost", + "Actions": [ + { + "Name": "SetClamps", + "Params": + { + "Boost": "50%", + "Clamp": "0" + } + } + ] + }, + { + "Name": "PerfClamp", + "Actions": [ + { + "Name": "SetClamps", + "Params": + { + "Boost": "0", + "Clamp": "30%" + } + } + ] + }, + + { + "Name": "LowMemoryUsage", + "Actions": [ + { + "Name": "SetAttribute", + "Params": + { + "Name": "MemSoftLimit", + "Value": "16MB" + } + }, + { + "Name": "SetAttribute", + "Params": + { + "Name": "MemSwappiness", + "Value": "150" + + } + } + ] + }, + { + "Name": "HighMemoryUsage", + "Actions": [ + { + "Name": "SetAttribute", + "Params": + { + "Name": "MemSoftLimit", + "Value": "512MB" + } + }, + { + "Name": "SetAttribute", + "Params": + { + "Name": "MemSwappiness", + "Value": "100" + } + } + ] + }, + { + "Name": "SystemMemoryProcess", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "memory", + "Path": "system" + } + } + ] + } + ], + + "AggregateProfiles": [ + { + "Name": "SCHED_SP_DEFAULT", + "Profiles": [ "TimerSlackNormal" ] + }, + { + "Name": "SCHED_SP_BACKGROUND", + "Profiles": [ "HighEnergySaving", "LowIoPriority", "TimerSlackHigh" ] + }, + { + "Name": "SCHED_SP_FOREGROUND", + "Profiles": [ "HighPerformance", "HighIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "SCHED_SP_TOP_APP", + "Profiles": [ "MaxPerformance", "MaxIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "SCHED_SP_RT_APP", + "Profiles": [ "RealtimePerformance", "MaxIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_DEFAULT", + "Profiles": [ "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_BACKGROUND", + "Profiles": [ "HighEnergySaving", "ProcessCapacityLow", "LowIoPriority", "TimerSlackHigh" ] + }, + { + "Name": "CPUSET_SP_FOREGROUND", + "Profiles": [ "HighPerformance", "ProcessCapacityHigh", "HighIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_TOP_APP", + "Profiles": [ "MaxPerformance", "ProcessCapacityMax", "MaxIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_SYSTEM", + "Profiles": [ "ServiceCapacityLow", "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_RESTRICTED", + "Profiles": [ "ServiceCapacityRestricted", "TimerSlackNormal" ] + } + ] +} diff --git a/perf/vendor.qti.hardware.iop@2.0-service-disable.rc b/perf/vendor.qti.hardware.iop@2.0-service-disable.rc new file mode 100644 index 0000000..2f4215f --- /dev/null +++ b/perf/vendor.qti.hardware.iop@2.0-service-disable.rc @@ -0,0 +1,20 @@ +# Copyright (C) 2021 Paranoid Android +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +service iop-hal-2-0 /vendor/bin/hw/vendor.qti.hardware.iop@2.0-service + override + class hal + user root + group root readproc + disabled |