lmkd: set normal scheduling policy for reaper threads am: 353c2f174f am: 94998a07dc am: 29215bbbd8 am: f394cd7f76 am: 5da403fba5

Original change: https://android-review.googlesource.com/c/platform/system/memory/lmkd/+/2147025

Change-Id: I98590dd3cc7e5bc0a8e23c6a409d2394d18720e0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Suren Baghdasaryan 2022-07-07 02:39:38 +00:00 committed by Automerger Merge Worker
commit 4beca15f9e
1 changed files with 11 additions and 0 deletions

View File

@ -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, &param)) {
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));