From: Mike Rapoport <rppt@kernel.org>
To: Vincent Donnefort <vdonnefort@google.com>
Cc: catalin.marinas@arm.com, will@kernel.org,
akpm@linux-foundation.org, sudeep.holla@kernel.org,
jenswi@kernel.org, robh@kernel.org, mark.rutland@arm.com,
sumit.garg@kernel.org, ardb@kernel.org,
thierry.reding@kernel.org, david@kernel.org,
danielmentz@google.com, linux-arm-kernel@lists.infradead.org,
linux-mm@kvack.org, op-tee@lists.trustedfirmware.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/8] memblock: Introduce MEMBLOCK_PTEMAP
Date: Wed, 28 Oct 2026 19:08:50 +0200 [thread overview]
Message-ID: <auIsIp-nKJokYmry@kernel.org> (raw)
In-Reply-To: <20260921110050.3977591-2-vdonnefort@google.com>
On Mon, Sep 21, 2026 at 12:00:43PM +0100, Vincent Donnefort wrote:
> Keeping PTE-level mappings is interesting on some architectures as it
> allows mapping/unmapping pages from the kernel direct map without the
> risk of splitting blocks which, under the break-before-make rule, may
> trigger page-faults the kernel can't handle.
Let's be honest, it's arm64 :)
I believe that some powerpc variants could use this too, but they don't
have break-before-make, so either "some architectures" or
"break-before-make" should be rephrased.
> However, mapping the entire direct map at PTE-level is costly. So
> instead, create a new memblock flag MEMBLOCK_PTEMAP to selectively apply
> a PTE-level mapping.
>
> Signed-off-by: Vincent Donnefort <vdonnefort@google.com>
> ---
> include/linux/memblock.h | 18 ++++++++++++++++++
> mm/memblock.c | 30 ++++++++++++++++++++++++++++++
> 2 files changed, 48 insertions(+)
>
> diff --git a/include/linux/memblock.h b/include/linux/memblock.h
> index aa845f488327..13263055996d 100644
> --- a/include/linux/memblock.h
> +++ b/include/linux/memblock.h
...
> @@ -285,8 +289,16 @@ static inline bool memblock_is_mirror(struct memblock_region *m)
> return m->flags & MEMBLOCK_MIRROR;
> }
>
> +static inline void memblock_warn_invalid_map_flags(struct memblock_region *m)
> +{
> + enum memblock_flags map_flags = MEMBLOCK_NOMAP | MEMBLOCK_PTEMAP;
> +
> + WARN_ON_ONCE((m->flags & map_flags) == map_flags);
> +}
> +
> static inline bool memblock_is_nomap(struct memblock_region *m)
> {
> + memblock_warn_invalid_map_flags(m);
I think it's better to check and warn when setting an incompatible flag
rather than when querying it.
> return m->flags & MEMBLOCK_NOMAP;
> }
--
Sincerely yours,
Mike.
WARNING: multiple messages have this Message-ID (diff)
From: Mike Rapoport via OP-TEE <op-tee@lists.trustedfirmware.org>
To: Vincent Donnefort <vdonnefort@google.com>
Cc: catalin.marinas@arm.com, will@kernel.org,
akpm@linux-foundation.org, sudeep.holla@kernel.org,
jenswi@kernel.org, robh@kernel.org, mark.rutland@arm.com,
sumit.garg@kernel.org, ardb@kernel.org,
thierry.reding@kernel.org, david@kernel.org,
danielmentz@google.com, linux-arm-kernel@lists.infradead.org,
linux-mm@kvack.org, op-tee@lists.trustedfirmware.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/8] memblock: Introduce MEMBLOCK_PTEMAP
Date: Wed, 28 Oct 2026 19:08:50 +0200 [thread overview]
Message-ID: <auIsIp-nKJokYmry@kernel.org> (raw)
In-Reply-To: <20260921110050.3977591-2-vdonnefort@google.com>
On Mon, Sep 21, 2026 at 12:00:43PM +0100, Vincent Donnefort wrote:
> Keeping PTE-level mappings is interesting on some architectures as it
> allows mapping/unmapping pages from the kernel direct map without the
> risk of splitting blocks which, under the break-before-make rule, may
> trigger page-faults the kernel can't handle.
Let's be honest, it's arm64 :)
I believe that some powerpc variants could use this too, but they don't
have break-before-make, so either "some architectures" or
"break-before-make" should be rephrased.
> However, mapping the entire direct map at PTE-level is costly. So
> instead, create a new memblock flag MEMBLOCK_PTEMAP to selectively apply
> a PTE-level mapping.
>
> Signed-off-by: Vincent Donnefort <vdonnefort@google.com>
> ---
> include/linux/memblock.h | 18 ++++++++++++++++++
> mm/memblock.c | 30 ++++++++++++++++++++++++++++++
> 2 files changed, 48 insertions(+)
>
> diff --git a/include/linux/memblock.h b/include/linux/memblock.h
> index aa845f488327..13263055996d 100644
> --- a/include/linux/memblock.h
> +++ b/include/linux/memblock.h
...
> @@ -285,8 +289,16 @@ static inline bool memblock_is_mirror(struct memblock_region *m)
> return m->flags & MEMBLOCK_MIRROR;
> }
>
> +static inline void memblock_warn_invalid_map_flags(struct memblock_region *m)
> +{
> + enum memblock_flags map_flags = MEMBLOCK_NOMAP | MEMBLOCK_PTEMAP;
> +
> + WARN_ON_ONCE((m->flags & map_flags) == map_flags);
> +}
> +
> static inline bool memblock_is_nomap(struct memblock_region *m)
> {
> + memblock_warn_invalid_map_flags(m);
I think it's better to check and warn when setting an incompatible flag
rather than when querying it.
> return m->flags & MEMBLOCK_NOMAP;
> }
--
Sincerely yours,
Mike.
next prev parent reply other threads:[~2026-10-28 17:09 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-21 11:00 [PATCH v2 0/8] arm64: Unmap FF-A lent memory from direct map Vincent Donnefort
2026-09-21 11:00 ` Vincent Donnefort via OP-TEE
2026-09-21 11:00 ` [PATCH v2 1/8] memblock: Introduce MEMBLOCK_PTEMAP Vincent Donnefort
2026-09-21 11:00 ` Vincent Donnefort via OP-TEE
2026-10-28 17:08 ` Mike Rapoport [this message]
2026-10-28 17:08 ` Mike Rapoport via OP-TEE
2026-09-21 11:00 ` [PATCH v2 2/8] arm64: Introduce can_set_direct_map_range() Vincent Donnefort
2026-09-21 11:00 ` Vincent Donnefort via OP-TEE
2026-09-21 11:00 ` [PATCH v2 3/8] arm64: Introduce __set_direct_map*() Vincent Donnefort
2026-09-21 11:00 ` Vincent Donnefort via OP-TEE
2026-09-21 11:00 ` [PATCH v2 4/8] arm64: Add support for MEMBLOCK_PTEMAP Vincent Donnefort
2026-09-21 11:00 ` Vincent Donnefort via OP-TEE
2026-09-21 11:00 ` [PATCH v2 5/8] firmware: arm_ffa: Introduce ffa-lend-pool Vincent Donnefort
2026-09-21 11:00 ` Vincent Donnefort via OP-TEE
2026-09-21 11:48 ` sashiko-bot
2026-09-21 11:00 ` [PATCH v2 6/8] optee: Add support for arm,ffa-lend-pool Vincent Donnefort
2026-09-21 11:00 ` Vincent Donnefort via OP-TEE
2026-09-21 12:04 ` sashiko-bot
2026-09-21 11:00 ` [PATCH v2 7/8] dt-bindings: reserved-memory: Add Arm FF-A lend pool Vincent Donnefort
2026-09-21 11:00 ` Vincent Donnefort via OP-TEE
2026-09-21 15:20 ` Rob Herring (Arm)
2026-09-21 15:20 ` Rob Herring (Arm) via OP-TEE
2026-09-21 11:00 ` [PATCH v2 8/8] dt-bindings: firmware: optee: Add memory-region property Vincent Donnefort
2026-09-21 11:00 ` Vincent Donnefort via OP-TEE
2026-09-22 5:57 ` [PATCH v2 0/8] arm64: Unmap FF-A lent memory from direct map Sumit Garg
2026-09-22 5:57 ` Sumit Garg via OP-TEE
2026-09-22 10:57 ` Thierry Reding
2026-09-22 10:57 ` Thierry Reding via OP-TEE
2026-09-22 14:55 ` Will Deacon
2026-09-22 14:55 ` Will Deacon via OP-TEE
2026-09-26 12:13 ` Sumit Garg
2026-09-26 12:13 ` Sumit Garg via OP-TEE
2026-09-29 11:33 ` Will Deacon
2026-09-29 11:33 ` Will Deacon via OP-TEE
2026-10-01 12:34 ` Sumit Garg
2026-10-01 12:34 ` Sumit Garg via OP-TEE
2026-10-05 10:48 ` Vincent Donnefort
2026-10-05 10:48 ` Vincent Donnefort via OP-TEE
2026-10-05 11:02 ` Vincent Donnefort
2026-10-05 11:02 ` Vincent Donnefort via OP-TEE
2026-10-12 13:16 ` Sumit Garg
2026-10-12 13:16 ` Sumit Garg via OP-TEE
2026-10-13 9:37 ` Vincent Donnefort via OP-TEE
2026-10-13 9:37 ` Vincent Donnefort
2026-10-13 9:56 ` Sumit Garg
2026-10-13 9:56 ` Sumit Garg via OP-TEE
2026-10-28 14:50 ` Vincent Donnefort
2026-10-28 14:50 ` Vincent Donnefort via OP-TEE
2026-10-30 6:30 ` Sumit Garg
2026-10-30 6:30 ` Sumit Garg via OP-TEE
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=auIsIp-nKJokYmry@kernel.org \
--to=rppt@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=ardb@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=danielmentz@google.com \
--cc=david@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jenswi@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mark.rutland@arm.com \
--cc=op-tee@lists.trustedfirmware.org \
--cc=robh@kernel.org \
--cc=sudeep.holla@kernel.org \
--cc=sumit.garg@kernel.org \
--cc=thierry.reding@kernel.org \
--cc=vdonnefort@google.com \
--cc=will@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.