If (no|0|off), disable cpu throttling.
Example: CpuThrottling=yes
+Key: LmkKillException
+Value: (yes|1|ok|on|no|0|off)
+Comment: Specify whether the corresponding process is excluded from LMK victim list.
+ If (yes|1|ok|on), the process is removed from the list.
+ If (no|0|off), the process is not removed from the list.
+ Only app is supported, but service and process are not supported.
+ (system services with System, System::Privileged, and User attrs are
+ already removed from the list in LMK)
+Example: LmkKillException=yes
+
6. optimizer.conf.d/*.conf
==========================
/* Enable throttling of an app (or a service) */
pci->cpu_throttling_enable = config_parse_bool(result->value);
}
+ else if (!strncmp(result->name, MEMORY_LMK_KILL_EXCEPTION_NAME_CONF,
+ strlen(MEMORY_LMK_KILL_EXCEPTION_NAME_CONF) + 1) && *config_type == LIMITER_CONFIG) {
+ if (!pci) {
+ _E("process configuration information pointer should not be NULL");
+ return RESOURCED_ERROR_FAIL;
+ }
+
+ pci->is_lmk_kill_exception = config_parse_bool(result->value);
+ }
/* optimizer.conf.d */
else if (!strncmp(result->name, CPU_SCHED_NAME_CONF, strlen(CPU_SCHED_NAME_CONF)+1) &&
*config_type == OPTIMIZER_CONFIG) {
#define FOREGROUND_APP_LIST_POST_GOVERNOR_NAME_CONF "ForegroundAppListPostGovernor"
#define WORKING_SET_SIZE_POST_GOVERNOR_NAME_CONF "WorkingSetSizePostGovernor"
#define MEMORY_LIMIT_TRIGGER_NAME_CONF "MemoryLimitTrigger"
+#define MEMORY_LMK_KILL_EXCEPTION_NAME_CONF "LmkKillException"
/* CPU specific configuration name */
#define CPU_SCHED_NAME_CONF "CpuSched"
bool cpu_throttling_enable;
cpu_boosting_level_e cpu_boosting_level;
pid_t pid;
+ bool is_lmk_kill_exception;
};
enum application_type {