Re: [PATCH 18/18] mm: memcontrol: update page->mem_cgroup stability rules

From: Joonsoo Kim
Date: Thu Apr 23 2020 - 20:48:12 EST


On Mon, Apr 20, 2020 at 06:11:26PM -0400, Johannes Weiner wrote:
> The previous patches have simplified the access rules around
> page->mem_cgroup somewhat:
>
> 1. We never change page->mem_cgroup while the page is isolated by
> somebody else. This was by far the biggest exception to our rules
> and it didn't stop at lock_page() or lock_page_memcg().
>
> 2. We charge pages before they get put into page tables now, so the
> somewhat fishy rule about "can be in page table as long as it's
> still locked" is now gone and boiled down to having an exclusive
> reference to the page.
>
> Document the new rules. Any of the following will stabilize the
> page->mem_cgroup association:
>
> - the page lock
> - LRU isolation
> - lock_page_memcg()
> - exclusive access to the page
>
> Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>

Reviewed-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>