From: David Hildenbrand <david@redhat.com>
To: Andrew Morton <akpm@linux-foundation.org>,
Usama Arif <usamaarif642@gmail.com>
Cc: linux-mm@kvack.org, linux-fsdevel@vger.kernel.org,
corbet@lwn.net, rppt@kernel.org, surenb@google.com,
mhocko@suse.com, hannes@cmpxchg.org, baohua@kernel.org,
shakeel.butt@linux.dev, riel@surriel.com, ziy@nvidia.com,
laoar.shao@gmail.com, dev.jain@arm.com,
baolin.wang@linux.alibaba.com, npache@redhat.com,
lorenzo.stoakes@oracle.com, Liam.Howlett@oracle.com,
ryan.roberts@arm.com, vbabka@suse.cz, jannh@google.com,
Arnd Bergmann <arnd@arndb.de>,
sj@kernel.org, linux-kernel@vger.kernel.org,
linux-doc@vger.kernel.org, kernel-team@meta.com
Subject: Re: [PATCH v5 5/7] selftest/mm: Extract sz2ord function into vm_util.h
Date: Sat, 16 Aug 2025 08:24:07 +0200 [thread overview]
Message-ID: <2aaa9982-48c7-4461-8be8-1427d9ed3f3d@redhat.com> (raw)
In-Reply-To: <20250815231549.1d7ef74fc13149e07471f335@linux-foundation.org>
On 16.08.25 08:15, Andrew Morton wrote:
> On Fri, 15 Aug 2025 14:54:57 +0100 Usama Arif <usamaarif642@gmail.com> wrote:
>
>> The function already has 2 uses and will have a 3rd one
>> in prctl selftests. The pagesize argument is added into
>> the function, as it's not a global variable anymore.
>> No functional change intended with this patch.
>>
>
> https://lkml.kernel.org/r/20250816040113.760010-5-aboorvad@linux.ibm.com
> jut did this, but didn't add the extra arg.
> tools/testing/selftests/mm/split_huge_page_test.c needed updating.
>
> --- a/tools/testing/selftests/mm/cow.c~selftest-mm-extract-sz2ord-function-into-vm_utilh
> +++ a/tools/testing/selftests/mm/cow.c
> @@ -52,7 +52,7 @@ static int detect_thp_sizes(size_t sizes
> if (!pmdsize)
> return 0;
>
> - orders = 1UL << sz2ord(pmdsize);
> + orders = 1UL << sz2ord(pmdsize, pagesize);
> orders |= thp_supported_orders();
>
> for (i = 0; orders && count < max; i++) {
> @@ -1211,8 +1211,8 @@ static void run_anon_test_case(struct te
> size_t size = thpsizes[i];
> struct thp_settings settings = *thp_current_settings();
>
> - settings.hugepages[sz2ord(pmdsize)].enabled = THP_NEVER;
> - settings.hugepages[sz2ord(size)].enabled = THP_ALWAYS;
> + settings.hugepages[sz2ord(pmdsize, pagesize)].enabled = THP_NEVER;
> + settings.hugepages[sz2ord(size, pagesize)].enabled = THP_ALWAYS;
> thp_push_settings(&settings);
>
> if (size == pmdsize) {
> @@ -1863,7 +1863,7 @@ int main(void)
> if (pmdsize) {
> /* Only if THP is supported. */
> thp_read_settings(&default_settings);
> - default_settings.hugepages[sz2ord(pmdsize)].enabled = THP_INHERIT;
> + default_settings.hugepages[sz2ord(pmdsize, pagesize)].enabled = THP_INHERIT;
> thp_save_settings();
> thp_push_settings(&default_settings);
>
> --- a/tools/testing/selftests/mm/uffd-wp-mremap.c~selftest-mm-extract-sz2ord-function-into-vm_utilh
> +++ a/tools/testing/selftests/mm/uffd-wp-mremap.c
> @@ -82,9 +82,9 @@ static void *alloc_one_folio(size_t size
> struct thp_settings settings = *thp_current_settings();
>
> if (private)
> - settings.hugepages[sz2ord(size)].enabled = THP_ALWAYS;
> + settings.hugepages[sz2ord(size, pagesize)].enabled = THP_ALWAYS;
> else
> - settings.shmem_hugepages[sz2ord(size)].enabled = SHMEM_ALWAYS;
> + settings.shmem_hugepages[sz2ord(size, pagesize)].enabled = SHMEM_ALWAYS;
>
> thp_push_settings(&settings);
>
> --- a/tools/testing/selftests/mm/vm_util.h~selftest-mm-extract-sz2ord-function-into-vm_utilh
> +++ a/tools/testing/selftests/mm/vm_util.h
> @@ -127,9 +127,9 @@ static inline void log_test_result(int r
> ksft_test_result_report(result, "%s\n", test_name);
> }
>
> -static inline int sz2ord(size_t size)
> +static inline int sz2ord(size_t size, size_t pagesize)
> {
> - return __builtin_ctzll(size / getpagesize());
> + return __builtin_ctzll(size / pagesize);
> }
>
> void *sys_mremap(void *old_address, unsigned long old_size,
> --- a/tools/testing/selftests/mm/split_huge_page_test.c~selftest-mm-extract-sz2ord-function-into-vm_utilh
> +++ a/tools/testing/selftests/mm/split_huge_page_test.c
> @@ -544,7 +544,7 @@ int main(int argc, char **argv)
> ksft_exit_fail_msg("Reading PMD pagesize failed\n");
>
> nr_pages = pmd_pagesize / pagesize;
> - max_order = sz2ord(pmd_pagesize);
> + max_order = sz2ord(pmd_pagesize, pagesize);
> tests = 2 + (max_order - 1) + (2 * max_order) + (max_order - 1) * 4 + 2;
> ksft_set_plan(tests);
>
> _
>
LGTM.
--
Cheers
David / dhildenb
next prev parent reply other threads:[~2025-08-16 6:24 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-15 13:54 [PATCH v5 0/7] prctl: extend PR_SET_THP_DISABLE to only provide THPs when advised Usama Arif
2025-08-15 13:54 ` [PATCH v5 1/7] prctl: extend PR_SET_THP_DISABLE to optionally exclude VM_HUGEPAGE Usama Arif
2025-08-15 13:54 ` [PATCH v5 2/7] mm/huge_memory: convert "tva_flags" to "enum tva_type" Usama Arif
2025-08-15 13:54 ` [PATCH v5 3/7] mm/huge_memory: respect MADV_COLLAPSE with PR_THP_DISABLE_EXCEPT_ADVISED Usama Arif
2025-08-15 13:54 ` [PATCH v5 4/7] docs: transhuge: document process level THP controls Usama Arif
2025-08-15 13:54 ` [PATCH v5 5/7] selftest/mm: Extract sz2ord function into vm_util.h Usama Arif
2025-08-16 6:15 ` Andrew Morton
2025-08-16 6:24 ` David Hildenbrand [this message]
2025-08-15 13:54 ` [PATCH v5 6/7] selftests: prctl: introduce tests for disabling THPs completely Usama Arif
2025-08-18 9:36 ` David Hildenbrand
2025-08-18 10:43 ` Usama Arif
2025-08-18 10:41 ` Usama Arif
2025-09-05 17:43 ` Mark Brown
2025-09-05 17:55 ` Zi Yan
2025-09-05 18:02 ` Mark Brown
2025-09-05 19:40 ` Usama Arif
2025-09-05 19:44 ` Usama Arif
2025-08-15 13:54 ` [PATCH v5 7/7] selftests: prctl: introduce tests for disabling THPs except for madvise Usama Arif
2025-08-18 10:42 ` Usama Arif
2025-08-18 13:06 ` 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=2aaa9982-48c7-4461-8be8-1427d9ed3f3d@redhat.com \
--to=david@redhat.com \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=baohua@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=corbet@lwn.net \
--cc=dev.jain@arm.com \
--cc=hannes@cmpxchg.org \
--cc=jannh@google.com \
--cc=kernel-team@meta.com \
--cc=laoar.shao@gmail.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=mhocko@suse.com \
--cc=npache@redhat.com \
--cc=riel@surriel.com \
--cc=rppt@kernel.org \
--cc=ryan.roberts@arm.com \
--cc=shakeel.butt@linux.dev \
--cc=sj@kernel.org \
--cc=surenb@google.com \
--cc=usamaarif642@gmail.com \
--cc=vbabka@suse.cz \
--cc=ziy@nvidia.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 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).