From 2e780402e23e2fafa8317c2a260d71c3619059ed Mon Sep 17 00:00:00 2001 From: Akilesh Kailash Date: Mon, 26 Sep 2022 22:42:19 -0700 Subject: [PATCH] snapuserd: Set taskprofile OtaProfiles Since update-engine already has this profile set, it is better to have similar profile for the daemon so that threads don't run at high priority. Additionally, lower the nice value for worker threads. No change in the OTA install time observed. Bug: 237490659 Test: Full OTA on Pixel Change-Id: I53ec8c647eb781965792683b04621e6fec5eb5f2 Signed-off-by: Akilesh Kailash --- fs_mgr/libsnapshot/snapuserd/snapuserd.rc | 1 + .../snapuserd/user-space-merge/snapuserd_dm_user.cpp | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/fs_mgr/libsnapshot/snapuserd/snapuserd.rc b/fs_mgr/libsnapshot/snapuserd/snapuserd.rc index 275009603..522fe08ec 100644 --- a/fs_mgr/libsnapshot/snapuserd/snapuserd.rc +++ b/fs_mgr/libsnapshot/snapuserd/snapuserd.rc @@ -4,6 +4,7 @@ service snapuserd /system/bin/snapuserd disabled user root group root system + task_profiles OtaProfiles seclabel u:r:snapuserd:s0 service snapuserd_proxy /system/bin/snapuserd -socket-handoff diff --git a/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_dm_user.cpp b/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_dm_user.cpp index 1e300d2d4..0d0f711f7 100644 --- a/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_dm_user.cpp +++ b/fs_mgr/libsnapshot/snapuserd/user-space-merge/snapuserd_dm_user.cpp @@ -253,6 +253,11 @@ bool Worker::Init() { bool Worker::RunThread() { SNAP_LOG(INFO) << "Processing snapshot I/O requests...."; + + if (setpriority(PRIO_PROCESS, gettid(), kNiceValueForMergeThreads)) { + SNAP_PLOG(ERROR) << "Failed to set priority for TID: " << gettid(); + } + // Start serving IO while (true) { if (!ProcessIORequest()) {