1 /* 2 * Copyright (C) 2012 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package android.os; 18 19 /** 20 * Initially only provides requestPriority() below, but in longer term 21 * other scheduling policy related services will be collected here. 22 * 23 * @hide 24 */ 25 interface ISchedulingPolicyService { 26 27 /** 28 * Move thread tid into appropriate cgroup and assign it priority prio. 29 * The thread group leader of tid must be pid. 30 * There may be restrictions on who can call this. 31 */ requestPriority(int pid, int tid, int prio, boolean isForApp)32 int requestPriority(int pid, int tid, int prio, boolean isForApp); 33 34 /** 35 * Move media.codec process between SP_FOREGROUND and SP_TOP_APP. 36 * When 'enable' is 'true', server will attempt to move media.codec process 37 * from SP_FOREGROUND into SP_TOP_APP cpuset. A valid 'client' must be 38 * provided for the server to receive death notifications. When 'enable' 39 * is 'false', server will attempt to move media.codec process back to 40 * the original cpuset, and 'client' is ignored in this case. 41 */ requestCpusetBoost(boolean enable, IBinder client)42 int requestCpusetBoost(boolean enable, IBinder client); 43 } 44