From: Sidhartha Kumar <sidhartha.kumar@oracle.com>
To: John Hubbard <jhubbard@nvidia.com>,
Mike Kravetz <mike.kravetz@oracle.com>,
Matthew Wilcox <willy@infradead.org>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
akpm@linux-foundation.org, songmuchun@bytedance.com,
tsahu@linux.ibm.com, david@redhat.com
Subject: Re: [PATCH mm-unstable] mm: clarify folio_set_compound_order() zero support
Date: Thu, 8 Dec 2022 14:12:18 -0800 [thread overview]
Message-ID: <36ddac45-ecd0-e2d2-e974-8c85ca503053@oracle.com> (raw)
In-Reply-To: <e86ca90f-e59e-3851-7225-b5f596ad04b9@nvidia.com>
On 12/8/22 2:01 PM, John Hubbard wrote:
> On 12/8/22 13:58, Sidhartha Kumar wrote:
>> Thanks John, Mike, Matthew, and Muchun for the feedback.
>>
>> To summarize this discussion and outline the next version of this
>> patch, the changes I'll make include:
>>
>> 1) change the name of folio_set_compound_order() to folio_set_order()
>> 2) change the placement of this function from mm.h to mm/internal.h
>> 3) folio_set_order() will set both _folio_order and _folio_nr_pages
>> and handle the zero order case correctly.
>> 4) remove the comment about hugetlb's specific use for zero orders
>> 5) improve the style of folio_set_order() by removing ifdefs from
>> inside the function to doing
>>
>> #ifdef CONFIG_64BIT
>> static inline void folio_set_order(struct folio *folio,
>> unsigned int order)
>> {
>> VM_BUG_ON_FOLIO(!folio_test_large(folio), folio);
>
> Sounds good, except for this part: why is a function named
> folio_set_order() BUG-ing on a non-large folio? The naming
> is still wrong, perhaps?
>
This is because the _folio_nr_pages and _folio_order fields are part of
the first tail page in the folio. folio_test_large returns if the folio
is larger than one page which would be required for setting the fields.
>>
>> folio->_folio_order = order;
>> folio->_folio_nr_pages = order ? 1U << order : 0;
>> }
>> #else
>> static inline void folio_set_order(struct folio *folio,
>> unsigned int order)
>> {
>> VM_BUG_ON_FOLIO(!folio_test_large(folio), folio);
>>
>> folio->_folio_order = order;
>> }
>> #endif
>>
>> Please let me know if I missing something.
>> Thanks,
>> Sidhartha Kumar
>>> Thanks,
>>
>
> thanks,
next prev parent reply other threads:[~2022-12-08 22:12 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-07 22:37 [PATCH mm-unstable] mm: clarify folio_set_compound_order() zero support Sidhartha Kumar
2022-12-08 0:38 ` John Hubbard
2022-12-08 1:42 ` Sidhartha Kumar
2022-12-08 2:27 ` John Hubbard
2022-12-08 4:41 ` Muchun Song
2022-12-08 18:06 ` Sidhartha Kumar
2022-12-08 19:32 ` Mike Kravetz
2022-12-08 19:33 ` Matthew Wilcox
2022-12-08 19:56 ` John Hubbard
2022-12-08 20:01 ` Mike Kravetz
2022-12-08 21:58 ` Sidhartha Kumar
2022-12-08 22:01 ` John Hubbard
2022-12-08 22:12 ` Sidhartha Kumar [this message]
2022-12-08 22:14 ` John Hubbard
2022-12-08 22:33 ` Sidhartha Kumar
2022-12-08 22:39 ` John Hubbard
2022-12-09 14:27 ` Muchun Song
2022-12-09 21:10 ` John Hubbard
2022-12-09 21:20 ` John Hubbard
2022-12-14 3:00 ` Muchun Song
2022-12-08 22:04 ` Matthew Wilcox
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=36ddac45-ecd0-e2d2-e974-8c85ca503053@oracle.com \
--to=sidhartha.kumar@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=david@redhat.com \
--cc=jhubbard@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mike.kravetz@oracle.com \
--cc=songmuchun@bytedance.com \
--cc=tsahu@linux.ibm.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 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.