linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vlastimil Babka <vbabka@suse.cz>
To: Oscar Salvador <osalvador@suse.de>, 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>
Subject: Re: [PATCH] mm: remove lru_add_drain_all in alloc_contig_range
Date: Wed, 10 Feb 2021 13:17:33 +0100	[thread overview]
Message-ID: <49491777-6d61-db4d-5e90-7a8b9045faca@suse.cz> (raw)
In-Reply-To: <20210209190332.GA3363@localhost.localdomain>

On 2/9/21 8:03 PM, Oscar Salvador wrote:
> On Tue, Feb 09, 2021 at 07:17:59PM +0100, David Hildenbrand wrote:
>> 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.

AFAICS, at the time page migration used putback_lru_page() to release the
migration source page. This would put the page on lru pvec even if it was in
fact not mapped anywhere anymore, and only the drain would actually free it.
Seems Minchan optimized this in 2016 by c6c919eb90e0 ("mm: use put_page() to
free page instead of putback_lru_page()")

> [1] https://lore.kernel.org/linux-mm/20210208103935.GA32103@linux/T/#md651fc6e73c656105179382f92f8b2d6073051d1
> 
> 


  reply	other threads:[~2021-02-10 12:22 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
2021-02-10 12:17     ` Vlastimil Babka [this message]
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=49491777-6d61-db4d-5e90-7a8b9045faca@suse.cz \
    --to=vbabka@suse.cz \
    --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=osalvador@suse.de \
    /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;
as well as URLs for NNTP newsgroup(s).