On Fri, Feb 06, 2026 at 03:22:15PM +0800, Jiayuan Chen wrote: > From: Jiayuan Chen <[email protected]> > > The global zswap_stored_incompressible_pages counter was added in commit > dca4437a5861 ("mm/zswap: store <PAGE_SIZE compression failed page as-is") > to track how many pages are stored in raw (uncompressed) form in zswap. > However, in containerized environments, knowing which cgroup is > contributing incompressible pages is essential for effective resource > management [1]. > > Add a new memcg stat 'zswap_incomp' to track incompressible pages per > cgroup. This helps administrators and orchestrators to: > > 1. Identify workloads that produce incompressible data (e.g., encrypted > data, already-compressed media, random data) and may not benefit from > zswap. > > 2. Make informed decisions about workload placement - moving > incompressible workloads to nodes with larger swap backing devices > rather than relying on zswap. > > 3. Debug zswap efficiency issues at the cgroup level without needing to > correlate global stats with individual cgroups. > > While the compression ratio can be estimated from existing stats > (zswap / zswapped * PAGE_SIZE), this doesn't distinguish between > "uniformly poor compression" and "a few completely incompressible pages > mixed with highly compressible ones". The zswap_incomp stat provides > direct visibility into the latter case. > > [1]: > https://lore.kernel.org/linux-mm/CAF8kJuONDFj4NAksaR4j_WyDbNwNGYLmTe-o76rqU17La=n...@mail.gmail.com/ > Acked-by: Nhat Pham <[email protected]> > Signed-off-by: Jiayuan Chen <[email protected]>
Acked-by: Shakeel Butt <[email protected]>
