diff options
| author | 2017-06-08 00:15:23 +0000 | |
|---|---|---|
| committer | 2017-06-08 00:15:23 +0000 | |
| commit | 736cb0e33a343f7d8a599e603780489191a421f6 (patch) | |
| tree | 800ce075a29f087f6fccda6a6126843bacb980cb | |
| parent | 7ea4f66f355757296f03b74444f1b30fb2a14b06 (diff) | |
| parent | f34713066e92eadad97ddb2d05eb01a9e03bae61 (diff) | |
Merge "Update KernelUidCpuFreqTimeReader to handle uid removals." into oc-dev
am: f34713066e
Change-Id: I7ba4faeae53df155de0a25347efcc15974f2cc8c
| -rw-r--r-- | core/java/com/android/internal/os/BatteryStatsImpl.java | 5 | ||||
| -rw-r--r-- | core/java/com/android/internal/os/KernelUidCpuFreqTimeReader.java | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java index 46942bf429c5..235ebc88d5e5 100644 --- a/core/java/com/android/internal/os/BatteryStatsImpl.java +++ b/core/java/com/android/internal/os/BatteryStatsImpl.java @@ -3518,6 +3518,7 @@ public class BatteryStatsImpl extends BatteryStats { public void removeIsolatedUidLocked(int isolatedUid) { mIsolatedUids.delete(isolatedUid); mKernelUidCpuTimeReader.removeUid(isolatedUid); + mKernelUidCpuFreqTimeReader.removeUid(isolatedUid); } public int mapUid(int uid) { @@ -10351,6 +10352,9 @@ public class BatteryStatsImpl extends BatteryStats { public void onUidCpuFreqTime(int uid, long[] cpuFreqTimeMs) { uid = mapUid(uid); if (Process.isIsolated(uid)) { + mKernelUidCpuFreqTimeReader.removeUid(uid); + Slog.d(TAG, "Got freq readings for an isolated uid with" + + " no mapping to owning uid: " + uid); return; } final Uid u = getUidStatsLocked(uid); @@ -11019,6 +11023,7 @@ public class BatteryStatsImpl extends BatteryStats { */ public void removeUidStatsLocked(int uid) { mKernelUidCpuTimeReader.removeUid(uid); + mKernelUidCpuFreqTimeReader.removeUid(uid); mUidStats.remove(uid); } diff --git a/core/java/com/android/internal/os/KernelUidCpuFreqTimeReader.java b/core/java/com/android/internal/os/KernelUidCpuFreqTimeReader.java index 9fbc4a8871b3..ff521c242fad 100644 --- a/core/java/com/android/internal/os/KernelUidCpuFreqTimeReader.java +++ b/core/java/com/android/internal/os/KernelUidCpuFreqTimeReader.java @@ -72,6 +72,10 @@ public class KernelUidCpuFreqTimeReader { } } + public void removeUid(int uid) { + mLastUidCpuFreqTimeMs.delete(uid); + } + @VisibleForTesting public void readDelta(BufferedReader reader, @Nullable Callback callback) throws IOException { String line = reader.readLine(); |