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:
commit
4beca15f9e
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");
|
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 (;;) {
|
for (;;) {
|
||||||
target = reaper->dequeue_request();
|
target = reaper->dequeue_request();
|
||||||
|
|
||||||
|
|
@ -112,6 +116,9 @@ bool Reaper::is_reaping_supported() {
|
||||||
|
|
||||||
bool Reaper::init(int comm_fd) {
|
bool Reaper::init(int comm_fd) {
|
||||||
char name[16];
|
char name[16];
|
||||||
|
struct sched_param param = {
|
||||||
|
.sched_priority = 0,
|
||||||
|
};
|
||||||
|
|
||||||
if (thread_cnt_ > 0) {
|
if (thread_cnt_ > 0) {
|
||||||
// init should not be called multiple times
|
// init should not be called multiple times
|
||||||
|
|
@ -124,6 +131,10 @@ bool Reaper::init(int comm_fd) {
|
||||||
ALOGE("pthread_create failed: %s", strerror(errno));
|
ALOGE("pthread_create failed: %s", strerror(errno));
|
||||||
continue;
|
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_);
|
snprintf(name, sizeof(name), "lmkd_reaper%d", thread_cnt_);
|
||||||
if (pthread_setname_np(thread_pool_[thread_cnt_], name)) {
|
if (pthread_setname_np(thread_pool_[thread_cnt_], name)) {
|
||||||
ALOGW("pthread_setname_np failed: %s", strerror(errno));
|
ALOGW("pthread_setname_np failed: %s", strerror(errno));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue