[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87y2213wrl.fsf@yhuang6-desk2.ccr.corp.intel.com>
Date: Thu, 24 Feb 2022 08:59:10 +0800
From: "Huang, Ying" <ying.huang@...el.com>
To: Yu Zhao <yuzhao@...gle.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Johannes Weiner <hannes@...xchg.org>,
Mel Gorman <mgorman@...e.de>, Michal Hocko <mhocko@...nel.org>,
Andi Kleen <ak@...ux.intel.com>,
Aneesh Kumar <aneesh.kumar@...ux.ibm.com>,
Barry Song <21cnbao@...il.com>,
Catalin Marinas <catalin.marinas@....com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Hillf Danton <hdanton@...a.com>, Jens Axboe <axboe@...nel.dk>,
Jesse Barnes <jsbarnes@...gle.com>,
Jonathan Corbet <corbet@....net>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Matthew Wilcox <willy@...radead.org>,
Michael Larabel <Michael@...haellarabel.com>,
Mike Rapoport <rppt@...nel.org>,
Rik van Riel <riel@...riel.com>,
Vlastimil Babka <vbabka@...e.cz>,
Will Deacon <will@...nel.org>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
"open list:DOCUMENTATION" <linux-doc@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Linux-MM <linux-mm@...ck.org>,
Kernel Page Reclaim v2 <page-reclaim@...gle.com>,
"the arch/x86 maintainers" <x86@...nel.org>,
Brian Geffon <bgeffon@...gle.com>,
Jan Alexander Steffens <heftig@...hlinux.org>,
Oleksandr Natalenko <oleksandr@...alenko.name>,
Steven Barrett <steven@...uorix.net>,
Suleiman Souhlal <suleiman@...gle.com>,
Daniel Byrne <djbyrne@....edu>,
Donald Carr <d@...os-reins.com>,
Holger Hoffstätte
<holger@...lied-asynchrony.com>,
Konstantin Kharlamov <Hi-Angel@...dex.ru>,
Shuang Zhai <szhai2@...rochester.edu>,
Sofia Trinh <sofia.trinh@....works>
Subject: Re: [PATCH v7 05/12] mm: multigenerational LRU: minimal implementation
Yu Zhao <yuzhao@...gle.com> writes:
> On Wed, Feb 23, 2022 at 1:28 AM Huang, Ying <ying.huang@...el.com> wrote:
>>
>> Hi, Yu,
>>
>> Yu Zhao <yuzhao@...gle.com> 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@...ux.alibaba.com>
>> 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@intel.com/
>>
>> "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?
>
> Given that LRU and migration are usually different contexts, I think
> we'd be fine, unless we want a third pair of terms.
This is true before memory tiering is introduced. In systems with
multiple types memory (called memory tiering), LRU is used to identify
pages to be migrated to the slow memory node. Please take a look at
can_demote(), which is called in shrink_page_list().
>> > +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?
>
> Sure. How do I check whether there is still space on the slow node?
You can always check the watermark of the slow node. But now, we
actually don't check that (as in demote_page_list()), instead we will
wake up kswapd of the slow node. The intended behavior is something
like,
DRAM -> PMEM -> disk
Best Regards,
Huang, Ying
Powered by blists - more mailing lists