Avoid unnecessary system calls
Test: boot
Bug: N/A
Change-Id: I428d0518e78059192de84e4043faf7f991aa8fff
diff --git a/services/core/java/com/android/server/ThreadPriorityBooster.java b/services/core/java/com/android/server/ThreadPriorityBooster.java
index 53e8ce4..f74a4385 100644
--- a/services/core/java/com/android/server/ThreadPriorityBooster.java
+++ b/services/core/java/com/android/server/ThreadPriorityBooster.java
@@ -43,9 +43,9 @@
public void boost() {
final int tid = myTid();
- final int prevPriority = getThreadPriority(tid);
final PriorityState state = mThreadState.get();
if (state.regionCounter == 0) {
+ final int prevPriority = getThreadPriority(tid);
state.prevPriority = prevPriority;
if (prevPriority > mBoostToPriority) {
setThreadPriority(tid, mBoostToPriority);
@@ -60,9 +60,11 @@
public void reset() {
final PriorityState state = mThreadState.get();
state.regionCounter--;
- final int currentPriority = getThreadPriority(myTid());
- if (state.regionCounter == 0 && state.prevPriority != currentPriority) {
- setThreadPriority(myTid(), state.prevPriority);
+ if (state.regionCounter == 0) {
+ final int currentPriority = getThreadPriority(myTid());
+ if (state.prevPriority != currentPriority) {
+ setThreadPriority(myTid(), state.prevPriority);
+ }
}
}
@@ -77,9 +79,11 @@
mBoostToPriority = priority;
final PriorityState state = mThreadState.get();
final int tid = myTid();
- final int prevPriority = getThreadPriority(tid);
- if (state.regionCounter != 0 && prevPriority != priority) {
- setThreadPriority(tid, priority);
+ if (state.regionCounter != 0) {
+ final int prevPriority = getThreadPriority(tid);
+ if (prevPriority != priority) {
+ setThreadPriority(tid, priority);
+ }
}
}