[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20251202024259.412069-1-zhanghongru@xiaomi.com>
Date: Tue, 2 Dec 2025 10:42:59 +0800
From: Hongru Zhang <zhanghongru06@...il.com>
To: ziy@...dia.com
Cc: Liam.Howlett@...cle.com,
akpm@...ux-foundation.org,
axelrasmussen@...gle.com,
david@...nel.org,
hannes@...xchg.org,
jackmanb@...gle.com,
linux-kernel@...r.kernel.org,
linux-mm@...ck.org,
lorenzo.stoakes@...cle.com,
mhocko@...e.com,
rppt@...nel.org,
surenb@...gle.com,
vbabka@...e.cz,
weixugc@...gle.com,
yuanchu@...gle.com,
zhanghongru06@...il.com,
zhanghongru@...omi.com
Subject: Re: [PATCH 0/3] mm: add per-migratetype counts to buddy allocator and optimize pagetypeinfo access
> > Despite the above challenges, Android device manufacturers hope to ensure
> > a good user experience (no UI jank) across all situations.
> >
> > Even at 60 Hz frame refresh rate (90 Hz, 120 Hz also supported now), all
> > work from user input to render and display should be done within 16.7 ms.
> > To achieve this goal, the management components perform tasks such as:
> > - Track system resource status: what system has
> > (system resource awareness)
> > - Learn and predict app resource demands: what app needs
> > (resource demand awareness)
> > - Monitor app launch, exit, and foreground-background switches: least
> > important app gives back resource to system to serve most important
> > one, usually the foreground app
> > (user intent awareness)
> >
> > Tracking system resources seems necessary for Android devices, not
> > optional. So the related paths are not that cold on Android devices.
>
> These are all good background information. But how does userspace monitor
> utilize pageblock migratetype information? Can you give a concrete example?
>
> Something like when free_movable is low, background apps is killed to
> provide more free pages? Or is userspace monitor even trying to attribute
> different pageblock usage to each app by monitoring /proc/pagetypeinfo
> before and after an app launch?
>
> Thanks.
AOSP:
https://android.googlesource.com/platform/frameworks/base/+/refs/heads/main/core/java/com/android/internal/app/procstats/ProcessStats.java#:~:text=public%20void%20updateFragmentation()
We have proprietary algorithms, but they are confidential. I cannot
describe them publicly, sorry about that.
Powered by blists - more mailing lists