1# Copyright (C) 2018 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15service iorapd /system/bin/iorapd
16    class main
17    disabled
18    user iorapd
19    group iorapd
20    capabilities DAC_READ_SEARCH
21    writepid /dev/cpuset/system-background/tasks
22# TODO: should this be something else like performance/tasks?
23# the main 'activity hint' thread needs to be fairly high priority to kick off
24# tracing or prefetching asap.
25
26on property:ro.iorapd.enable=false
27    stop iorapd
28
29on post-fs-data
30    # Create directory for iorapd (see iorapd_data_file in selinux file_contexts).
31    mkdir /data/misc/iorapd/ 0750 iorapd system
32
33# Start iorapd when either prefetching or tracing is enabled.
34on property:persist.device_config.runtime_native_boot.iorap_perfetto_enable=true && property:ro.iorapd.enable=true
35    start iorapd
36
37on property:persist.device_config.runtime_native_boot.iorap_readahead_enable=true && property:ro.iorapd.enable=true
38    start iorapd
39