[PATCH v1 06/14] mm, x86: support the access bit on non-leaf PMD entries

2021-03-13 Thread Yu Zhao
Some architectures support the accessed bit on non-leaf PMD entries (parents) in addition to leaf PTE entries (children) where pages are mapped, e.g., x86_64 sets the accessed bit on a parent when using it as part of linear-address translation [1]. Page table walkers who are interested in the

[PATCH v1 03/14] include/linux/huge_mm.h: define is_huge_zero_pmd() if !CONFIG_TRANSPARENT_HUGEPAGE

2021-03-13 Thread Yu Zhao
Currently is_huge_zero_pmd() only exists when CONFIG_TRANSPARENT_HUGEPAGE=y. This patch defines the function for the !CONFIG_TRANSPARENT_HUGEPAGE case. Signed-off-by: Yu Zhao --- include/linux/huge_mm.h | 5 + 1 file changed, 5 insertions(+) diff --git a/include/linux/huge_mm.h

[PATCH v1 01/14] include/linux/memcontrol.h: do not warn in page_memcg_rcu() if !CONFIG_MEMCG

2021-03-13 Thread Yu Zhao
We want to make sure the rcu lock is held while using page_memcg_rcu(). But having a WARN_ON_ONCE() in page_memcg_rcu() when !CONFIG_MEMCG is superfluous because of the following legit use case: memcg = lock_page_memcg(page1) (rcu_read_lock() if CONFIG_MEMCG=y) do something to page1

[PATCH v1 05/14] mm/swap.c: export activate_page()

2021-03-13 Thread Yu Zhao
Export activate_page(), which is a merger between the existing activate_page() and __lru_cache_activate_page(), so it can be used to activate pages that are already on lru or queued in lru_pvecs.lru_add. Signed-off-by: Yu Zhao --- include/linux/swap.h | 1 + mm/swap.c| 28

[PATCH v1 04/14] include/linux/cgroup.h: export cgroup_mutex

2021-03-13 Thread Yu Zhao
Export cgroup_mutex so it can be used to synchronize with memcg allocations. Signed-off-by: Yu Zhao --- include/linux/cgroup.h | 15 ++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h index 4f2f79de083e..bd5744360cfa

[PATCH v1 02/14] include/linux/nodemask.h: define next_memory_node() if !CONFIG_NUMA

2021-03-13 Thread Yu Zhao
Currently next_memory_node only exists when CONFIG_NUMA=y. This patch defines the macro for the !CONFIG_NUMA case. Signed-off-by: Yu Zhao --- include/linux/nodemask.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/linux/nodemask.h b/include/linux/nodemask.h index

[PATCH v1 00/14] Multigenerational LRU

2021-03-13 Thread Yu Zhao
TLDR The current page reclaim is too expensive in terms of CPU usage and often making poor choices about what to evict. We would like to offer a performant, versatile and straightforward augment. Repo git fetch https://linux-mm.googlesource.com/page-reclaim refs/changes/01/1101/1

<    1   2   3   4   5