I recently landed two patches [1], [2] that should make detecting system
level memory regressions a bit easier. The system memory reporter now
breaks out kgsl (system level graphics memory allocations) and ION
(kernel/device memory allocations) into per-process chunks. ION and kgsl
details are primarily of importance for Flame devices right now, but in
the future I expect more devices to use these features.
This means that when you load a memory report generated by
|get_about_memory.py| you'll find new entries under the 'System' entry
similar to the following:
11.96 MB (100.0%) -- ion-memory
├───5.63 MB (47.04%) ── Homescreen (pid=2080) [20]
├───3.16 MB (26.46%) ── b2g (pid=1921) [2]
├───1.58 MB (13.23%) ── fd900000.qcom,mdss_mdp (pid=1)
├───1.58 MB (13.23%) ── mdss_fb0 (pid=1927)
└───0.00 MB (00.03%) ── adsprpc-smd (pid=1)
13.14 MB (100.0%) -- kgsl-memory
└──13.14 MB (100.0%) -- b2g (pid=1921)
├───3.89 MB (29.60%) ── egl_image [10]
├───3.16 MB (24.07%) ── egl_surface [2]
├───2.54 MB (19.32%) ── gl [16]
├───1.66 MB (12.63%) ── texture [12]
├───0.94 MB (07.13%) ── command [15]
├───0.70 MB (05.35%) ── any(0) [26]
└───0.25 MB (01.90%) ++ (4 tiny)
In the above example we can see that the device was using ~12MB total of
ION allocations. It further breaks out that Homescreen is using 5.63MB
of ION across 20 allocations and b2g is using 3.16MB across 2 allocations.
On the kgsl side you can see the device is using a total of ~13MB of
kgsl and a breakdown of how graphics memory is being used by the b2g
process.
These values can be particularly useful for evaluating the efficacy of
attempts to reduce memory usage. I'm nominating the bugs for 2.0+ in
hopes of improving our ability to detect memory regressions across
versions of B2G.
-e
[1] - https://hg.mozilla.org/mozilla-central/rev/0b1d53fd456b
[2] - https://hg.mozilla.org/integration/mozilla-inbound/rev/eeccb95d2e83
_______________________________________________
dev-b2g mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-b2g