From 30fa141c80234b3fc6d09f5c5e010d2939f142ab Mon Sep 17 00:00:00 2001 From: Kalesh Singh Date: Tue, 29 Jun 2021 21:43:27 +0000 Subject: [PATCH] memtrack: Update AIDL memtrack hal documentation Fix Memtrack GRAPHICS type definition to also inculde GPU-mapped DMA-BUF memory. Clarify SMAPS_UNACCOUTNED should also include memory mapped with VM_PFNMAP set. Bug: 192384999 Test: N/A Change-Id: I5370efa731bc6307e4fe9b454796361e9a1ac5eb --- .../aidl/android/hardware/memtrack/IMemtrack.aidl | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/memtrack/aidl/android/hardware/memtrack/IMemtrack.aidl b/memtrack/aidl/android/hardware/memtrack/IMemtrack.aidl index e78d4d7c32..13c3389730 100644 --- a/memtrack/aidl/android/hardware/memtrack/IMemtrack.aidl +++ b/memtrack/aidl/android/hardware/memtrack/IMemtrack.aidl @@ -31,12 +31,14 @@ import android.hardware.memtrack.MemtrackType; * accounting for stride, bit depth, rounding up to page size, etc. * * The following getMemory() categories are important for memory accounting in - * `dumpsys meminfo` and should be reported as described below: + * Android frameworks (e.g. `dumpsys meminfo`) and should be reported as described + * below: * * - MemtrackType::GRAPHICS and MemtrackRecord::FLAG_SMAPS_UNACCOUNTED - * This should report the PSS of all DMA buffers mapped by the process - * with the specified PID. This PSS can be calculated using ReadDmaBufPss() - * form libdmabufinfo. + * This should report the PSS of all CPU-Mapped DMA-BUFs (buffers mapped into + * the process address space) and all GPU-Mapped DMA-BUFs (buffers mapped into + * the GPU device address space on behalf of the process), removing any overlap + * between the CPU-mapped and GPU-mapped sets. * * - MemtrackType::GL and MemtrackRecord::FLAG_SMAPS_UNACCOUNTED * This category should report all GPU private allocations for the specified @@ -46,6 +48,10 @@ import android.hardware.memtrack.MemtrackType; * Any other memory not accounted for in /proc//smaps if any, otherwise * this should return 0. * + * SMAPS_UNACCOUNTED memory should also include memory that is mapped with + * VM_PFNMAP flag set. For these mappings PSS and RSS are reported as 0 in smaps. + * Such mappings have no backing page structs from which PSS/RSS can be calculated. + * * Constructor for the interface should be used to perform memtrack management * setup actions and must be called once before any calls to getMemory(). */