107b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten/*
207b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten * Copyright (C) 2012 The Android Open Source Project
307b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten *
407b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten * Licensed under the Apache License, Version 2.0 (the "License");
507b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten * you may not use this file except in compliance with the License.
607b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten * You may obtain a copy of the License at
707b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten *
807b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten *      http://www.apache.org/licenses/LICENSE-2.0
907b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten *
1007b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten * Unless required by applicable law or agreed to in writing, software
1107b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten * distributed under the License is distributed on an "AS IS" BASIS,
1207b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1307b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten * See the License for the specific language governing permissions and
1407b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten * limitations under the License.
1507b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten */
1607b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten
1707b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kastenpackage android.os;
1807b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten
1907b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten/**
2007b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten * Initially only provides requestPriority() below, but in longer term
2107b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten * other scheduling policy related services will be collected here.
2207b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten *
2307b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten * @hide
2407b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten */
2507b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasteninterface ISchedulingPolicyService {
2607b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten
2707b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten    /**
2807b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten     * Move thread tid into appropriate cgroup and assign it priority prio.
2907b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten     * The thread group leader of tid must be pid.
3007b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten     * There may be restrictions on who can call this.
3107b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten     */
3207b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten    int requestPriority(int pid, int tid, int prio);
3307b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten
3407b0465095bd9ab3412caefa4fcacbdc3825c64bGlenn Kasten}
35