From: Barry Song <21cnbao@gmail.com>
To: SeongJae Park <sj@kernel.org>
Cc: akpm@linux-foundation.org, linux-mm@kvack.org,
baolin.wang@linux.alibaba.com, chrisl@kernel.org,
david@redhat.com, hanchuanhua@oppo.com, hannes@cmpxchg.org,
hughd@google.com, kasong@tencent.com, ryan.roberts@arm.com,
surenb@google.com, v-songbaohua@oppo.com, willy@infradead.org,
xiang@kernel.org, ying.huang@intel.com, yosryahmed@google.com,
yuzhao@google.com, ziy@nvidia.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/5] mm: swap: introduce swap_free_nr() for batched swap_free()
Date: Thu, 11 Apr 2024 13:27:24 +1200 [thread overview]
Message-ID: <CAGsJ_4y-3h7MrWj__CuYa83XxDwj7xP0JzQJtkTCxwNCPUMB5w@mail.gmail.com> (raw)
In-Reply-To: <20240410233759.274907-1-sj@kernel.org>
On Thu, Apr 11, 2024 at 11:38 AM SeongJae Park <sj@kernel.org> wrote:
>
> Hi Barry,
>
> On Tue, 9 Apr 2024 20:26:27 +1200 Barry Song <21cnbao@gmail.com> wrote:
>
> > From: Chuanhua Han <hanchuanhua@oppo.com>
> >
> > While swapping in a large folio, we need to free swaps related to the whole
> > folio. To avoid frequently acquiring and releasing swap locks, it is better
> > to introduce an API for batched free.
> >
> > Signed-off-by: Chuanhua Han <hanchuanhua@oppo.com>
> > Co-developed-by: Barry Song <v-songbaohua@oppo.com>
> > Signed-off-by: Barry Song <v-songbaohua@oppo.com>
> > ---
> > include/linux/swap.h | 5 +++++
> > mm/swapfile.c | 51 ++++++++++++++++++++++++++++++++++++++++++++
> > 2 files changed, 56 insertions(+)
> >
> > diff --git a/include/linux/swap.h b/include/linux/swap.h
> > index 11c53692f65f..b7a107e983b8 100644
> > --- a/include/linux/swap.h
> > +++ b/include/linux/swap.h
> [...]
> > +void swap_free_nr(swp_entry_t entry, int nr_pages)
> > +{
> > +}
>
> I found the latest mm-unstable fails build when CONFIG_SWAP is not set with
> errors including below, and 'git bisect' points this patch.
>
> do_mounts.c:(.text+0x6): multiple definition of `swap_free_nr'; init/main.o:main.c:(.text+0x9c): first defined here
>
> I think this should be defined as 'static inline'? I confirmed adding the two
> keywords as below fixes the build failure.
definitely yes.
It's highly likely that it was an oversight. we definitely meant
static inline for !CONFIG_SWAP.
Thanks! will fix it in v3.
>
> diff --git a/include/linux/swap.h b/include/linux/swap.h
> index 4bf5090de0fd..5fd60d733ba8 100644
> --- a/include/linux/swap.h
> +++ b/include/linux/swap.h
> @@ -562,7 +562,7 @@ static inline void swap_free(swp_entry_t swp)
> {
> }
>
> -void swap_free_nr(swp_entry_t entry, int nr_pages)
> +static inline void swap_free_nr(swp_entry_t entry, int nr_pages)
> {
> }
>
>
> Thanks,
> SJ
>
Thanks
Barry
next prev parent reply other threads:[~2024-04-11 1:27 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-09 8:26 [PATCH v2 0/5] large folios swap-in: handle refault cases first Barry Song
2024-04-09 8:26 ` [PATCH v2 1/5] mm: swap: introduce swap_free_nr() for batched swap_free() Barry Song
2024-04-10 23:37 ` SeongJae Park
2024-04-11 1:27 ` Barry Song [this message]
2024-04-11 14:30 ` Ryan Roberts
2024-04-12 2:07 ` Chuanhua Han
2024-04-12 11:28 ` Ryan Roberts
2024-04-12 11:38 ` Chuanhua Han
2024-04-15 6:17 ` Huang, Ying
2024-04-15 7:04 ` Barry Song
2024-04-15 8:06 ` Barry Song
2024-04-15 8:19 ` Huang, Ying
2024-04-15 8:34 ` Barry Song
2024-04-15 8:51 ` Huang, Ying
2024-04-15 9:01 ` Barry Song
2024-04-16 1:40 ` Huang, Ying
2024-04-16 2:08 ` Barry Song
2024-04-16 3:11 ` Huang, Ying
2024-04-16 4:32 ` Barry Song
2024-04-17 0:32 ` Huang, Ying
2024-04-17 1:35 ` Barry Song
2024-04-18 5:27 ` Barry Song
2024-04-18 8:55 ` Huang, Ying
2024-04-18 9:14 ` Barry Song
2024-05-02 23:05 ` Barry Song
2024-04-09 8:26 ` [PATCH v2 2/5] mm: swap: make should_try_to_free_swap() support large-folio Barry Song
2024-04-15 7:11 ` Huang, Ying
2024-04-09 8:26 ` [PATCH v2 3/5] mm: swap_pte_batch: add an output argument to reture if all swap entries are exclusive Barry Song
2024-04-11 14:54 ` Ryan Roberts
2024-04-11 15:00 ` David Hildenbrand
2024-04-11 15:36 ` Ryan Roberts
2024-04-09 8:26 ` [PATCH v2 4/5] mm: swap: entirely map large folios found in swapcache Barry Song
2024-04-11 15:33 ` Ryan Roberts
2024-04-11 23:30 ` Barry Song
2024-04-12 11:31 ` Ryan Roberts
2024-04-15 8:37 ` Huang, Ying
2024-04-15 8:53 ` Barry Song
2024-04-16 2:25 ` Huang, Ying
2024-04-16 2:36 ` Barry Song
2024-04-16 2:39 ` Huang, Ying
2024-04-16 2:52 ` Barry Song
2024-04-16 3:17 ` Huang, Ying
2024-04-16 4:40 ` Barry Song
2024-04-18 9:55 ` Barry Song
2024-04-09 8:26 ` [PATCH v2 5/5] mm: add per-order mTHP swpin_refault counter Barry Song
2024-04-10 23:15 ` SeongJae Park
2024-04-11 1:46 ` Barry Song
2024-04-11 16:14 ` SeongJae Park
2024-04-11 15:53 ` Ryan Roberts
2024-04-11 23:01 ` Barry Song
2024-04-17 0:45 ` Huang, Ying
2024-04-17 1:16 ` Barry Song
2024-04-17 1:38 ` Huang, Ying
2024-04-17 1:48 ` Barry Song
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=CAGsJ_4y-3h7MrWj__CuYa83XxDwj7xP0JzQJtkTCxwNCPUMB5w@mail.gmail.com \
--to=21cnbao@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=chrisl@kernel.org \
--cc=david@redhat.com \
--cc=hanchuanhua@oppo.com \
--cc=hannes@cmpxchg.org \
--cc=hughd@google.com \
--cc=kasong@tencent.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ryan.roberts@arm.com \
--cc=sj@kernel.org \
--cc=surenb@google.com \
--cc=v-songbaohua@oppo.com \
--cc=willy@infradead.org \
--cc=xiang@kernel.org \
--cc=ying.huang@intel.com \
--cc=yosryahmed@google.com \
--cc=yuzhao@google.com \
--cc=ziy@nvidia.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