summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSuren Baghdasaryan <surenb@google.com>2019-01-23 20:43:46 -0800
committerSuren Baghdasaryan <surenb@google.com>2019-01-23 20:44:09 -0800
commitb5394db682fff34e7357672527a6a2cde1a49a49 (patch)
tree0ea2f463801e30bbc9b211ca36faabd2be71b54b
parent1bef8c550c6c9118969a93f14d9c5933cb7b2811 (diff)
downloadsystem_core-b5394db682fff34e7357672527a6a2cde1a49a49.tar.gz
system_core-b5394db682fff34e7357672527a6a2cde1a49a49.tar.bz2
system_core-b5394db682fff34e7357672527a6a2cde1a49a49.zip
DO NOT MERGE: Revert "libcutils: Move sched_policy functions into libprocessgroup"
This reverts commit facd40d0e1dc681f7a483810cc1e72448f270cf6. Reason for revert: Broke AOSP Change-Id: Id333417d4970ced800ab801bddfed880cafa056d Signed-off-by: Suren Baghdasaryan <surenb@google.com>
-rw-r--r--libcutils/Android.bp7
-rw-r--r--libcutils/include/cutils/sched_policy.h63
-rw-r--r--libcutils/sched_policy.cpp (renamed from libprocessgroup/sched_policy.cpp)2
-rw-r--r--libcutils/tests/Android.bp1
-rw-r--r--libprocessgroup/Android.bp33
-rw-r--r--libprocessgroup/include/processgroup/sched_policy.h80
6 files changed, 65 insertions, 121 deletions
diff --git a/libcutils/Android.bp b/libcutils/Android.bp
index 0dbbc3f2f..4291212a1 100644
--- a/libcutils/Android.bp
+++ b/libcutils/Android.bp
@@ -66,6 +66,7 @@ cc_library {
"load_file.cpp",
"native_handle.cpp",
"record_stream.cpp",
+ "sched_policy.cpp",
"sockets.cpp",
"strdup16to8.cpp",
"strdup8to16.cpp",
@@ -177,12 +178,8 @@ cc_library {
"libbase_headers",
"libcutils_headers",
"libutils_headers",
- "libprocessgroup_headers",
- ],
- export_header_lib_headers: [
- "libcutils_headers",
- "libprocessgroup_headers",
],
+ export_header_lib_headers: ["libcutils_headers"],
local_include_dirs: ["include"],
cflags: [
diff --git a/libcutils/include/cutils/sched_policy.h b/libcutils/include/cutils/sched_policy.h
index 538ff6b9b..cf91b76f4 100644
--- a/libcutils/include/cutils/sched_policy.h
+++ b/libcutils/include/cutils/sched_policy.h
@@ -17,10 +17,67 @@
#ifndef __CUTILS_SCHED_POLICY_H
#define __CUTILS_SCHED_POLICY_H
+#include <stdbool.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * Check if Linux kernel enables CPUSETS feature.
+ *
+ * Return value: 1 if Linux kernel CONFIG_CPUSETS=y; 0 otherwise.
+ */
+extern bool cpusets_enabled();
+
/*
- * For backwards compatibility only
- * New users should include processgroup/sched_policy.h directly
+ * Check if Linux kernel enables SCHEDTUNE feature (only available in Android
+ * common kernel or Linaro LSK, not in mainline Linux as of v4.9)
+ *
+ * Return value: 1 if Linux kernel CONFIG_CGROUP_SCHEDTUNE=y; 0 otherwise.
+ */
+extern bool schedboost_enabled();
+
+/* Keep in sync with THREAD_GROUP_* in frameworks/base/core/java/android/os/Process.java */
+typedef enum {
+ SP_DEFAULT = -1,
+ SP_BACKGROUND = 0,
+ SP_FOREGROUND = 1,
+ SP_SYSTEM = 2, // can't be used with set_sched_policy()
+ SP_AUDIO_APP = 3,
+ SP_AUDIO_SYS = 4,
+ SP_TOP_APP = 5,
+ SP_RT_APP = 6,
+ SP_RESTRICTED = 7,
+ SP_CNT,
+ SP_MAX = SP_CNT - 1,
+ SP_SYSTEM_DEFAULT = SP_FOREGROUND,
+} SchedPolicy;
+
+extern int set_cpuset_policy(int tid, SchedPolicy policy);
+
+/* Assign thread tid to the cgroup associated with the specified policy.
+ * If the thread is a thread group leader, that is it's gettid() == getpid(),
+ * then the other threads in the same thread group are _not_ affected.
+ * On platforms which support gettid(), zero tid means current thread.
+ * Return value: 0 for success, or -errno for error.
+ */
+extern int set_sched_policy(int tid, SchedPolicy policy);
+
+/* Return the policy associated with the cgroup of thread tid via policy pointer.
+ * On platforms which support gettid(), zero tid means current thread.
+ * Return value: 0 for success, or -1 for error and set errno.
+ */
+extern int get_sched_policy(int tid, SchedPolicy *policy);
+
+/* Return a displayable string corresponding to policy.
+ * Return value: non-NULL NUL-terminated name of unspecified length;
+ * the caller is responsible for displaying the useful part of the string.
*/
-#include <processgroup/sched_policy.h>
+extern const char *get_sched_policy_name(SchedPolicy policy);
+
+#ifdef __cplusplus
+}
+#endif
#endif /* __CUTILS_SCHED_POLICY_H */
diff --git a/libprocessgroup/sched_policy.cpp b/libcutils/sched_policy.cpp
index f95d7e48f..3fa548f78 100644
--- a/libprocessgroup/sched_policy.cpp
+++ b/libcutils/sched_policy.cpp
@@ -14,7 +14,7 @@
** limitations under the License.
*/
-#include <processgroup/sched_policy.h>
+#include <cutils/sched_policy.h>
#define LOG_TAG "SchedPolicy"
diff --git a/libcutils/tests/Android.bp b/libcutils/tests/Android.bp
index 72ae55921..788419038 100644
--- a/libcutils/tests/Android.bp
+++ b/libcutils/tests/Android.bp
@@ -59,7 +59,6 @@ test_libraries = [
"libcutils",
"liblog",
"libbase",
- "libprocessgroup",
]
cc_test {
diff --git a/libprocessgroup/Android.bp b/libprocessgroup/Android.bp
index 21d453ef6..05397292c 100644
--- a/libprocessgroup/Android.bp
+++ b/libprocessgroup/Android.bp
@@ -1,42 +1,13 @@
-cc_library_headers {
- name: "libprocessgroup_headers",
- vendor_available: true,
- recovery_available: true,
- host_supported: true,
- export_include_dirs: ["include"],
- target: {
- linux_bionic: {
- enabled: true,
- },
- windows: {
- enabled: true,
- },
- },
-}
-
cc_library {
- srcs: [
- "processgroup.cpp",
- "sched_policy.cpp",
- ],
+ srcs: ["processgroup.cpp"],
name: "libprocessgroup",
host_supported: true,
recovery_available: true,
vendor_available: true,
- vndk: {
- enabled: true,
- support_system_process: true,
- },
shared_libs: ["libbase"],
// for cutils/android_filesystem_config.h
- header_libs: [
- "libcutils_headers",
- "libprocessgroup_headers",
- ],
+ header_libs: [ "libcutils_headers" ],
export_include_dirs: ["include"],
- export_header_lib_headers: [
- "libprocessgroup_headers",
- ],
cflags: [
"-Wall",
"-Werror",
diff --git a/libprocessgroup/include/processgroup/sched_policy.h b/libprocessgroup/include/processgroup/sched_policy.h
deleted file mode 100644
index 79a32fdeb..000000000
--- a/libprocessgroup/include/processgroup/sched_policy.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <stdbool.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Check if Linux kernel enables CPUSETS feature.
- *
- * Return value: 1 if Linux kernel CONFIG_CPUSETS=y; 0 otherwise.
- */
-extern bool cpusets_enabled();
-
-/*
- * Check if Linux kernel enables SCHEDTUNE feature (only available in Android
- * common kernel or Linaro LSK, not in mainline Linux as of v4.9)
- *
- * Return value: 1 if Linux kernel CONFIG_CGROUP_SCHEDTUNE=y; 0 otherwise.
- */
-extern bool schedboost_enabled();
-
-/* Keep in sync with THREAD_GROUP_* in frameworks/base/core/java/android/os/Process.java */
-typedef enum {
- SP_DEFAULT = -1,
- SP_BACKGROUND = 0,
- SP_FOREGROUND = 1,
- SP_SYSTEM = 2, // can't be used with set_sched_policy()
- SP_AUDIO_APP = 3,
- SP_AUDIO_SYS = 4,
- SP_TOP_APP = 5,
- SP_RT_APP = 6,
- SP_RESTRICTED = 7,
- SP_CNT,
- SP_MAX = SP_CNT - 1,
- SP_SYSTEM_DEFAULT = SP_FOREGROUND,
-} SchedPolicy;
-
-extern int set_cpuset_policy(int tid, SchedPolicy policy);
-
-/* Assign thread tid to the cgroup associated with the specified policy.
- * If the thread is a thread group leader, that is it's gettid() == getpid(),
- * then the other threads in the same thread group are _not_ affected.
- * On platforms which support gettid(), zero tid means current thread.
- * Return value: 0 for success, or -errno for error.
- */
-extern int set_sched_policy(int tid, SchedPolicy policy);
-
-/* Return the policy associated with the cgroup of thread tid via policy pointer.
- * On platforms which support gettid(), zero tid means current thread.
- * Return value: 0 for success, or -1 for error and set errno.
- */
-extern int get_sched_policy(int tid, SchedPolicy *policy);
-
-/* Return a displayable string corresponding to policy.
- * Return value: non-NULL NUL-terminated name of unspecified length;
- * the caller is responsible for displaying the useful part of the string.
- */
-extern const char *get_sched_policy_name(SchedPolicy policy);
-
-#ifdef __cplusplus
-}
-#endif