From: Aruna Ramakrishna <aruna.ramakrishna@oracle.com>
To: Kefeng Wang <wangkefeng.wang@huawei.com>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>,
Matthew Wilcox <willy@infradead.org>
Subject: Re: [PATCH 1/4] mm/mempolicy: Use folio_alloc_mpol_noprof() in alloc_pages_noprof()
Date: Tue, 20 Aug 2024 17:58:29 +0000 [thread overview]
Message-ID: <2A08F935-009B-4085-BB93-18B5F66F74A5@oracle.com> (raw)
In-Reply-To: <a996e71e-9dd4-47e4-b493-d2b7a7ac6a2a@huawei.com>
> On Aug 6, 2024, at 1:05 AM, Kefeng Wang <wangkefeng.wang@huawei.com> wrote:
>
>
>
> On 2024/8/6 0:31, Aruna Ramakrishna wrote:
>> Convert alloc_pages_noprof() to use folio_alloc_mpol_noprof() so that
>> alloc_pages_mpol(_noprof)() can be removed in a future commit.
>> Signed-off-by: Aruna Ramakrishna <aruna.ramakrishna@oracle.com>
>> ---
>> mm/mempolicy.c | 7 +++++--
>> 1 file changed, 5 insertions(+), 2 deletions(-)
>> diff --git a/mm/mempolicy.c b/mm/mempolicy.c
>> index b3b5f376471f..2d367ef15d0f 100644
>> --- a/mm/mempolicy.c
>> +++ b/mm/mempolicy.c
>> @@ -2332,6 +2332,7 @@ EXPORT_SYMBOL(vma_alloc_folio_noprof);
>> struct page *alloc_pages_noprof(gfp_t gfp, unsigned int order)
>> {
>> struct mempolicy *pol = &default_policy;
>> + struct folio *folio;
>> /*
>> * No reference counting needed for current->mempolicy
>> @@ -2340,8 +2341,10 @@ struct page *alloc_pages_noprof(gfp_t gfp, unsigned int order)
>> if (!in_interrupt() && !(gfp & __GFP_THISNODE))
>> pol = get_task_policy(current);
>> - return alloc_pages_mpol_noprof(gfp, order, pol, NO_INTERLEAVE_INDEX,
>> - numa_node_id());
>> + folio = folio_alloc_mpol_noprof(gfp, order, pol, NO_INTERLEAVE_INDEX,
>> + numa_node_id());
>
> We have __GFP_COMP in folio_alloc_mpol_noprof and set large_rmappable
> for large folio, not sure that there is some issue for alloc_pages()
> callers.
>
Hi Kefeng,
You’re right, this will force all callers of alloc_pages() to use __GFP_COMP which,
at this point, seems risky to do. I was trying to find a way to separate out the compound
page users from the non-, but it makes things too complicated. I do not think it is possible
to convert alloc_pages_noprof() to folios at this point, without addressing that first.
Thank you for catching that.
Thanks,
Aruna
prev parent reply other threads:[~2024-08-20 17:58 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-05 16:31 Aruna Ramakrishna
2024-08-05 16:31 ` [PATCH 2/4] mm/mempolicy: Make alloc_pages_mpol_noprof() static Aruna Ramakrishna
2024-08-05 16:31 ` [PATCH 3/4] mm/mempolicy: Remove alloc_pages_mpol_noprof() Aruna Ramakrishna
2024-08-05 16:31 ` [PATCH 4/4] mm/mempolicy: Convert alloc_pages_preferred_many() to return a folio Aruna Ramakrishna
2024-08-06 8:05 ` [PATCH 1/4] mm/mempolicy: Use folio_alloc_mpol_noprof() in alloc_pages_noprof() Kefeng Wang
2024-08-20 17:58 ` Aruna Ramakrishna [this message]
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=2A08F935-009B-4085-BB93-18B5F66F74A5@oracle.com \
--to=aruna.ramakrishna@oracle.com \
--cc=linux-mm@kvack.org \
--cc=wangkefeng.wang@huawei.com \
--cc=willy@infradead.org \
/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