[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220326010003.3155137-1-yuzhao@google.com>
Date: Fri, 25 Mar 2022 19:00:03 -0600
From: Yu Zhao <yuzhao@...gle.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Andi Kleen <ak@...ux.intel.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Aneesh Kumar <aneesh.kumar@...ux.ibm.com>,
Barry Song <baohua@...nel.org>,
Brian Geffon <bgeffon@...gle.com>,
Catalin Marinas <catalin.marinas@....com>,
Daniel Byrne <djbyrne@....edu>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Donald Carr <d@...os-reins.com>,
Hillf Danton <hdanton@...a.com>,
"Holger Hoffstätte"
<holger@...lied-asynchrony.com>,
Jan Alexander Steffens <heftig@...hlinux.org>,
Jens Axboe <axboe@...nel.dk>,
Jesse Barnes <jsbarnes@...gle.com>,
Johannes Weiner <hannes@...xchg.org>,
Jonathan Corbet <corbet@....net>,
Konstantin Kharlamov <Hi-Angel@...dex.ru>,
Matthew Wilcox <willy@...radead.org>,
Mel Gorman <mgorman@...e.de>,
Michael Larabel <Michael@...haellarabel.com>,
Michal Hocko <mhocko@...nel.org>,
Mike Rapoport <rppt@...nel.org>,
Oleksandr Natalenko <oleksandr@...alenko.name>,
Rik van Riel <riel@...riel.com>,
Shuang Zhai <szhai2@...rochester.edu>,
Sofia Trinh <sofia.trinh@....works>,
Steven Barrett <steven@...uorix.net>,
Suleiman Souhlal <suleiman@...gle.com>,
Vaibhav Jain <vaibhav@...ux.ibm.com>,
Vlastimil Babka <vbabka@...e.cz>,
Will Deacon <will@...nel.org>,
Ying Huang <ying.huang@...el.com>,
linux-arm-kernel@...ts.infradead.org, linux-doc@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
page-reclaim@...gle.com, x86@...nel.org,
Yu Zhao <yuzhao@...gle.com>
Subject: [GIT PULL] Multi-gen LRU for 5.18-rc1
Hi Linus,
This is more of an option than a request for 5.18. I'm sending it to
you directly because, in my judgement, it's now as ready as it'll ever
be.
Thanks!
The following changes since commit 46f538bf2404ee9c32648deafb886f49144bfd5e:
Merge tag 'backlight-next-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight (2022-03-25 14:01:23 -0700)
are available in the Git repository at:
https://linux-mm.googlesource.com/mglru/ tags/mglru-for-5.18-rc1
for you to fetch changes up to bcf5f2a801b85f09ad691d07460fdf3fbef8404d:
mm: multi-gen LRU: design doc (2022-03-25 15:30:50 -0600)
----------------------------------------------------------------
Multi-gen LRU for 5.18-rc1
This series was retested on top of 5.18-ed4643521e6a. All previous
comments have been addressed.
Changes since v8 [1]
* Removed two user-hostile config options (suggested by Linus
Torvalds).
Changes since v9 [2]
* Resolved the conflicts with the latest folio changes.
* Switched to spin_trylock() to move onto the next page table rather
than spin on the current one when trying to clear the accessed
bit on many page tables.
* Added introductory paragraphs to the admin guide and the design
doc (suggested by Mike Rapoport).
* Expanded comments in get_nr_evictable() (suggested by Barry Song
and Aneesh Kumar).
* Expanded comments in inc_max_seq() (suggested by Barry Song).
[1] https://lkml.kernel.org/r/20220308234723.3834941-1-yuzhao@google.com
[2] https://lkml.kernel.org/r/20220309021230.721028-1-yuzhao@google.com
Signed-off-by: Yu Zhao <yuzhao@...gle.com>
----------------------------------------------------------------
Yu Zhao (14):
mm: x86, arm64: add arch_has_hw_pte_young()
mm: x86: add CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG
mm/vmscan.c: refactor shrink_node()
Revert "include/linux/mm_inline.h: fold __update_lru_size() into its sole caller"
mm: multi-gen LRU: groundwork
mm: multi-gen LRU: minimal implementation
mm: multi-gen LRU: exploit locality in rmap
mm: multi-gen LRU: support page table walks
mm: multi-gen LRU: optimize multiple memcgs
mm: multi-gen LRU: kill switch
mm: multi-gen LRU: thrashing prevention
mm: multi-gen LRU: debugfs interface
mm: multi-gen LRU: admin guide
mm: multi-gen LRU: design doc
Documentation/admin-guide/mm/index.rst | 1 +
Documentation/admin-guide/mm/multigen_lru.rst | 152 ++
Documentation/vm/index.rst | 1 +
Documentation/vm/multigen_lru.rst | 160 ++
arch/Kconfig | 9 +
arch/arm64/include/asm/pgtable.h | 14 +-
arch/x86/Kconfig | 1 +
arch/x86/include/asm/pgtable.h | 9 +-
arch/x86/mm/pgtable.c | 5 +-
fs/exec.c | 2 +
fs/fuse/dev.c | 3 +-
include/linux/cgroup.h | 15 +-
include/linux/memcontrol.h | 36 +
include/linux/mm.h | 7 +
include/linux/mm_inline.h | 217 +-
include/linux/mm_types.h | 78 +
include/linux/mmzone.h | 211 ++
include/linux/nodemask.h | 1 +
include/linux/page-flags-layout.h | 11 +-
include/linux/page-flags.h | 4 +-
include/linux/pgtable.h | 17 +-
include/linux/sched.h | 4 +
include/linux/swap.h | 4 +
kernel/bounds.c | 7 +
kernel/cgroup/cgroup-internal.h | 1 -
kernel/exit.c | 1 +
kernel/fork.c | 9 +
kernel/sched/core.c | 1 +
mm/Kconfig | 26 +
mm/huge_memory.c | 3 +-
mm/internal.h | 1 +
mm/memcontrol.c | 27 +
mm/memory.c | 39 +-
mm/mm_init.c | 6 +-
mm/mmzone.c | 2 +
mm/rmap.c | 7 +
mm/swap.c | 55 +-
mm/vmscan.c | 3102 +++++++++++++++++++++++--
mm/workingset.c | 119 +-
39 files changed, 4097 insertions(+), 271 deletions(-)
create mode 100644 Documentation/admin-guide/mm/multigen_lru.rst
create mode 100644 Documentation/vm/multigen_lru.rst
Powered by blists - more mailing lists