diff options
| author | Sudheer Shanka <sudheersai@google.com> | 2017-06-01 12:09:03 -0700 |
|---|---|---|
| committer | Sudheer Shanka <sudheersai@google.com> | 2017-06-06 15:31:51 -0700 |
| commit | 6d8dcec87200e75ca62715c8feb87794d113e957 (patch) | |
| tree | 5d69c0394b5ed4a8e95667f2ed77f54ec0256730 /core/java | |
| parent | 8490ed92e19a804e7ff7fc9ca9d433a8ce00105c (diff) | |
Update KernelUidCpuFreqTimeReader to handle uid removals.
Bug: 34133340
Test: manual
Change-Id: Iaad2061671d83e1ff6d2797e166ae903f6faec13
Diffstat (limited to 'core/java')
| -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(); |
