libsnapshot: set thread priority
Read merge thread + worker thread priority from build configurations. In the case of low memory devices, a lower priority will reduce CPU utilization post OTA reboot. Test: th Change-Id: I812fccf2ca805d9686a837774e1770a2eebf979a
This commit is contained in:
parent
54d6c0cf45
commit
db560090e4
2 changed files with 8 additions and 2 deletions
|
@ -577,8 +577,10 @@ bool MergeWorker::Run() {
|
|||
SNAP_LOG(ERROR) << "Merge terminated early...";
|
||||
return true;
|
||||
}
|
||||
auto merge_thread_priority = android::base::GetUintProperty<uint>(
|
||||
"ro.virtual_ab.merge_thread_priority", ANDROID_PRIORITY_BACKGROUND);
|
||||
|
||||
if (!SetThreadPriority(ANDROID_PRIORITY_BACKGROUND)) {
|
||||
if (!SetThreadPriority(merge_thread_priority)) {
|
||||
SNAP_PLOG(ERROR) << "Failed to set thread priority";
|
||||
}
|
||||
|
||||
|
|
|
@ -17,8 +17,10 @@
|
|||
#include <libsnapshot/cow_format.h>
|
||||
#include <pthread.h>
|
||||
|
||||
#include "android-base/properties.h"
|
||||
#include "read_worker.h"
|
||||
#include "snapuserd_core.h"
|
||||
#include "user-space-merge/worker.h"
|
||||
#include "utility.h"
|
||||
|
||||
namespace android {
|
||||
|
@ -259,8 +261,10 @@ bool ReadWorker::Run() {
|
|||
SNAP_LOG(INFO) << "Processing snapshot I/O requests....";
|
||||
|
||||
pthread_setname_np(pthread_self(), "ReadWorker");
|
||||
auto worker_thread_priority = android::base::GetUintProperty<uint>(
|
||||
"ro.virtual_ab.worker_thread_priority", ANDROID_PRIORITY_NORMAL);
|
||||
|
||||
if (!SetThreadPriority(ANDROID_PRIORITY_NORMAL)) {
|
||||
if (!SetThreadPriority(worker_thread_priority)) {
|
||||
SNAP_PLOG(ERROR) << "Failed to set thread priority";
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue