On Wed 06-01-21 08:42:39, Shakeel Butt wrote: > On Wed, Jan 6, 2021 at 6:53 AM Michal Hocko <mhocko@xxxxxxxx> wrote: > > > > On Thu 31-12-20 18:39:55, Shakeel Butt wrote: > > > This patch adds swapcache stat for the cgroup v2. The swapcache > > > represents the memory that is accounted against both the memory and the > > > swap limit of the cgroup. The main motivation behind exposing the > > > swapcache stat is for enabling users to gracefully migrate from cgroup > > > v1's memsw counter to cgroup v2's memory and swap counters. > > > > > > Cgroup v1's memsw limit allows users to limit the memory+swap usage of a > > > workload but without control on the exact proportion of memory and swap. > > > Cgroup v2 provides separate limits for memory and swap which enables > > > more control on the exact usage of memory and swap individually for the > > > workload. > > > > > > With some little subtleties, the v1's memsw limit can be switched with > > > the sum of the v2's memory and swap limits. However the alternative for > > > memsw usage is not yet available in cgroup v2. Exposing per-cgroup > > > swapcache stat enables that alternative. Adding the memory usage and > > > swap usage and subtracting the swapcache will approximate the memsw > > > usage. This will help in the transparent migration of the workloads > > > depending on memsw usage and limit to v2' memory and swap counters. > > > > Could you expand a bit more on why memsw usage is important even in > > cgroup v2 land? How are you going to use the approximated value? > > > > Two main benefits. First, it hides the underlying system's swap setup > from the applications. Applications with multiple instances running in > a datacenter with heterogeneous systems (some have swap and some > don't) will keep seeing a consistent view of their usage. > > Second, most of the applications (at least in our prod) are not really > interested in two separate memory and swap usage metrics. A single > usage metric is more simple to use and reason about for these > applications. OK fair enough. Thanks for the clarification. As I've said I do not see any problem with exporting the counter. Acked-by: Michal Hocko <mhocko@xxxxxxxx> -- Michal Hocko SUSE Labs