[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMZfGtWdd79PMRRPydmtsdDyOG1YzfzOK0PbYzESaXAHZVU9Bw@mail.gmail.com>
Date: Thu, 14 Jan 2021 10:47:04 +0800
From: Muchun Song <songmuchun@...edance.com>
To: Mike Kravetz <mike.kravetz@...cle.com>
Cc: Jonathan Corbet <corbet@....net>,
Thomas Gleixner <tglx@...utronix.de>, mingo@...hat.com,
bp@...en8.de, x86@...nel.org, hpa@...or.com,
dave.hansen@...ux.intel.com, luto@...nel.org,
Peter Zijlstra <peterz@...radead.org>, viro@...iv.linux.org.uk,
Andrew Morton <akpm@...ux-foundation.org>, paulmck@...nel.org,
mchehab+huawei@...nel.org, pawan.kumar.gupta@...ux.intel.com,
Randy Dunlap <rdunlap@...radead.org>, oneukum@...e.com,
anshuman.khandual@....com, jroedel@...e.de,
Mina Almasry <almasrymina@...gle.com>,
David Rientjes <rientjes@...gle.com>,
Matthew Wilcox <willy@...radead.org>,
Oscar Salvador <osalvador@...e.de>,
Michal Hocko <mhocko@...e.com>,
"Song Bao Hua (Barry Song)" <song.bao.hua@...ilicon.com>,
David Hildenbrand <david@...hat.com>,
HORIGUCHI NAOYA(堀口 直也)
<naoya.horiguchi@....com>,
Xiongchun duan <duanxiongchun@...edance.com>,
linux-doc@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>,
Linux Memory Management List <linux-mm@...ck.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>
Subject: Re: [External] Re: [PATCH v12 12/13] mm/hugetlb: Gather discrete
indexes of tail page
On Thu, Jan 14, 2021 at 8:18 AM Mike Kravetz <mike.kravetz@...cle.com> wrote:
>
> On 1/6/21 6:19 AM, Muchun Song wrote:
> > For HugeTLB page, there are more metadata to save in the struct page.
> > But the head struct page cannot meet our needs, so we have to abuse
> > other tail struct page to store the metadata. In order to avoid
> > conflicts caused by subsequent use of more tail struct pages, we can
> > gather these discrete indexes of tail struct page. In this case, it
> > will be easier to add a new tail page index later.
> >
> > There are only (RESERVE_VMEMMAP_SIZE / sizeof(struct page)) struct
> > page structs that can be used when CONFIG_HUGETLB_PAGE_FREE_VMEMMAP,
> > so add a BUILD_BUG_ON to catch invalid usage of the tail struct page.
> >
> > Signed-off-by: Muchun Song <songmuchun@...edance.com>
> > Reviewed-by: Oscar Salvador <osalvador@...e.de>
> > ---
> > include/linux/hugetlb.h | 14 ++++++++++++++
> > include/linux/hugetlb_cgroup.h | 15 +++++++++------
> > mm/hugetlb.c | 25 ++++++++++++-------------
> > mm/hugetlb_vmemmap.c | 8 ++++++++
> > 4 files changed, 43 insertions(+), 19 deletions(-)
>
> My apologies! I did not get to this patch in previous versions of the
> series. My "RFC create hugetlb flags to consolidate state" was done
> before I even noticed your efforts here.
>
> At least we agree the metadata could be better organized. :)
>
> IMO, using page.private of the head page to consolidate flags will be
> easier to manage. So, I would like to use that.
Agree. Using page.private to manage the page flag is a good
choice. When your RFC patch is applied, I will rebase it and
rework this patch.
>
> The BUILD_BUG_ON in this patch makes sense.
> --
> Mike Kravetz
Powered by blists - more mailing lists