lmkd: set normal scheduling policy for reaper threads am: ab4c6d86e0
Original change: https://googleplex-android-review.googlesource.com/c/platform/system/memory/lmkd/+/19353947 Change-Id: I772a05dbbe6ccd662ff08e8aa95c017b22315c21 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
commit
a263af2be3
11
reaper.cpp
11
reaper.cpp
|
|
@ -64,6 +64,10 @@ static void* reaper_main(void* param) {
|
|||
ALOGE("Failed to assign cpuset to the reaper thread");
|
||||
}
|
||||
|
||||
if (setpriority(PRIO_PROCESS, tid, ANDROID_PRIORITY_HIGHEST)) {
|
||||
ALOGW("Unable to raise priority of the reaper thread (%d): errno=%d", tid, errno);
|
||||
}
|
||||
|
||||
for (;;) {
|
||||
target = reaper->dequeue_request();
|
||||
|
||||
|
|
@ -112,6 +116,9 @@ bool Reaper::is_reaping_supported() {
|
|||
|
||||
bool Reaper::init(int comm_fd) {
|
||||
char name[16];
|
||||
struct sched_param param = {
|
||||
.sched_priority = 0,
|
||||
};
|
||||
|
||||
if (thread_cnt_ > 0) {
|
||||
// init should not be called multiple times
|
||||
|
|
@ -124,6 +131,10 @@ bool Reaper::init(int comm_fd) {
|
|||
ALOGE("pthread_create failed: %s", strerror(errno));
|
||||
continue;
|
||||
}
|
||||
// set normal scheduling policy for the reaper thread
|
||||
if (pthread_setschedparam(thread_pool_[thread_cnt_], SCHED_OTHER, ¶m)) {
|
||||
ALOGW("set SCHED_FIFO failed %s", strerror(errno));
|
||||
}
|
||||
snprintf(name, sizeof(name), "lmkd_reaper%d", thread_cnt_);
|
||||
if (pthread_setname_np(thread_pool_[thread_cnt_], name)) {
|
||||
ALOGW("pthread_setname_np failed: %s", strerror(errno));
|
||||
|
|
|
|||
Loading…
Reference in New Issue