Re: [PATCH v7 05/12] mm: multigenerational LRU: minimal implementation

From: Huang, Ying
Date: Wed Feb 23 2022 - 03:28:02 EST


Hi, Yu,

Yu Zhao <yuzhao@xxxxxxxxxx> writes:

> To avoid confusions, the terms "promotion" and "demotion" will be
> applied to the multigenerational LRU, as a new convention; the terms
> "activation" and "deactivation" will be applied to the active/inactive
> LRU, as usual.

In the memory tiering related commits and patchset, for example as follows,

commit 668e4147d8850df32ca41e28f52c146025ca45c6
Author: Yang Shi <yang.shi@xxxxxxxxxxxxxxxxx>
Date: Thu Sep 2 14:59:19 2021 -0700

mm/vmscan: add page demotion counter

https://lore.kernel.org/linux-mm/20220221084529.1052339-1-ying.huang@xxxxxxxxx/

"demote" and "promote" is used for migrating pages between different
types of memory. Is it better for us to avoid overloading these words
too much to avoid the possible confusion?

> +static int get_swappiness(struct mem_cgroup *memcg)
> +{
> + return mem_cgroup_get_nr_swap_pages(memcg) >= MIN_LRU_BATCH ?
> + mem_cgroup_swappiness(memcg) : 0;
> +}

After we introduced demotion support in Linux kernel. The anonymous
pages in the fast memory node could be demoted to the slow memory node
via the page reclaiming mechanism as in the following commit. Can you
consider that too?

commit a2a36488a61cefe3129295c6e75b3987b9d7fd13
Author: Keith Busch <kbusch@xxxxxxxxxx>
Date: Thu Sep 2 14:59:26 2021 -0700

mm/vmscan: Consider anonymous pages without swap

Reclaim anonymous pages if a migration path is available now that demotion
provides a non-swap recourse for reclaiming anon pages.

Note that this check is subtly different from the can_age_anon_pages()
checks. This mechanism checks whether a specific page in a specific
context can actually be reclaimed, given current swap space and cgroup
limits.

can_age_anon_pages() is a much simpler and more preliminary check which
just says whether there is a possibility of future reclaim.


Best Regards,
Huang, Ying