{
  "meta": {
    "name": "mtp70",
    "author": "yc@coolapk   ❤️吟惋兮❤改"
  },
  "modules": {
    "switcher": {
      "switchInode": "/sdcard/Android/yc/uperf/cur_powermode.txt",
      "perapp": "/sdcard/Android/yc/uperf/perapp_powermode.txt",
      "hintDuration": {
        "idle": 0.0,
        "touch": 4.0,
        "trigger": 0.03,
        "gesture": 0.1,
        "switch": 0.4,
        "junk": 0.06
      }
    },
    "atrace": {
      "enable": false
    },
    "log": {
      "level": "info"
    },
    "input": {
      "enable": true,
      "swipeThd": 0.03,
      "gestureThdX": 0.03,
      "gestureThdY": 0.03,
      "gestureDelayTime": 2.0,
      "holdEnterTime": 1.0
    },
    "sfanalysis": {
      "enable": true,
      "renderIdleSlackTime": 0.2
    },
    "cpu": {
      "enable": true,
      "powerModel": [
        {
          "efficiency": 100,
          "nr": 4,
          "typicalPower": 0.36,
          "typicalFreq": 2.1,
          "sweetFreq": 1.5,
          "plainFreq": 1.0,
          "freeFreq": 0.6
        },
        {
          "efficiency": 170,
          "nr": 4,
          "typicalPower": 1.5,
          "typicalFreq": 2.0,
          "sweetFreq": 1.7,
          "plainFreq": 1.1,
          "freeFreq": 1.1
        }
      ]
    },
    "sysfs": {
      "llccddrMin0": "762",
      "llccddrMin4": "762",
      "llccddrRC0": "400",
      "llccddrRC4": "400",
      "enable": true,
      "knob": {
        "llccddrMin0": "/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/min_freq",
        "llccddrMin4": "/sys/class/devfreq/soc:qcom,cpu4-llcc-ddr-lat/min_freq",
        "llccddrRC0": "/sys/class/devfreq/soc:qcom,cpu0-llcc-ddr-lat/mem_latency/ratio_ceil",
        "llccddrRC4": "/sys/class/devfreq/soc:qcom,cpu4-llcc-ddr-lat/mem_latency/ratio_ceil",
        "cpusetTa": "/dev/cpuset/top-app/cpus",
        "cpusetFg": "/dev/cpuset/foreground/cpus",
        "cpusetBg": "/dev/cpuset/background/cpus",
        "cpusetSysBg": "/dev/cpuset/system-background/cpus",
        "cpusetRe": "/dev/cpuset/restricted/cpus"
      }
    },
    "sched": {
      "enable": true,
      "cpumask": {
        "all": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ],
        "c0": [
          0,
          1,
          2,
          3
        ],
        "c1": [
          4,
          5,
          6
        ],
        "c2": [
          7
        ]
      },
      "affinity": {
        "auto": {
          "bg": "",
          "fg": "",
          "idle": "",
          "touch": "",
          "boost": ""
        },
        "norm": {
          "bg": "",
          "fg": "all",
          "idle": "all",
          "touch": "all",
          "boost": "all"
        },
        "bg": {
          "bg": "",
          "fg": "c0",
          "idle": "c0",
          "touch": "c0",
          "boost": "c0"
        },
        "ui": {
          "bg": "",
          "fg": "all",
          "idle": "all",
          "touch": "c1",
          "boost": "all"
        },
        "crit": {
          "bg": "",
          "fg": "all",
          "idle": "all",
          "touch": "c1",
          "boost": "c1"
        },
        "gtcoop": {
          "bg": "",
          "fg": "all",
          "idle": "all",
          "touch": "c1",
          "boost": "all"
        },
        "gtmain": {
          "bg": "",
          "fg": "all",
          "idle": "all",
          "touch": "c2",
          "boost": "all"
        }
      },
      "prio": {
        "auto": {
          "bg": 0,
          "fg": 0,
          "idle": 0,
          "touch": 0,
          "boost": 0
        },
        "bg": {
          "bg": -3,
          "fg": 139,
          "idle": 139,
          "touch": 139,
          "boost": 139
        },
        "norm": {
          "bg": -1,
          "fg": -1,
          "idle": 120,
          "touch": 120,
          "boost": 130
        },
        "coop": {
          "bg": -3,
          "fg": 124,
          "idle": 122,
          "touch": 122,
          "boost": 130
        },
        "ui": {
          "bg": -3,
          "fg": 120,
          "idle": 110,
          "touch": 98,
          "boost": 116
        },
        "rtusr": {
          "bg": 98,
          "fg": 98,
          "idle": 97,
          "touch": 97,
          "boost": 98
        },
        "rtsys": {
          "bg": 97,
          "fg": 97,
          "idle": 96,
          "touch": 96,
          "boost": 97
        }
      },
      "rules": [
        {
          "name": "Launcher",
          "regex": "/HOME_PACKAGE/",
          "pinned": true,
          "rules": [
            {
              "k": "/MAIN_THREAD/",
              "ac": "crit",
              "pc": "rtusr"
            },
            {
              "k": "^(RenderThread|GLThread)",
              "ac": "crit",
              "pc": "rtusr"
            },
            {
              "k": "^(GPU completion|HWC release|hwui|FramePolicy|ScrollPolicy|ged-swd)",
              "ac": "bg",
              "pc": "rtusr"
            },
            {
              "k": ".",
              "ac": "auto",
              "pc": "auto"
            }
          ]
        },
        {
          "name": "SurfaceFlinger",
          "regex": "/system/bin/surfaceflinger",
          "pinned": true,
          "rules": [
            {
              "k": "/MAIN_THREAD/",
              "ac": "crit",
              "pc": "auto"
            },
            {
              "k": "^(app|RenderEngine)",
              "ac": "crit",
              "pc": "auto"
            },
            {
              "k": "^Binder:",
              "ac": "auto",
              "pc": "auto"
            },
            {
              "k": ".",
              "ac": "bg",
              "pc": "auto"
            }
          ]
        },
        {
          "name": "SystemServer",
          "regex": "system_server",
          "pinned": true,
          "rules": [
            {
              "k": "^(TaskSnapshot|Greezer|CachedApp|SystemPressure|SensorService)|[Mm]emory",
              "ac": "bg",
              "pc": "auto"
            },
            {
              "k": "^Async",
              "ac": "auto",
              "pc": "norm"
            },
            {
              "k": ".",
              "ac": "auto",
              "pc": "auto"
            }
          ]
        },
        {
          "name": "SystemUI",
          "regex": "com.android.systemui",
          "pinned": true,
          "rules": [
            {
              "k": "^(Jit thread pool|HeapTaskDaemon|FinalizerDaemon|ReferenceQueueD)",
              "ac": "bg",
              "pc": "auto"
            },
            {
              "k": ".",
              "ac": "auto",
              "pc": "auto"
            }
          ]
        },
        {
          "name": "MediaProvider",
          "regex": "^com.android.providers.media",
          "pinned": true,
          "rules": [
            {
              "k": ".",
              "ac": "auto",
              "pc": "bg"
            }
          ]
        },
        {
          "name": "Memory reclaim",
          "regex": "swapd|compactd",
          "pinned": true,
          "rules": [
            {
              "k": ".",
              "ac": "auto",
              "pc": "bg"
            }
          ]
        },
        {
          "name": "Phone",
          "regex": "com.android.phone",
          "pinned": false,
          "rules": [
            {
              "k": ".",
              "ac": "auto",
              "pc": "auto"
            }
          ]
        },
        {
          "name": "Other system processes",
          "regex": "^(/system|/vendor|magiskd|zygiskd)|@|-service$",
          "pinned": false,
          "rules": [
            {
              "k": ".",
              "ac": "auto",
              "pc": "auto"
            }
          ]
        },
        {
          "name": "App co-process",
          "regex": "[.].+:",
          "pinned": false,
          "rules": [
            {
              "k": "^(Jit thread pool|HeapTaskDaemon|FinalizerDaemon|ReferenceQueueD)",
              "ac": "bg",
              "pc": "auto"
            }
          ]
        },
        {
          "name": "Default rule",
          "regex": ".",
          "pinned": false,
          "rules": [
            {
              "k": "/MAIN_THREAD/",
              "ac": "ui",
              "pc": "ui"
            },
            {
              "k": "^(UnityMain|RenderThread |GameThread)",
              "ac": "gtmain",
              "pc": "auto"
            },
            {
              "k": "^(Unity|Worker Thread|TaskGraph|RHIThread|GLThread|Thread-|Job.Worker)",
              "ac": "gtcoop",
              "pc": "auto"
            },
            {
              "k": "^(RenderThread|JNISurfaceText|IJK_External_Re)|[Aa]nim|([.]raster|[.]ui)$",
              "ac": "ui",
              "pc": "ui"
            },
            {
              "k": "^(Chrome_InProc|CrRendererMain|CrGpuMain|CompositorTile)",
              "ac": "norm",
              "pc": "auto"
            },
            {
              "k": "^(Viz|Chrome_|Compositor)|[Vv]sync|mali-",
              "ac": "ui",
              "pc": "ui"
            },
            {
              "k": "^(OkHttp|Ysa|Xqa|Rx|APM|TVKDL-|tp-|cgi-|ODCP-|Bugly|xlog_)",
              "ac": "bg",
              "pc": "auto"
            },
            {
              "k": "^(xg_vip_service|Profile|SearchDaemon|default_matrix|FrameDecoder|FrameSeq)",
              "ac": "bg",
              "pc": "auto"
            },
            {
              "k": "^(GPU completion|HWC release|hwui|FramePolicy|ScrollPolicy|ged-swd)",
              "ac": "bg",
              "pc": "rtusr"
            },
            {
              "k": "^(JS|libweexjsb|WeexJsBridge|mqt_native|mqt_js|JavaScriptTh)",
              "ac": "norm",
              "pc": "coop"
            },
            {
              "k": "^(pool-|glide-|launcher-|Fresco)|[Dd]ownload|[Ss]chedule|[Ww]ork|[Pp]ool|[Dd]efau",
              "ac": "norm",
              "pc": "coop"
            },
            {
              "k": ".",
              "ac": "norm",
              "pc": "auto"
            }
          ]
        }
      ]
    }
  },
  "initials": {
    "cpu": {
      "baseSampleTime": 0.01,
      "baseSlackTime": 0.01,
      "latencyTime": 0.5,
      "slowLimitPower": 3.0,
      "fastLimitPower": 6.0,
      "fastLimitCapacity": 10.0,
      "fastLimitRecoverScale": 0.3,
      "predictThd": 0.3,
      "margin": 0.25,
      "burst": 0.0,
      "guideCap": true,
      "limitEfficiency": false
    },
    "sysfs": {
      "llccddrMin0": "762",
      "llccddrMin4": "762",
      "llccddrRC0": "400",
      "llccddrRC4": "400",
      "cpusetTa": "0-7",
      "cpusetFg": "0-2,4-7",
      "cpusetBg": "0-2",
      "cpusetSysBg": "0-2",
      "cpusetRe": "0-6"
    },
    "sched": {
      "scene": "idle"
    }
  },
  "presets": {
    "balance": {
      "*": {
        "cpu.latencyTime": 0.2,
        "cpu.slowLimitPower": 2.0,
        "cpu.fastLimitPower": 2.0,
        "cpu.fastLimitCapacity": 16.0,
        "cpu.margin": 0.2
      },
      "idle": {
        "cpu.baseSampleTime": 0.04,
        "cpu.baseSlackTime": 0.08,
        "cpu.predictThd": 0.3,
        "cpu.limitEfficiency": true,
        "sched.scene": "idle"
      },
      "touch": {
        "cpu.baseSampleTime": 0.04,
        "sched.scene": "touch"
      },
      "trigger": {
        "cpu.latencyTime": 0.0,
        "cpu.margin": 0.4,
        "sched.scene": "touch"
      },
      "gesture": {
        "cpu.margin": 0.6,
        "sched.scene": "touch"
      },
      "junk": {
        "cpu.burst": 0.7,
        "sched.scene": "touch"
      },
      "switch": {
        "cpu.latencyTime": 0.0,
        "cpu.slowLimitPower": 3.0,
        "cpu.fastLimitPower": 5.0,
        "cpu.fastLimitRecoverScale": 0.1,
        "cpu.margin": 0.4,
        "sched.scene": "boost"
      }
    },
    "powersave": {
      "*": {
        "cpu.latencyTime": 0.4,
        "cpu.slowLimitPower": 1.0,
        "cpu.fastLimitPower": 1.0,
        "cpu.fastLimitCapacity": 4.0,
        "cpu.margin": 0.1
      },
      "idle": {
        "cpu.baseSampleTime": 0.04,
        "cpu.baseSlackTime": 0.08,
        "cpu.predictThd": 1.0,
        "cpu.limitEfficiency": true,
        "sched.scene": "idle"
      },
      "touch": {
        "cpu.baseSampleTime": 0.04,
        "sched.scene": "touch"
      },
      "trigger": {
        "cpu.latencyTime": 0.0,
        "cpu.margin": 0.3,
        "sched.scene": "touch"
      },
      "gesture": {
        "cpu.margin": 0.6,
        "sched.scene": "touch"
      },
      "junk": {
        "cpu.burst": 0.6,
        "sched.scene": "touch"
      },
      "switch": {
        "cpu.latencyTime": 0.0,
        "cpu.slowLimitPower": 1.5,
        "cpu.fastLimitPower": 2.5,
        "cpu.fastLimitRecoverScale": 0.1,
        "cpu.margin": 0.3,
        "sched.scene": "boost"
      }
    },
    "performance": {
      "*": {
        "sysfs.llccddrMin0": "1100",
        "sysfs.llccddrMin4": "2500",
        "sysfs.llccddrRC0": "450",
        "sysfs.llccddrRC4": "650",
        "cpu.latencyTime": 0.0,
        "cpu.slowLimitPower": 999.0,
        "cpu.fastLimitPower": 999.0,
        "cpu.fastLimitCapacity": 999.0,
        "cpu.margin": 0.4,
        "cpu.burst": 0.58
      },
      "idle": {
        "sched.scene": "touch"
      },
      "touch": {
        "sched.scene": "touch"
      },
      "trigger": {
        "sched.scene": "touch"
      },
      "gesture": {
        "sched.scene": "touch"
      },
      "junk": {
        "cpu.burst": 0.6,
        "sched.scene": "touch"
      },
      "switch": {
        "sched.scene": "boost"
      }
    },
    "fast": {
      "*": {
        "sysfs.llccddrMin0": "1100",
        "sysfs.llccddrMin4": "2500",
        "sysfs.llccddrRC0": "450",
        "sysfs.llccddrRC4": "650",
        "cpu.latencyTime": 0.0,
        "cpu.slowLimitPower": 999.0,
        "cpu.fastLimitPower": 999.0,
        "cpu.fastLimitCapacity": 999.0,
        "cpu.burst": 1.0
      },
      "idle": {
        "sched.scene": "touch"
      },
      "touch": {
        "sched.scene": "touch"
      },
      "trigger": {
        "sched.scene": "touch"
      },
      "gesture": {
        "sched.scene": "touch"
      },
      "junk": {
        "sched.scene": "touch"
      },
      "switch": {
        "sched.scene": "boost"
      }
    }
  }
}