Add GPU memory stats to SystemMemory atom

On S+ devices we started tracking GPU driver mem allocations.
Record the allocations in the SystemMemory atom (pulled periodically and at LMK time)

Given the GPU memory overlaps with ion allocations do not (yet) account for it in untracked memory calculations

Test: manual
Bug: 149462065
Change-Id: I8cc09d7240ccf0fecd1bab1f62e8daf352edd8ea
This commit is contained in:
Ioannis Ilkos
2021-01-07 15:35:24 +00:00
parent ca3f3e0353
commit 0b8534e817
2 changed files with 5 additions and 1 deletions

View File

@@ -1976,7 +1976,8 @@ public class StatsPullAtomService extends SystemService {
metrics.pageTablesKb,
metrics.kernelStackKb,
metrics.totalIonKb,
metrics.unaccountedKb));
metrics.unaccountedKb,
metrics.gpuTotalUsageKb));
return StatsManager.PULL_SUCCESS;
}

View File

@@ -27,6 +27,7 @@ final class SystemMemoryUtil {
static Metrics getMetrics() {
int totalIonKb = (int) Debug.getIonHeapsSizeKb();
int gpuTotalUsageKb = (int) Debug.getGpuTotalUsageKb();
long[] mInfos = new long[Debug.MEMINFO_COUNT];
Debug.getMemInfo(mInfos);
@@ -62,6 +63,7 @@ final class SystemMemoryUtil {
result.pageTablesKb = (int) mInfos[Debug.MEMINFO_PAGE_TABLES];
result.kernelStackKb = (int) mInfos[Debug.MEMINFO_KERNEL_STACK];
result.totalIonKb = totalIonKb;
result.gpuTotalUsageKb = gpuTotalUsageKb;
result.unaccountedKb = (int) (mInfos[Debug.MEMINFO_TOTAL] - accountedKb);
return result;
}
@@ -72,6 +74,7 @@ final class SystemMemoryUtil {
public int pageTablesKb;
public int kernelStackKb;
public int totalIonKb;
public int gpuTotalUsageKb;
public int unaccountedKb;
}
}