From: Yu Zhao <yuzhao@google.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "Andi Kleen" <ak@linux.intel.com>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Aneesh Kumar" <aneesh.kumar@linux.ibm.com>,
"Barry Song" <baohua@kernel.org>,
"Brian Geffon" <bgeffon@google.com>,
"Catalin Marinas" <catalin.marinas@arm.com>,
"Daniel Byrne" <djbyrne@mtu.edu>,
"Dave Hansen" <dave.hansen@linux.intel.com>,
"Donald Carr" <d@chaos-reins.com>,
"Hillf Danton" <hdanton@sina.com>,
"Holger Hoffstätte" <holger@applied-asynchrony.com>,
"Jan Alexander Steffens" <heftig@archlinux.org>,
"Jens Axboe" <axboe@kernel.dk>,
"Jesse Barnes" <jsbarnes@google.com>,
"Johannes Weiner" <hannes@cmpxchg.org>,
"Jonathan Corbet" <corbet@lwn.net>,
"Konstantin Kharlamov" <Hi-Angel@yandex.ru>,
"Matthew Wilcox" <willy@infradead.org>,
"Mel Gorman" <mgorman@suse.de>,
"Michael Larabel" <Michael@michaellarabel.com>,
"Michal Hocko" <mhocko@kernel.org>,
"Mike Rapoport" <rppt@kernel.org>,
"Oleksandr Natalenko" <oleksandr@natalenko.name>,
"Rik van Riel" <riel@surriel.com>,
"Shuang Zhai" <szhai2@cs.rochester.edu>,
"Sofia Trinh" <sofia.trinh@edi.works>,
"Steven Barrett" <steven@liquorix.net>,
"Suleiman Souhlal" <suleiman@google.com>,
"Vaibhav Jain" <vaibhav@linux.ibm.com>,
"Vlastimil Babka" <vbabka@suse.cz>,
"Will Deacon" <will@kernel.org>,
"Ying Huang" <ying.huang@intel.com>,
linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
page-reclaim@google.com, x86@kernel.org,
"Yu Zhao" <yuzhao@google.com>
Subject: [GIT PULL] Multi-gen LRU for 5.18-rc1
Date: Fri, 25 Mar 2022 19:00:03 -0600 [thread overview]
Message-ID: <20220326010003.3155137-1-yuzhao@google.com> (raw)
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@google.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
next reply other threads:[~2022-03-26 1:00 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-26 1:00 Yu Zhao [this message]
2022-03-26 1:07 ` [GIT PULL] Multi-gen LRU for 5.18-rc1 Linus Torvalds
2022-03-26 1:16 ` [page-reclaim] " Yu Zhao
2022-03-26 20:27 ` Linus Torvalds
2022-03-26 20:53 ` Yu Zhao
2022-03-26 20:49 ` Andrew Morton
2022-03-26 21:03 ` Yu Zhao
2022-03-28 12:29 ` David Hildenbrand
2022-03-28 13:43 ` Matthew Wilcox
2022-03-28 13:47 ` David Hildenbrand
2022-03-28 14:27 ` Michal Hocko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220326010003.3155137-1-yuzhao@google.com \
--to=yuzhao@google.com \
--cc=Hi-Angel@yandex.ru \
--cc=Michael@michaellarabel.com \
--cc=ak@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=aneesh.kumar@linux.ibm.com \
--cc=axboe@kernel.dk \
--cc=baohua@kernel.org \
--cc=bgeffon@google.com \
--cc=catalin.marinas@arm.com \
--cc=corbet@lwn.net \
--cc=d@chaos-reins.com \
--cc=dave.hansen@linux.intel.com \
--cc=djbyrne@mtu.edu \
--cc=hannes@cmpxchg.org \
--cc=hdanton@sina.com \
--cc=heftig@archlinux.org \
--cc=holger@applied-asynchrony.com \
--cc=jsbarnes@google.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=mhocko@kernel.org \
--cc=oleksandr@natalenko.name \
--cc=page-reclaim@google.com \
--cc=riel@surriel.com \
--cc=rppt@kernel.org \
--cc=sofia.trinh@edi.works \
--cc=steven@liquorix.net \
--cc=suleiman@google.com \
--cc=szhai2@cs.rochester.edu \
--cc=torvalds@linux-foundation.org \
--cc=vaibhav@linux.ibm.com \
--cc=vbabka@suse.cz \
--cc=will@kernel.org \
--cc=willy@infradead.org \
--cc=x86@kernel.org \
--cc=ying.huang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).