[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGsJ_4z-4mPNaGSuj6spfzms0sa-DtEcKSQwFDOXb6Rn5R_kSg@mail.gmail.com>
Date: Mon, 12 Aug 2024 20:53:06 +1200
From: Barry Song <21cnbao@...il.com>
To: Christoph Hellwig <hch@...radead.org>
Cc: akpm@...ux-foundation.org, linux-mm@...ck.org,
baolin.wang@...ux.alibaba.com, chrisl@...nel.org, david@...hat.com,
hannes@...xchg.org, hughd@...gle.com, kaleshsingh@...gle.com,
kasong@...cent.com, linux-kernel@...r.kernel.org, mhocko@...e.com,
minchan@...nel.org, nphamcs@...il.com, ryan.roberts@....com,
senozhatsky@...omium.org, shakeel.butt@...ux.dev, shy828301@...il.com,
surenb@...gle.com, v-songbaohua@...o.com, willy@...radead.org,
xiang@...nel.org, ying.huang@...el.com, yosryahmed@...gle.com,
Chuanhua Han <hanchuanhua@...o.com>
Subject: Re: [PATCH v6 2/2] mm: support large folios swap-in for zRAM-like devices
On Mon, Aug 12, 2024 at 8:27 PM Christoph Hellwig <hch@...radead.org> wrote:
>
> The subject feels wrong. Nothing particular about zram, it is all about
> SWP_SYNCHRONOUS_IO, so the Subject and commit log should state that.
right.
This is absolutely for sync io, zram is the most typical one which is
widely used in Android and embedded systems. Others could be
nvdimm, brd.
>
> On Sat, Aug 03, 2024 at 12:20:31AM +1200, Barry Song wrote:
> > From: Chuanhua Han <hanchuanhua@...o.com>
> >
> > Currently, we have mTHP features, but unfortunately, without support for large
> > folio swap-ins, once these large folios are swapped out, they are lost because
> > mTHP swap is a one-way process. The lack of mTHP swap-in functionality prevents
>
> Please wrap your commit logs after 73 characters to make them readable.
ack.
>
> > +/*
> > + * check a range of PTEs are completely swap entries with
> > + * contiguous swap offsets and the same SWAP_HAS_CACHE.
> > + * ptep must be first one in the range
> > + */
>
> Please capitalize the first character of block comments, make them full
> sentences and use up all 80 characters.
ack.
>
> > + for (i = 1; i < nr_pages; i++) {
> > + /*
> > + * while allocating a large folio and doing swap_read_folio for the
>
> And also do not go over 80 characters for them, which renders them
> really hard to read.
>
> > +static struct folio *alloc_swap_folio(struct vm_fault *vmf)
> > +{
> > + struct vm_area_struct *vma = vmf->vma;
> > +#ifdef CONFIG_TRANSPARENT_HUGEPAGE
>
> Please stub out the entire function.
I assume you mean the below?
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
static struct folio *alloc_swap_folio(struct vm_fault *vmf)
{
}
#else
static struct folio *alloc_swap_folio(struct vm_fault *vmf)
{
}
#endif
If so, this is fine to me. the only reason I am using the current
pattern is that i am trying to follow the same pattern with
static struct folio *alloc_anon_folio(struct vm_fault *vmf)
{
struct vm_area_struct *vma = vmf->vma;
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
#endif
...
}
Likely we also want to change that one?
Thanks
Barry
Powered by blists - more mailing lists