diff options
author | Glenn Kasten <gkasten@google.com> | 2012-03-16 07:15:23 -0700 |
---|---|---|
committer | Alex Ray <aray@google.com> | 2013-07-30 13:56:59 -0700 |
commit | 77ed15a31ad314a1e6052299108362388c1169fe (patch) | |
tree | c92dc0c49477a8fff5ccef094a859a86ce2e3ce4 | |
parent | 2c1627dc49994f83a636efd1970825b519bd93cb (diff) | |
download | system_core-77ed15a31ad314a1e6052299108362388c1169fe.zip system_core-77ed15a31ad314a1e6052299108362388c1169fe.tar.gz system_core-77ed15a31ad314a1e6052299108362388c1169fe.tar.bz2 |
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
-rw-r--r-- | include/utils/AndroidThreads.h | 13 | ||||
-rw-r--r-- | include/utils/ThreadDefs.h | 7 | ||||
-rw-r--r-- | libs/utils/Threads.cpp | 57 |
3 files changed, 0 insertions, 77 deletions
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 void androidSetCreateThreadFunc(android_create_thread_fn func); 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 @@ extern int androidSetThreadPriority(pid_t tid, int prio); // 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 @@ enum { 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 @@ pid_t androidGetTid() } #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 @@ int androidGetThreadPriority(pid_t tid) { #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 { |