[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YEiU6/5BXM7v4AOu@dhcp22.suse.cz>
Date: Wed, 10 Mar 2021 10:44:11 +0100
From: Michal Hocko <mhocko@...e.com>
To: Feng Tang <feng.tang@...el.com>
Cc: Dave Hansen <dave.hansen@...el.com>,
Ben Widawsky <ben.widawsky@...el.com>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Andrea Arcangeli <aarcange@...hat.com>,
David Rientjes <rientjes@...gle.com>,
Mel Gorman <mgorman@...hsingularity.net>,
Mike Kravetz <mike.kravetz@...cle.com>,
Randy Dunlap <rdunlap@...radead.org>,
Vlastimil Babka <vbabka@...e.cz>,
Andi Kleen <ak@...ux.intel.com>,
"Williams, Dan J" <dan.j.williams@...el.com>
Subject: Re: [PATCH v3 RFC 14/14] mm: speedup page alloc for
MPOL_PREFERRED_MANY by adding a NO_SLOWPATH gfp bit
On Wed 10-03-21 13:19:47, Feng Tang wrote:
[...]
> diff --git a/mm/mempolicy.c b/mm/mempolicy.c
> index d66c1c0..00b19f7 100644
> --- a/mm/mempolicy.c
> +++ b/mm/mempolicy.c
> @@ -2205,9 +2205,13 @@ static struct page *alloc_pages_policy(struct mempolicy *pol, gfp_t gfp,
> * | MPOL_PREFERRED_MANY (round 2) | local | NULL |
> * +-------------------------------+---------------+------------+
> */
> - if (pol->mode == MPOL_PREFERRED_MANY)
> + if (pol->mode == MPOL_PREFERRED_MANY) {
> gfp_mask |= __GFP_RETRY_MAYFAIL | __GFP_NOWARN;
>
> + /* Skip direct reclaim, as there will be a second try */
> + gfp_mask &= ~__GFP_DIRECT_RECLAIM;
__GFP_RETRY_MAYFAIL is a reclaim modifier which doesn't make any sense
without __GFP_DIRECT_RECLAIM. Also I think it would be better to have a
proper allocation flags in the initial patch which implements the
fallback.
> + }
> +
> page = __alloc_pages_nodemask(gfp_mask, order,
> policy_node(gfp, pol, preferred_nid),
> policy_nodemask(gfp, pol));
> --
> 2.7.4
>
>
--
Michal Hocko
SUSE Labs
Powered by blists - more mailing lists