All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Lorenzo Stoakes (ARM)" <ljs@kernel.org>
To: "David Hildenbrand (Arm)" <david@kernel.org>
Cc: Yeoreum Yun <yeoreum.yun@arm.com>,
	 "Liam R. Howlett" <liam@infradead.org>,
	Vlastimil Babka <vbabka@kernel.org>,
	 Mike Rapoport <rppt@kernel.org>,
	Suren Baghdasaryan <surenb@google.com>,
	 Michal Hocko <mhocko@suse.com>, Zi Yan <ziy@nvidia.com>,
	 Baolin Wang <baolin.wang@linux.alibaba.com>,
	Nico Pache <nico.pache@linux.dev>,
	 Ryan Roberts <ryan.roberts@arm.com>, Dev Jain <dev.jain@arm.com>,
	Barry Song <baohua@kernel.org>,
	 Lance Yang <lance.yang@linux.dev>,
	Usama Arif <usama.arif@linux.dev>,
	 Kiryl Shutsemau <kas@kernel.org>, Peter Xu <peterx@redhat.com>,
	linux-mm@kvack.org,  linux-kselftest@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	 Andrew Morton <akpm@linux-foundation.org>,
	Shuah Khan <shuah@kernel.org>, Jason Gunthorpe <jgg@ziepe.ca>,
	 Leon Romanovsky <leon@kernel.org>,
	Sarthak Sharma <sarthak.sharma@arm.com>
Subject: Re: [PATCH v3 3/3] kselftest: mm: introduce size_to_shift() helper
Date: Tue, 15 Sep 2026 10:01:58 +0100	[thread overview]
Message-ID: <aqkIQF6XcLeXSHWO@gremlin> (raw)
In-Reply-To: <c60fa1c7-ac83-4e41-9911-a426c6b42191@kernel.org>

On Mon, Sep 14, 2026 at 04:08:30PM +0200, David Hildenbrand (Arm) wrote:
> On 9/14/26 16:06, Yeoreum Yun wrote:
> > On Mon, Sep 14, 2026 at 04:01:02PM +0200, David Hildenbrand (Arm) wrote:
> >> On 9/14/26 09:30, Yeoreum Yun wrote:
> >>> Introduce size_to_shift() for future users that need to
> >>> obtain shift of a huge-page which is other than pmd_psize().
> >>>
> >>> Suggested-by: David Hildenbrand (Arm) <david@kernel.org>
> >>> Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com>
> >>> ---
> >>>  tools/testing/selftests/mm/vm_util.c | 10 +++++++++-
> >>>  tools/testing/selftests/mm/vm_util.h |  1 +
> >>>  2 files changed, 10 insertions(+), 1 deletion(-)
> >>>
> >>> diff --git a/tools/testing/selftests/mm/vm_util.c b/tools/testing/selftests/mm/vm_util.c
> >>> index fd1432dc6152..1fef1266429f 100644
> >>> --- a/tools/testing/selftests/mm/vm_util.c
> >>> +++ b/tools/testing/selftests/mm/vm_util.c
> >>> @@ -157,6 +157,14 @@ bool check_for_pattern(FILE *fp, const char *pattern, char *buf, size_t len)
> >>>  	return false;
> >>>  }
> >>>

Probably worth a comment here saying it's only for power-of-two sizes.

> >>> +uint64_t size_to_shift(uint64_t size)
> >>> +{
> >>> +	if (__builtin_popcountll(size) != 1)

I wonder if it wouldn't be better to just do the old trick of:

	if (!size || (size & (size - 1)))
		return 0;

?

> >>> +		return 0;
> >>> +
> >>> +	return ffsl(size) - 1;
> >>> +}
> >>
> >> Could likely just be an inline helper?
> >
> > Okay. If there is no comments on today, I'll post tomorrow with this.
> >
>
> No need to rush, leave some more days for people to catch up.

Agree with David seems better as an inline thing, the __builtin_xxx() should
be... built-in hopefully :P though I suggest something that wouldn't need that.

As long as strings.h is included in the header ofc for ffsl().

With the stuff above addressed, seems fine to me so:

Reviewed-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>

>
> --
> Cheers,
>
> David

--
Cheers, Lorenzo

  reply	other threads:[~2026-09-15  9:02 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-14  7:30 [PATCH v3 0/3] kselftest: mm: remove HPAGE_SIZE and HPAGE_SHIFT macro Yeoreum Yun
2026-09-14  7:30 ` [PATCH v3 1/3] kselftest: mm: rename read_pmd_pagesize() to pmd_psize() Yeoreum Yun
2026-09-14 13:59   ` David Hildenbrand (Arm)
2026-09-15  2:14   ` Zi Yan
2026-09-15  8:54   ` Lorenzo Stoakes (ARM)
2026-09-14  7:30 ` [PATCH v3 2/3] kselftest: mm: remove HPAGE_SIZE and HPAGE_SHIFT macro Yeoreum Yun
2026-09-14 14:08   ` David Hildenbrand (Arm)
2026-09-14 16:46     ` Yeoreum Yun
2026-09-15  2:26   ` Zi Yan
2026-09-15  9:39     ` Yeoreum Yun
2026-09-14  7:30 ` [PATCH v3 3/3] kselftest: mm: introduce size_to_shift() helper Yeoreum Yun
2026-09-14 14:01   ` David Hildenbrand (Arm)
2026-09-14 14:06     ` Yeoreum Yun
2026-09-14 14:08       ` David Hildenbrand (Arm)
2026-09-15  9:01         ` Lorenzo Stoakes (ARM) [this message]
2026-09-15  9:47           ` Yeoreum Yun

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=aqkIQF6XcLeXSHWO@gremlin \
    --to=ljs@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=baohua@kernel.org \
    --cc=baolin.wang@linux.alibaba.com \
    --cc=david@kernel.org \
    --cc=dev.jain@arm.com \
    --cc=jgg@ziepe.ca \
    --cc=kas@kernel.org \
    --cc=lance.yang@linux.dev \
    --cc=leon@kernel.org \
    --cc=liam@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@suse.com \
    --cc=nico.pache@linux.dev \
    --cc=peterx@redhat.com \
    --cc=rppt@kernel.org \
    --cc=ryan.roberts@arm.com \
    --cc=sarthak.sharma@arm.com \
    --cc=shuah@kernel.org \
    --cc=surenb@google.com \
    --cc=usama.arif@linux.dev \
    --cc=vbabka@kernel.org \
    --cc=yeoreum.yun@arm.com \
    --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 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.