1service lmkd /system/bin/lmkd
2    class core
3    user lmkd
4    group lmkd system readproc
5    capabilities DAC_OVERRIDE KILL IPC_LOCK SYS_NICE SYS_RESOURCE
6    critical
7    socket lmkd seqpacket+passcred 0660 system system
8    task_profiles ServiceCapacityLow
9
10on property:lmkd.reinit=1
11    exec_background /system/bin/lmkd --reinit
12
13on property:sys.boot_completed=1
14    exec_background /system/bin/lmkd --boot_completed
15
16# reinitialize lmkd after device finished booting if experiments set any flags during boot
17on property:sys.boot_completed=1 && property:lmkd.reinit=0
18    setprop lmkd.reinit 1
19
20# properties most likely to be used in experiments
21# setting persist.device_config.* property either triggers immediate lmkd re-initialization
22# if the device finished booting or sets lmkd.reinit=0 to re-initialize lmkd after boot completes
23on property:persist.device_config.lmkd_native.debug=*
24    setprop lmkd.reinit ${sys.boot_completed:-0}
25
26on property:persist.device_config.lmkd_native.kill_heaviest_task=*
27    setprop lmkd.reinit ${sys.boot_completed:-0}
28
29on property:persist.device_config.lmkd_native.kill_timeout_ms=*
30    setprop lmkd.reinit ${sys.boot_completed:-0}
31
32on property:persist.device_config.lmkd_native.swap_free_low_percentage=*
33    setprop lmkd.reinit ${sys.boot_completed:-0}
34
35on property:persist.device_config.lmkd_native.psi_partial_stall_ms=*
36    setprop lmkd.reinit ${sys.boot_completed:-0}
37
38on property:persist.device_config.lmkd_native.psi_complete_stall_ms=*
39    setprop lmkd.reinit ${sys.boot_completed:-0}
40
41on property:persist.device_config.lmkd_native.thrashing_limit=*
42    setprop lmkd.reinit ${sys.boot_completed:-0}
43
44on property:persist.device_config.lmkd_native.thrashing_limit_decay=*
45    setprop lmkd.reinit ${sys.boot_completed:-0}
46
47on property:persist.device_config.lmkd_native.thrashing_limit_critical=*
48    setprop lmkd.reinit ${sys.boot_completed:-0}
49
50on property:persist.device_config.lmkd_native.swap_util_max=*
51    setprop lmkd.reinit ${sys.boot_completed:-0}
52
53on property:persist.device_config.lmkd_native.filecache_min_kb=*
54    setprop lmkd.reinit ${sys.boot_completed:-0}
55
56on property:persist.device_config.lmkd_native.direct_reclaim_threshold_ms=*
57    setprop lmkd.reinit ${sys.boot_completed:-0}
58
59on property:persist.device_config.lmkd_native.swap_compression_ratio=*
60    setprop lmkd.reinit ${sys.boot_completed:-0}
61
62on property:persist.device_config.lmkd_native.lowmem_min_oom_score=*
63    setprop lmkd.reinit ${sys.boot_completed:-0}
64