From: Oscar Salvador <osalvador@suse.de>
To: David Hildenbrand <david@redhat.com>
Cc: Minchan Kim <minchan@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
linux-mm <linux-mm@kvack.org>,
LKML <linux-kernel@vger.kernel.org>,
Michal Hocko <mhocko@suse.com>, Vlastimil Babka <vbabka@suse.cz>
Subject: Re: [PATCH] mm: remove lru_add_drain_all in alloc_contig_range
Date: Tue, 9 Feb 2021 20:03:32 +0100 [thread overview]
Message-ID: <20210209190332.GA3363@localhost.localdomain> (raw)
In-Reply-To: <accc057c-e639-7510-f722-4a4d166c80b6@redhat.com>
On Tue, Feb 09, 2021 at 07:17:59PM +0100, David Hildenbrand wrote:
> On 09.02.21 18:50, Minchan Kim wrote:
> > __alloc_contig_migrate_range already has lru_add_drain_all call
> > via migrate_prep. It's necessary to move LRU taget pages into
> > LRU list to be able to isolated. However, lru_add_drain_all call
> > after __alloc_contig_migrate_range is called is pointless.
> >
> > This patch removes it.
> >
> > Signed-off-by: Minchan Kim <minchan@kernel.org>
> > ---
> > mm/page_alloc.c | 2 --
> > 1 file changed, 2 deletions(-)
> >
> > diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> > index 6446778cbc6b..f8fbee73dd6d 100644
> > --- a/mm/page_alloc.c
> > +++ b/mm/page_alloc.c
> > @@ -8603,8 +8603,6 @@ int alloc_contig_range(unsigned long start, unsigned long end,
> > * isolated thus they won't get removed from buddy.
> > */
> > - lru_add_drain_all();
> > -
> > order = 0;
> > outer_start = start;
> > while (!PageBuddy(pfn_to_page(outer_start))) {
> >
>
> I was expecting some magical reason why this is still required but I am not
> able to find a compelling one. Maybe this is really some historical
> artifact.
>
> Let's see if other people know why this call here still exists.
I also stumbled upon this while working on adding hugetlb support for
alloc_acontig_range [1].
I have to confess I puzzled me a bit.
I saw it going back to when the function was first introduced by
commit 041d3a8cdc18dc375a128d90bbb753949a81b1fb
Author: Michal Nazarewicz <mina86@mina86.com>
Date: Thu Dec 29 13:09:50 2011 +0100
mm: page_alloc: introduce alloc_contig_range()
It does not make much sense to me. At this point our pages are free, so
we do not care about LRU handling here.
But I might be missing something.
[1] https://lore.kernel.org/linux-mm/20210208103935.GA32103@linux/T/#md651fc6e73c656105179382f92f8b2d6073051d1
--
Oscar Salvador
SUSE L3
next prev parent reply other threads:[~2021-02-09 19:03 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-09 17:50 [PATCH] mm: remove lru_add_drain_all in alloc_contig_range Minchan Kim
2021-02-09 18:17 ` David Hildenbrand
2021-02-09 19:03 ` Oscar Salvador [this message]
2021-02-10 12:17 ` Vlastimil Babka
2021-02-10 12:23 ` Michal Hocko
2021-02-10 14:27 ` Oscar Salvador
2021-02-10 15:58 ` Minchan Kim
2021-02-10 12:13 ` Vlastimil Babka
2021-02-10 14:28 ` Oscar Salvador
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=20210209190332.GA3363@localhost.localdomain \
--to=osalvador@suse.de \
--cc=akpm@linux-foundation.org \
--cc=david@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.com \
--cc=minchan@kernel.org \
--cc=vbabka@suse.cz \
/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.