18–20 Sept 2024
Europe/Vienna timezone

memcg developments for Android

20 Sept 2024, 12:00
20m
"Hall L1" (Austria Center)

"Hall L1"

Austria Center

135
Android MC Android MC

Speaker

T.J. Mercier (Google - Android Kernel Team)

Description

This talk will cover the status of recent changes in Android and upstream related to memory control groups, planned work, and outstanding issues.


Here are some details:

Updates:

  • memcg v2 can now be used in A15 with PRODUCT_MEMCG_V2_FORCE_ENABLED or vendor overrides of cgroups.json
  • Control of memcg activation depth is queued for A16 (Reduction in kernel memory and background work)
  • In-progress: APIs for categorizing individual apps (launcher? sysui?) as "system"
  • Planned: APIs for targeting memcg controls for individual apps (not just system vs apps collectively)
  • Planned: Enforce limit on growth of Android system processes over time/releases w/memcg controls. (Be able to say, "core Android can run on X MiB of memory for the next Y years")
  • Is there desire for support of additional features/APIs around memcg controls? (Please speak up or contact me!)

memcg v1 is now officially on the deprecation path: https://lore.kernel.org/all/20240625005906.106920-1-roman.gushchin@linux.dev/
Therefore it is likely memcg v2 will be default in Android 16, and memcg v1 will not be configured into the Android kernel.

Issues:

Need to fix incorrect reporting of v2 controller counts: https://lore.kernel.org/all/20240528163713.2024887-1-tjmercier@google.com/
(Does anyone need / want this hierarchically instead of root-only?)

Primary author

T.J. Mercier (Google - Android Kernel Team)

Presentation materials