From: Ankur Arora <ankur.a.arora@oracle.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: "David Hildenbrand (arm)" <david@kernel.org>,
Ankur Arora <ankur.a.arora@oracle.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org,
bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com,
mingo@redhat.com, mjguzik@gmail.com, luto@kernel.org,
peterz@infradead.org, tglx@linutronix.de, willy@infradead.org,
raghavendra.kt@amd.com, chleroy@kernel.org, ioworker0@gmail.com,
lizhe.67@bytedance.com, boris.ostrovsky@oracle.com,
konrad.wilk@oracle.com, kernel test robot <lkp@intel.com>
Subject: Re: [PATCH v2] mm: folio_zero_user: open code range computation in folio_zero_user()
Date: Wed, 04 Feb 2026 21:48:29 -0800 [thread overview]
Message-ID: <87a4xneo5u.fsf@oracle.com> (raw)
In-Reply-To: <20260204143116.968730e769500aea281809bb@linux-foundation.org>
Andrew Morton <akpm@linux-foundation.org> writes:
> On Wed, 4 Feb 2026 22:01:42 +0100 "David Hildenbrand (arm)" <david@kernel.org> wrote:
>
>> > As David pointed out, the previous open coded version makes a few
>> > unnecessary changes. Could you queue this one instead?
>> >
>>
>> I'm late, maybe this is already upstream.
>
> It's in mm-unstable. The second round of MM upstreaming is two weeks hence.
>
>> >
>> > /* Region to the left of the fault */
>> > - r[1] = DEFINE_RANGE(pg.start,
>> > - clamp_t(s64, r[2].start - 1, pg.start - 1, r[2].start));
>> > + r[1] = DEFINE_RANGE(pg.start, r[2].start - 1);
>> >
>> > /* Region to the right of the fault: always valid for the common fault_idx=0 case. */
>> > - r[0] = DEFINE_RANGE(clamp_t(s64, r[2].end + 1, r[2].end, pg.end + 1),
>> > - pg.end);
>> > + r[0] = DEFINE_RANGE(r[2].end + 1, pg.end);
>>
>> TBH, without the clamp that looks much more readable here.
>
> me too.
>
>> >
>> > for (i = 0; i < ARRAY_SIZE(r); i++) {
>> > const unsigned long addr = base_addr + r[i].start * PAGE_SIZE;
>> > - const unsigned int nr_pages = range_len(&r[i]);
>> > + const long nr_pages = (long)range_len(&r[i]);
>> > struct page *page = folio_page(folio, r[i].start);
>> >
>> > if (nr_pages > 0)
>> > - clear_contig_highpages(page, addr, nr_pages);
>> > + clear_contig_highpages(page, addr, (unsigned int)nr_pages);
>>
>> Is that cast really required?
>
> Seems not. The types for nr_pages are a bit chaotic - u64->long->uint.
Yes agreed.
The first u64 is because currently struct range only supports that.
Then the cast to signed long is because the range can be negative
and the clear_contig_highpages() is only done if nr_pages > 0.
And, the third one is almost certainly unnecessary for any realistic
hugepage size but since nr_pages is being truncating, I wanted that
to be explicit.
--
ankur
next prev parent reply other threads:[~2026-02-05 5:49 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-07 7:20 [PATCH v11 0/8] mm: folio_zero_user: clear page ranges Ankur Arora
2026-01-07 7:20 ` [PATCH v11 1/8] treewide: provide a generic clear_user_page() variant Ankur Arora
2026-01-07 7:20 ` [PATCH v11 2/8] mm: introduce clear_pages() and clear_user_pages() Ankur Arora
2026-01-07 22:06 ` David Hildenbrand (Red Hat)
2026-01-07 7:20 ` [PATCH v11 3/8] highmem: introduce clear_user_highpages() Ankur Arora
2026-01-07 22:08 ` David Hildenbrand (Red Hat)
2026-01-08 6:10 ` Ankur Arora
2026-01-07 7:20 ` [PATCH v11 4/8] x86/mm: Simplify clear_page_* Ankur Arora
2026-01-07 7:20 ` [PATCH v11 5/8] x86/clear_page: Introduce clear_pages() Ankur Arora
2026-01-07 7:20 ` [PATCH v11 6/8] mm: folio_zero_user: clear pages sequentially Ankur Arora
2026-01-07 22:10 ` David Hildenbrand (Red Hat)
2026-01-07 7:20 ` [PATCH v11 7/8] mm: folio_zero_user: clear page ranges Ankur Arora
2026-01-07 22:16 ` David Hildenbrand (Red Hat)
2026-01-08 0:44 ` Ankur Arora
2026-01-08 0:43 ` [PATCH] mm: folio_zero_user: (fixup) cache neighbouring pages Ankur Arora
2026-01-08 0:53 ` Ankur Arora
2026-01-08 6:04 ` [PATCH] mm: folio_zero_user: (fixup) cache page ranges Ankur Arora
2026-01-07 7:20 ` [PATCH v11 8/8] mm: folio_zero_user: cache neighbouring pages Ankur Arora
2026-01-07 22:18 ` David Hildenbrand (Red Hat)
2026-01-26 18:32 ` [PATCH] mm: folio_zero_user: open code range computation in folio_zero_user() Ankur Arora
2026-01-26 19:05 ` Andrew Morton
2026-01-27 10:29 ` David Hildenbrand (Red Hat)
2026-01-27 23:42 ` Ankur Arora
2026-01-28 11:05 ` David Hildenbrand (Red Hat)
2026-01-28 18:59 ` [PATCH v2] " Ankur Arora
2026-02-04 21:01 ` David Hildenbrand (arm)
2026-02-04 22:31 ` Andrew Morton
2026-02-05 5:48 ` Ankur Arora [this message]
2026-02-05 12:36 ` David Hildenbrand (Arm)
2026-02-06 5:42 ` Ankur Arora
2026-02-06 8:57 ` David Hildenbrand (Arm)
2026-02-06 22:38 ` [PATCH v3] " Ankur Arora
2026-02-07 10:10 ` David Hildenbrand (Arm)
2026-02-09 1:09 ` Ankur Arora
2026-01-07 18:09 ` [PATCH v11 0/8] mm: folio_zero_user: clear page ranges Andrew Morton
2026-01-08 6:21 ` Ankur Arora
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=87a4xneo5u.fsf@oracle.com \
--to=ankur.a.arora@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=boris.ostrovsky@oracle.com \
--cc=bp@alien8.de \
--cc=chleroy@kernel.org \
--cc=dave.hansen@linux.intel.com \
--cc=david@kernel.org \
--cc=hpa@zytor.com \
--cc=ioworker0@gmail.com \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lizhe.67@bytedance.com \
--cc=lkp@intel.com \
--cc=luto@kernel.org \
--cc=mingo@redhat.com \
--cc=mjguzik@gmail.com \
--cc=peterz@infradead.org \
--cc=raghavendra.kt@amd.com \
--cc=tglx@linutronix.de \
--cc=willy@infradead.org \
--cc=x86@kernel.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.