From: Oscar Salvador <osalvador@suse.de>
To: Michal Hocko <mhocko@suse.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Mike Kravetz <mike.kravetz@oracle.com>,
David Hildenbrand <david@redhat.com>,
Muchun Song <songmuchun@bytedance.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 2/2] mm: Make alloc_contig_range handle in-use hugetlb pages
Date: Sun, 28 Feb 2021 14:43:40 +0100 [thread overview]
Message-ID: <20210228134340.GA3292@localhost.localdomain> (raw)
In-Reply-To: <YDjtnWxYoysUtSKs@dhcp22.suse.cz>
On Fri, Feb 26, 2021 at 01:46:21PM +0100, Michal Hocko wrote:
> Well, I will leave it to others. I do not feel strongly about this but
> to me it makes the code harder to think about because the situation is
> unstable and any of those condition can change as they are evaluated. So
> an explicit checks makes the code harder in the end. I would simply got
> with
> if (isolate_huge_page(head, list) || !alloc_and_dissolve_huge_page())
> ret = true;
>
> if either of the conditional needs a retry then it should be done
> internally. Like alloc_and_dissolve_huge_page already does to stabilize
> the PageFreed flag. An early bail out on non-free hugetlb page would
> also better be done inside alloc_and_dissolve_huge_page.
The retry could be done internally in alloc_and_dissolve_huge_page in
case someoen grabbed the page from under us, but calling
isolate_huge_page from there seemed a bit odd to me, that is why I
placed the logic in the outter function.
It looks more logic to me, but of course, that is just my taste.
I do not think it makes the code that hard to follow, but I will leave
it to the others.
If there is a consensus that a simplistic version is prefered, I do not
have a problem to go with that.
Mike, what is your take on this?
Thanks
--
Oscar Salvador
SUSE L3
next prev parent reply other threads:[~2021-02-28 13:43 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-22 13:51 [PATCH v3 0/2] Make alloc_contig_range handle Hugetlb pages Oscar Salvador
2021-02-22 13:51 ` [PATCH v3 1/2] mm: Make alloc_contig_range handle free hugetlb pages Oscar Salvador
2021-02-25 20:03 ` Mike Kravetz
2021-02-26 9:48 ` Oscar Salvador
2021-02-26 8:35 ` Michal Hocko
2021-02-26 8:38 ` Michal Hocko
2021-02-26 9:25 ` David Hildenbrand
2021-02-26 9:47 ` Oscar Salvador
2021-02-26 9:45 ` Oscar Salvador
2021-02-26 9:51 ` Michal Hocko
2021-03-01 14:09 ` David Hildenbrand
2021-03-04 10:19 ` Oscar Salvador
2021-03-04 10:32 ` David Hildenbrand
2021-03-04 10:41 ` Oscar Salvador
2021-02-22 13:51 ` [PATCH v3 2/2] mm: Make alloc_contig_range handle in-use " Oscar Salvador
2021-02-25 23:05 ` Mike Kravetz
2021-02-26 8:46 ` Michal Hocko
2021-02-26 10:24 ` Oscar Salvador
2021-02-26 10:27 ` Oscar Salvador
2021-02-26 12:46 ` Michal Hocko
2021-02-28 13:43 ` Oscar Salvador [this message]
2021-03-05 17:30 ` David Hildenbrand
2021-03-01 12:43 ` [PATCH v3 0/2] Make alloc_contig_range handle Hugetlb pages David Hildenbrand
2021-03-01 12:57 ` Oscar Salvador
2021-03-01 12:59 ` David Hildenbrand
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=20210228134340.GA3292@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=mike.kravetz@oracle.com \
--cc=songmuchun@bytedance.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 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.