All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Yu Zhao <yuzhao@google.com>
Cc: "Stephen Rothwell" <sfr@rothwell.id.au>,
	Linux-MM <linux-mm@kvack.org>, "Andi Kleen" <ak@linux.intel.com>,
	"Aneesh Kumar" <aneesh.kumar@linux.ibm.com>,
	"Barry Song" <21cnbao@gmail.com>,
	"Catalin Marinas" <catalin.marinas@arm.com>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	"Hillf Danton" <hdanton@sina.com>, "Jens Axboe" <axboe@kernel.dk>,
	"Jesse Barnes" <jsbarnes@google.com>,
	"Johannes Weiner" <hannes@cmpxchg.org>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"Linus Torvalds" <torvalds@linux-foundation.org>,
	"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>,
	"Rik van Riel" <riel@surriel.com>,
	"Vlastimil Babka" <vbabka@suse.cz>,
	"Will Deacon" <will@kernel.org>,
	"Ying Huang" <ying.huang@intel.com>,
	"Linux ARM" <linux-arm-kernel@lists.infradead.org>,
	"open list:DOCUMENTATION" <linux-doc@vger.kernel.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	"Kernel Page Reclaim v2" <page-reclaim@google.com>,
	"the arch/x86 maintainers" <x86@kernel.org>,
	"Brian Geffon" <bgeffon@google.com>,
	"Jan Alexander Steffens" <heftig@archlinux.org>,
	"Oleksandr Natalenko" <oleksandr@natalenko.name>,
	"Steven Barrett" <steven@liquorix.net>,
	"Suleiman Souhlal" <suleiman@google.com>,
	"Daniel Byrne" <djbyrne@mtu.edu>,
	"Donald Carr" <d@chaos-reins.com>,
	"Holger Hoffstätte" <holger@applied-asynchrony.com>,
	"Konstantin Kharlamov" <Hi-Angel@yandex.ru>,
	"Shuang Zhai" <szhai2@cs.rochester.edu>,
	"Sofia Trinh" <sofia.trinh@edi.works>,
	"Vaibhav Jain" <vaibhav@linux.ibm.com>
Subject: Re: [PATCH v10 05/14] mm: multi-gen LRU: groundwork
Date: Tue, 26 Apr 2022 16:42:41 -0700	[thread overview]
Message-ID: <20220426164241.99e6a283c371ed75fa5c12a0@linux-foundation.org> (raw)
In-Reply-To: <CAOUHufaeNzDJnDqatHe0MwsN-D6M_tw6JX2UBJFc+JpZNP86hQ@mail.gmail.com>

On Tue, 26 Apr 2022 16:39:07 -0600 Yu Zhao <yuzhao@google.com> wrote:

> On Mon, Apr 11, 2022 at 8:16 PM Andrew Morton <akpm@linux-foundation.org> wrote:
> >
> > On Wed,  6 Apr 2022 21:15:17 -0600 Yu Zhao <yuzhao@google.com> wrote:
> >
> > > Evictable pages are divided into multiple generations for each lruvec.
> > > The youngest generation number is stored in lrugen->max_seq for both
> > > anon and file types as they are aged on an equal footing. The oldest
> > > generation numbers are stored in lrugen->min_seq[] separately for anon
> > > and file types as clean file pages can be evicted regardless of swap
> > > constraints. These three variables are monotonically increasing.
> > >
> > > ...
> > >
> > > +static inline bool lru_gen_del_folio(struct lruvec *lruvec, struct folio *folio, bool reclaiming)
> >
> > There's a lot of function inlining here.  Fortunately the compiler will
> > ignore it all, because some of it looks wrong.  Please review (and
> > remeasure!).  If inlining is reqlly justified, use __always_inline, and
> > document the reasons for doing so.
> 
> I totally expect modern compilers to make better decisions than I do.
> And personally, I'd never use __always_inline; instead, I'd strongly
> recommend FDO/LTO.

My (badly expressed) point is that there's a lot of inlining of large
functions here.

For example, lru_gen_add_folio() is huge and has 4(?) call sites.  This
may well produce slower code due to the icache footprint.

Experiment: moving lru_gen_del_folio() into mm/vmscan.c shrinks that
file's .text from 80612 bytes to 78956.

I tend to think that out-of-line regular old C functions should be the
default and that the code should be inlined only when a clear benefit
is demonstrable, or has at least been seriously thought about.

> > > --- a/mm/Kconfig
> > > +++ b/mm/Kconfig
> > > @@ -909,6 +909,14 @@ config ANON_VMA_NAME
> > >         area from being merged with adjacent virtual memory areas due to the
> > >         difference in their name.
> > >
> > > +config LRU_GEN
> > > +     bool "Multi-Gen LRU"
> > > +     depends on MMU
> > > +     # the following options can use up the spare bits in page flags
> > > +     depends on !MAXSMP && (64BIT || !SPARSEMEM || SPARSEMEM_VMEMMAP)
> > > +     help
> > > +       A high performance LRU implementation to overcommit memory.
> > > +
> > >  source "mm/damon/Kconfig"
> >
> > This is a problem.  I had to jump through hoops just to be able to
> > compile-test this.  Turns out I had to figure out how to disable
> > MAXSMP.
> >
> > Can we please figure out a way to ensure that more testers are at least
> > compile testing this?  Allnoconfig, defconfig, allyesconfig, allmodconfig.
> >
> > Also, I suggest that we actually make MGLRU the default while in linux-next.
> 
> The !MAXSMP is to work around [1], which I haven't had the time to
> fix. That BUILD_BUG_ON() shouldn't assert sizeof(struct page) == 64
> since the true size depends on WANT_PAGE_VIRTUAL as well as
> LAST_CPUPID_NOT_IN_PAGE_FLAGS. My plan is here [2].
> 
> [1] https://lore.kernel.org/r/20190905154603.10349-4-aneesh.kumar@linux.ibm.com/
> [2] https://lore.kernel.org/r/Ygl1Gf+ATBuI%2Fm2q@google.com/

OK, thanks.  This is fairly urgent for -next and -rc inclusion.  If
practically nobody is compiling the feature then practically nobody is
testing it.  Let's come up with a way to improves the expected coverage
by a lot.

WARNING: multiple messages have this Message-ID (diff)
From: Andrew Morton <akpm@linux-foundation.org>
To: Yu Zhao <yuzhao@google.com>
Cc: "Stephen Rothwell" <sfr@rothwell.id.au>,
	Linux-MM <linux-mm@kvack.org>, "Andi Kleen" <ak@linux.intel.com>,
	"Aneesh Kumar" <aneesh.kumar@linux.ibm.com>,
	"Barry Song" <21cnbao@gmail.com>,
	"Catalin Marinas" <catalin.marinas@arm.com>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	"Hillf Danton" <hdanton@sina.com>, "Jens Axboe" <axboe@kernel.dk>,
	"Jesse Barnes" <jsbarnes@google.com>,
	"Johannes Weiner" <hannes@cmpxchg.org>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"Linus Torvalds" <torvalds@linux-foundation.org>,
	"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>,
	"Rik van Riel" <riel@surriel.com>,
	"Vlastimil Babka" <vbabka@suse.cz>,
	"Will Deacon" <will@kernel.org>,
	"Ying Huang" <ying.huang@intel.com>,
	"Linux ARM" <linux-arm-kernel@lists.infradead.org>,
	"open list:DOCUMENTATION" <linux-doc@vger.kernel.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	"Kernel Page Reclaim v2" <page-reclaim@google.com>,
	"the arch/x86 maintainers" <x86@kernel.org>,
	"Brian Geffon" <bgeffon@google.com>,
	"Jan Alexander Steffens" <heftig@archlinux.org>,
	"Oleksandr Natalenko" <oleksandr@natalenko.name>,
	"Steven Barrett" <steven@liquorix.net>,
	"Suleiman Souhlal" <suleiman@google.com>,
	"Daniel Byrne" <djbyrne@mtu.edu>,
	"Donald Carr" <d@chaos-reins.com>,
	"Holger Hoffstätte" <holger@applied-asynchrony.com>,
	"Konstantin Kharlamov" <Hi-Angel@yandex.ru>,
	"Shuang Zhai" <szhai2@cs.rochester.edu>,
	"Sofia Trinh" <sofia.trinh@edi.works>,
	"Vaibhav Jain" <vaibhav@linux.ibm.com>
Subject: Re: [PATCH v10 05/14] mm: multi-gen LRU: groundwork
Date: Tue, 26 Apr 2022 16:42:41 -0700	[thread overview]
Message-ID: <20220426164241.99e6a283c371ed75fa5c12a0@linux-foundation.org> (raw)
In-Reply-To: <CAOUHufaeNzDJnDqatHe0MwsN-D6M_tw6JX2UBJFc+JpZNP86hQ@mail.gmail.com>

On Tue, 26 Apr 2022 16:39:07 -0600 Yu Zhao <yuzhao@google.com> wrote:

> On Mon, Apr 11, 2022 at 8:16 PM Andrew Morton <akpm@linux-foundation.org> wrote:
> >
> > On Wed,  6 Apr 2022 21:15:17 -0600 Yu Zhao <yuzhao@google.com> wrote:
> >
> > > Evictable pages are divided into multiple generations for each lruvec.
> > > The youngest generation number is stored in lrugen->max_seq for both
> > > anon and file types as they are aged on an equal footing. The oldest
> > > generation numbers are stored in lrugen->min_seq[] separately for anon
> > > and file types as clean file pages can be evicted regardless of swap
> > > constraints. These three variables are monotonically increasing.
> > >
> > > ...
> > >
> > > +static inline bool lru_gen_del_folio(struct lruvec *lruvec, struct folio *folio, bool reclaiming)
> >
> > There's a lot of function inlining here.  Fortunately the compiler will
> > ignore it all, because some of it looks wrong.  Please review (and
> > remeasure!).  If inlining is reqlly justified, use __always_inline, and
> > document the reasons for doing so.
> 
> I totally expect modern compilers to make better decisions than I do.
> And personally, I'd never use __always_inline; instead, I'd strongly
> recommend FDO/LTO.

My (badly expressed) point is that there's a lot of inlining of large
functions here.

For example, lru_gen_add_folio() is huge and has 4(?) call sites.  This
may well produce slower code due to the icache footprint.

Experiment: moving lru_gen_del_folio() into mm/vmscan.c shrinks that
file's .text from 80612 bytes to 78956.

I tend to think that out-of-line regular old C functions should be the
default and that the code should be inlined only when a clear benefit
is demonstrable, or has at least been seriously thought about.

> > > --- a/mm/Kconfig
> > > +++ b/mm/Kconfig
> > > @@ -909,6 +909,14 @@ config ANON_VMA_NAME
> > >         area from being merged with adjacent virtual memory areas due to the
> > >         difference in their name.
> > >
> > > +config LRU_GEN
> > > +     bool "Multi-Gen LRU"
> > > +     depends on MMU
> > > +     # the following options can use up the spare bits in page flags
> > > +     depends on !MAXSMP && (64BIT || !SPARSEMEM || SPARSEMEM_VMEMMAP)
> > > +     help
> > > +       A high performance LRU implementation to overcommit memory.
> > > +
> > >  source "mm/damon/Kconfig"
> >
> > This is a problem.  I had to jump through hoops just to be able to
> > compile-test this.  Turns out I had to figure out how to disable
> > MAXSMP.
> >
> > Can we please figure out a way to ensure that more testers are at least
> > compile testing this?  Allnoconfig, defconfig, allyesconfig, allmodconfig.
> >
> > Also, I suggest that we actually make MGLRU the default while in linux-next.
> 
> The !MAXSMP is to work around [1], which I haven't had the time to
> fix. That BUILD_BUG_ON() shouldn't assert sizeof(struct page) == 64
> since the true size depends on WANT_PAGE_VIRTUAL as well as
> LAST_CPUPID_NOT_IN_PAGE_FLAGS. My plan is here [2].
> 
> [1] https://lore.kernel.org/r/20190905154603.10349-4-aneesh.kumar@linux.ibm.com/
> [2] https://lore.kernel.org/r/Ygl1Gf+ATBuI%2Fm2q@google.com/

OK, thanks.  This is fairly urgent for -next and -rc inclusion.  If
practically nobody is compiling the feature then practically nobody is
testing it.  Let's come up with a way to improves the expected coverage
by a lot.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-04-26 23:42 UTC|newest]

Thread overview: 198+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-07  3:15 [PATCH v10 00/14] Multi-Gen LRU Framework Yu Zhao
2022-04-07  3:15 ` Yu Zhao
2022-04-07  3:15 ` [PATCH v10 01/14] mm: x86, arm64: add arch_has_hw_pte_young() Yu Zhao
2022-04-07  3:15   ` Yu Zhao
2022-04-07  3:15 ` [PATCH v10 02/14] mm: x86: add CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG Yu Zhao
2022-04-07  3:15   ` Yu Zhao
2022-04-07  3:15 ` [PATCH v10 03/14] mm/vmscan.c: refactor shrink_node() Yu Zhao
2022-04-07  3:15   ` Yu Zhao
2022-04-16  6:48   ` Miaohe Lin
2022-04-16  6:48     ` Miaohe Lin
2022-04-07  3:15 ` [PATCH v10 04/14] Revert "include/linux/mm_inline.h: fold __update_lru_size() into its sole caller" Yu Zhao
2022-04-07  3:15   ` Yu Zhao
2022-04-16  6:50   ` Miaohe Lin
2022-04-16  6:50     ` Miaohe Lin
2022-04-07  3:15 ` [PATCH v10 05/14] mm: multi-gen LRU: groundwork Yu Zhao
2022-04-07  3:15   ` Yu Zhao
2022-04-12  2:16   ` Andrew Morton
2022-04-12  2:16     ` Andrew Morton
2022-04-12  7:06     ` Peter Zijlstra
2022-04-12  7:06       ` Peter Zijlstra
2022-04-20  0:39       ` Yu Zhao
2022-04-20  0:39         ` Yu Zhao
2022-04-20 20:07         ` Linus Torvalds
2022-04-20 20:07           ` Linus Torvalds
2022-04-26 22:39     ` Yu Zhao
2022-04-26 22:39       ` Yu Zhao
2022-04-26 23:42       ` Andrew Morton [this message]
2022-04-26 23:42         ` Andrew Morton
2022-04-27  1:18         ` Yu Zhao
2022-04-27  1:18           ` Yu Zhao
2022-04-27  1:34           ` Andrew Morton
2022-04-27  1:34             ` Andrew Morton
2022-04-07  3:15 ` [PATCH v10 06/14] mm: multi-gen LRU: minimal implementation Yu Zhao
2022-04-07  3:15   ` Yu Zhao
2022-04-14  6:03   ` Barry Song
2022-04-14  6:03     ` Barry Song
2022-04-14 20:36     ` Yu Zhao
2022-04-14 20:36       ` Yu Zhao
2022-04-14 21:39       ` Andrew Morton
2022-04-14 21:39         ` Andrew Morton
2022-04-14 22:14         ` Yu Zhao
2022-04-14 22:14           ` Yu Zhao
2022-04-15 10:15         ` Barry Song
2022-04-15 10:15           ` Barry Song
2022-04-15 20:17           ` Yu Zhao
2022-04-15 20:17             ` Yu Zhao
2022-04-15 10:26       ` Barry Song
2022-04-15 10:26         ` Barry Song
2022-04-15 20:18         ` Yu Zhao
2022-04-15 20:18           ` Yu Zhao
2022-04-14 11:47   ` Chen Wandun
2022-04-14 11:47     ` Chen Wandun
2022-04-14 20:53     ` Yu Zhao
2022-04-14 20:53       ` Yu Zhao
2022-04-15  2:23       ` Chen Wandun
2022-04-15  2:23         ` Chen Wandun
2022-04-15  5:25         ` Yu Zhao
2022-04-15  5:25           ` Yu Zhao
2022-04-15  6:31           ` Chen Wandun
2022-04-15  6:31             ` Chen Wandun
2022-04-15  6:44             ` Yu Zhao
2022-04-15  6:44               ` Yu Zhao
2022-04-15  9:27               ` Chen Wandun
2022-04-15  9:27                 ` Chen Wandun
2022-04-18  9:58   ` Barry Song
2022-04-18  9:58     ` Barry Song
2022-04-19  0:53     ` Yu Zhao
2022-04-19  0:53       ` Yu Zhao
2022-04-19  4:25       ` Barry Song
2022-04-19  4:25         ` Barry Song
2022-04-19  4:36         ` Barry Song
2022-04-19  4:36           ` Barry Song
2022-04-19 22:25           ` Yu Zhao
2022-04-19 22:25             ` Yu Zhao
2022-04-19 22:20         ` Yu Zhao
2022-04-19 22:20           ` Yu Zhao
2022-04-07  3:15 ` [PATCH v10 07/14] mm: multi-gen LRU: exploit locality in rmap Yu Zhao
2022-04-07  3:15   ` Yu Zhao
2022-04-27  4:32   ` Aneesh Kumar K.V
2022-04-27  4:32     ` Aneesh Kumar K.V
2022-04-27  4:38     ` Yu Zhao
2022-04-27  4:38       ` Yu Zhao
2022-04-27  5:31       ` Aneesh Kumar K V
2022-04-27  5:31         ` Aneesh Kumar K V
2022-04-27  6:00         ` Yu Zhao
2022-04-27  6:00           ` Yu Zhao
2022-04-07  3:15 ` [PATCH v10 08/14] mm: multi-gen LRU: support page table walks Yu Zhao
2022-04-07  3:15   ` Yu Zhao
2022-04-12  2:16   ` Andrew Morton
2022-04-12  2:16     ` Andrew Morton
2022-04-12  7:10     ` Peter Zijlstra
2022-04-12  7:10       ` Peter Zijlstra
2022-04-15  5:30       ` Yu Zhao
2022-04-15  5:30         ` Yu Zhao
2022-04-15  1:14     ` Yu Zhao
2022-04-15  1:14       ` Yu Zhao
2022-04-15  1:56       ` Andrew Morton
2022-04-15  1:56         ` Andrew Morton
2022-04-15  6:25         ` Yu Zhao
2022-04-15  6:25           ` Yu Zhao
2022-04-15 19:15           ` Andrew Morton
2022-04-15 19:15             ` Andrew Morton
2022-04-15 20:11             ` Yu Zhao
2022-04-15 20:11               ` Yu Zhao
2022-04-15 21:32               ` Andrew Morton
2022-04-15 21:32                 ` Andrew Morton
2022-04-15 21:36                 ` Linus Torvalds
2022-04-15 21:36                   ` Linus Torvalds
2022-04-15 22:57                   ` Yu Zhao
2022-04-15 22:57                     ` Yu Zhao
2022-04-15 23:03                     ` Linus Torvalds
2022-04-15 23:03                       ` Linus Torvalds
2022-04-15 23:24                       ` [page-reclaim] " Jesse Barnes
2022-04-15 23:24                         ` Jesse Barnes
2022-04-15 23:31                         ` Matthew Wilcox
2022-04-15 23:31                           ` Matthew Wilcox
2022-04-15 23:37                           ` Jesse Barnes
2022-04-15 23:37                             ` Jesse Barnes
2022-04-15 23:49                       ` Yu Zhao
2022-04-15 23:49                         ` Yu Zhao
2022-04-16 16:32                 ` Justin Forbes
2022-04-16 16:32                   ` Justin Forbes
2022-04-19 22:32                   ` Yu Zhao
2022-04-19 22:32                     ` Yu Zhao
2022-04-29 14:10   ` zhong jiang
2022-04-29 14:10     ` zhong jiang
2022-04-30  8:34     ` Yu Zhao
2022-04-30  8:34       ` Yu Zhao
2022-04-07  3:15 ` [PATCH v10 09/14] mm: multi-gen LRU: optimize multiple memcgs Yu Zhao
2022-04-07  3:15   ` Yu Zhao
2022-04-07  3:15 ` [PATCH v10 10/14] mm: multi-gen LRU: kill switch Yu Zhao
2022-04-07  3:15   ` Yu Zhao
2022-04-12  2:16   ` Andrew Morton
2022-04-12  2:16     ` Andrew Morton
2022-04-26 20:57     ` Yu Zhao
2022-04-26 20:57       ` Yu Zhao
2022-04-26 22:22       ` Andrew Morton
2022-04-26 22:22         ` Andrew Morton
2022-04-27  1:11         ` Yu Zhao
2022-04-27  1:11           ` Yu Zhao
2022-04-07  3:15 ` [PATCH v10 11/14] mm: multi-gen LRU: thrashing prevention Yu Zhao
2022-04-07  3:15   ` Yu Zhao
2022-04-07  3:15 ` [PATCH v10 12/14] mm: multi-gen LRU: debugfs interface Yu Zhao
2022-04-07  3:15   ` Yu Zhao
2022-04-12  2:16   ` Andrew Morton
2022-04-12  2:16     ` Andrew Morton
2022-04-16  0:03     ` Yu Zhao
2022-04-16  0:03       ` Yu Zhao
2022-04-16  4:20       ` Andrew Morton
2022-04-16  4:20         ` Andrew Morton
2022-04-26  6:59         ` Yu Zhao
2022-04-26  6:59           ` Yu Zhao
2022-04-26 21:30           ` Andrew Morton
2022-04-26 21:30             ` Andrew Morton
2022-04-26 22:15             ` Yu Zhao
2022-04-26 22:15               ` Yu Zhao
2022-04-07  3:15 ` [PATCH v10 13/14] mm: multi-gen LRU: admin guide Yu Zhao
2022-04-07  3:15   ` Yu Zhao
2022-04-07 12:41   ` Bagas Sanjaya
2022-04-07 12:41     ` Bagas Sanjaya
2022-04-07 12:51     ` Jonathan Corbet
2022-04-07 12:51       ` Jonathan Corbet
2022-04-12  2:16   ` Andrew Morton
2022-04-12  2:16     ` Andrew Morton
2022-04-16  2:22     ` Yu Zhao
2022-04-16  2:22       ` Yu Zhao
2022-04-07  3:15 ` [PATCH v10 14/14] mm: multi-gen LRU: design doc Yu Zhao
2022-04-07  3:15   ` Yu Zhao
2022-04-07 11:39   ` Huang Shijie
2022-04-07 11:39     ` Huang Shijie
2022-04-07 12:41   ` Bagas Sanjaya
2022-04-07 12:41     ` Bagas Sanjaya
2022-04-07 12:52     ` Jonathan Corbet
2022-04-07 12:52       ` Jonathan Corbet
2022-04-08  4:48       ` Bagas Sanjaya
2022-04-08  4:48         ` Bagas Sanjaya
2022-04-12  2:16   ` Andrew Morton
2022-04-12  2:16     ` Andrew Morton
2022-04-26  7:42     ` Yu Zhao
2022-04-26  7:42       ` Yu Zhao
2022-04-07  3:24 ` [PATCH v10 00/14] Multi-Gen LRU Framework Yu Zhao
2022-04-07  3:24   ` Yu Zhao
2022-04-07  8:31   ` Stephen Rothwell
2022-04-07  8:31     ` Stephen Rothwell
2022-04-07  9:08     ` Yu Zhao
2022-04-07  9:08       ` Yu Zhao
2022-04-07  9:41     ` Yu Zhao
2022-04-07  9:41       ` Yu Zhao
2022-04-07 12:13       ` Stephen Rothwell
2022-04-07 12:13         ` Stephen Rothwell
2022-04-08  2:08         ` Yu Zhao
2022-04-08  2:08           ` Yu Zhao
2022-04-12  2:15 ` Andrew Morton
2022-04-12  2:15   ` Andrew Morton
2022-04-14  5:06 ` Andrew Morton
2022-04-14  5:06   ` Andrew Morton
2022-04-20  0:50   ` Yu Zhao
2022-04-20  0:50     ` Yu Zhao

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=20220426164241.99e6a283c371ed75fa5c12a0@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=21cnbao@gmail.com \
    --cc=Hi-Angel@yandex.ru \
    --cc=Michael@michaellarabel.com \
    --cc=ak@linux.intel.com \
    --cc=aneesh.kumar@linux.ibm.com \
    --cc=axboe@kernel.dk \
    --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=sfr@rothwell.id.au \
    --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 \
    --cc=yuzhao@google.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.