Scheduling group cleanup

Remove C++ APIs androidSetThreadSchedulingGroup and
androidGetThreadSchedulingGroup, and the ANDROID_TGROUP_* constants.

Former callers of these should now use the C APIs set_sched_policy and
get_sched_policy, and the SP_* constants.

Note: debug.sys.noschedgroups is not supported by the C APIs,
this needs to be discussed.

Change-Id: I32bbfc539ef4090faf9ef0320380e8cca9eae07c
diff --git a/include/utils/AndroidThreads.h b/include/utils/AndroidThreads.h
index 5bda0fd..f67648f 100644
--- a/include/utils/AndroidThreads.h
+++ b/include/utils/AndroidThreads.h
@@ -74,12 +74,6 @@
 extern pid_t androidGetTid();
 
 #ifdef HAVE_ANDROID_OS
-// Change the scheduling group of a particular thread.  The group
-// should be one of the ANDROID_TGROUP constants.  Returns BAD_VALUE if
-// grp is out of range, else another non-zero value with errno set if
-// the operation failed.  Thread ID zero means current thread.
-extern int androidSetThreadSchedulingGroup(pid_t tid, int grp);
-
 // Change the priority AND scheduling group of a particular thread.  The priority
 // should be one of the ANDROID_PRIORITY constants.  Returns INVALID_OPERATION
 // if the priority set failed, else another value if just the group set failed;
@@ -89,13 +83,6 @@
 // Get the current priority of a particular thread. Returns one of the
 // ANDROID_PRIORITY constants or a negative result in case of error.
 extern int androidGetThreadPriority(pid_t tid);
-
-// Get the current scheduling group of a particular thread. Normally returns
-// one of the ANDROID_TGROUP constants other than ANDROID_TGROUP_DEFAULT.
-// Returns ANDROID_TGROUP_DEFAULT if no pthread support (e.g. on host) or if
-// scheduling groups are disabled.  Returns INVALID_OPERATION if unexpected error.
-// Thread ID zero means current thread.
-extern int androidGetThreadSchedulingGroup(pid_t tid);
 #endif
 
 #ifdef __cplusplus
diff --git a/include/utils/ThreadDefs.h b/include/utils/ThreadDefs.h
index 3e56373..a8f8eb3 100644
--- a/include/utils/ThreadDefs.h
+++ b/include/utils/ThreadDefs.h
@@ -79,13 +79,6 @@
     ANDROID_PRIORITY_LESS_FAVORABLE = +1,
 };
 
-enum {
-    ANDROID_TGROUP_DEFAULT          = 0,
-    ANDROID_TGROUP_BG_NONINTERACT   = 1,
-    ANDROID_TGROUP_FG_BOOST         = 2,
-    ANDROID_TGROUP_MAX              = ANDROID_TGROUP_FG_BOOST,
-};
-
 #ifdef __cplusplus
 } // extern "C"
 #endif
diff --git a/libs/utils/Threads.cpp b/libs/utils/Threads.cpp
index f9277de..bc1c285 100644
--- a/libs/utils/Threads.cpp
+++ b/libs/utils/Threads.cpp
@@ -324,29 +324,6 @@
 }
 
 #ifdef HAVE_ANDROID_OS
-int androidSetThreadSchedulingGroup(pid_t tid, int grp)
-{
-    if (grp > ANDROID_TGROUP_MAX || grp < 0) { 
-        return BAD_VALUE;
-    }
-
-#if defined(HAVE_PTHREADS)
-    pthread_once(&gDoSchedulingGroupOnce, checkDoSchedulingGroup);
-    if (gDoSchedulingGroup) {
-        // set_sched_policy does not support tid == 0
-        if (tid == 0) {
-            tid = androidGetTid();
-        }
-        if (set_sched_policy(tid, (grp == ANDROID_TGROUP_BG_NONINTERACT) ?
-                                          SP_BACKGROUND : SP_FOREGROUND)) {
-            return PERMISSION_DENIED;
-        }
-    }
-#endif
-    
-    return NO_ERROR;
-}
-
 int androidSetThreadPriority(pid_t tid, int pri)
 {
     int rc = 0;
@@ -392,40 +369,6 @@
 #endif
 }
 
-int androidGetThreadSchedulingGroup(pid_t tid)
-{
-    int ret = ANDROID_TGROUP_DEFAULT;
-
-#if defined(HAVE_PTHREADS)
-    // convention is to not call get/set_sched_policy methods if disabled by property
-    pthread_once(&gDoSchedulingGroupOnce, checkDoSchedulingGroup);
-    if (gDoSchedulingGroup) {
-        SchedPolicy policy;
-        // get_sched_policy does not support tid == 0
-        if (tid == 0) {
-            tid = androidGetTid();
-        }
-        if (get_sched_policy(tid, &policy) < 0) {
-            ret = INVALID_OPERATION;
-        } else {
-            switch (policy) {
-            case SP_BACKGROUND:
-                ret = ANDROID_TGROUP_BG_NONINTERACT;
-                break;
-            case SP_FOREGROUND:
-                ret = ANDROID_TGROUP_FG_BOOST;
-                break;
-            default:
-                // should not happen, as enum SchedPolicy does not have any other values
-                ret = INVALID_OPERATION;
-                break;
-            }
-        }
-    }
-#endif
-
-    return ret;
-}
 #endif
 
 namespace android {