File changed.
Preview size limit exceeded, changes collapsed.
File changed.
Preview size limit exceeded, changes collapsed.
Loading
Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more
Prior to this change, we would iterate over _all_ UIDs in the system, select the one for SystemServer and then iterate over _all_ threads in _all_ processes running under that UID. This iteration involves reading many directories in /proc and many files in those directories. In the new implementation, we only read time_in_state for the threads in the system server process itself, identifying them by the PID. This optimization reduces the cost 5:1 to 8:1 in terms of CPU time, number of files read and amount of RAM used. Bug: 167994570 Bug: 163063901 Test: atest FrameworksCoreTests:com.android.internal.os.SystemServerCpuThreadReaderTest Test: atest FrameworksCoreTests:com.android.internal.os.BatteryStatsTests Test: atest FrameworksCoreTests:com.android.internal.os.KernelSingleProcessCpuThreadReaderTest Change-Id: Iaa2eabc9f39999b2867bbffbac93b282cde74165
File changed.
Preview size limit exceeded, changes collapsed.
File changed.
Preview size limit exceeded, changes collapsed.