From: Mike Rapoport <rppt@kernel.org>
To: Pasha Tatashin <pasha.tatashin@soleen.com>
Cc: linux-kselftest@vger.kernel.org, shuah@kernel.org,
akpm@linux-foundation.org, linux-mm@kvack.org,
skhan@linuxfoundation.org, linux-doc@vger.kernel.org,
jasonmiu@google.com, linux-kernel@vger.kernel.org,
corbet@lwn.net, ran.xiaokai@zte.com.cn,
kexec@lists.infradead.org, pratyush@kernel.org, graf@amazon.com,
rppt@kernel.org
Subject: Re: [RFC v1 0/9] kho: granular compatibility and header decoupling
Date: Mon, 8 Jun 2026 21:11:49 +0300 [thread overview]
Message-ID: <aicF5Sa11B4ujfSa@kernel.org> (raw)
In-Reply-To: <aibYJvzQQnpoN6YW@plex>
On Mon, Jun 08, 2026 at 04:12:56PM +0000, Pasha Tatashin wrote:
> On 06-08 13:26, Mike Rapoport wrote:
> > On 2026-06-07 13:43:09+00:00, Pasha Tatashin wrote:
>
> Keeping all of that in a single KHO file is the wrong approach and goes
> against how other logically separated subsystems in Linux are organized
> (e.g., mm/vmap.c, mm/vmalloc.c, etc.). Yes, there are some messier
> places in the kernel as well, but keeping this in its own dedicated
> kho_vmalloc.c file makes complete sense to me.
Either I hallucinated or b4 ate a paragraph from my reply ;)
Regarding the code movement
- splitting radix tree makes perfect sense to me, just the documentation
part needs more care than mechanical move
- I'm fine with abi/vmalloc.h, presuming KHOSER_PTR() is not part of it
- I can live with kho_vmalloc.c although I still consider it unnecessary
churn
- I'm against moving vmalloc APIs from kexec_handover.h because they are
very close in nature to folio and pages. I don't see core KHO as
responsible for preserving physically contiguous ranges but rather as
preserving allocations. Not sure we'll ever support kmalloc(), but still.
> However, overall enforcing the use of KHOSER is unrelated to this work.
> I have my own thoughts on this, and perhaps with proper versioning,
> using KHOSER_PTR everywhere would be appropriate, but let's keep that as
> a separate work.
This is a separate work, indeed. But regardless of the versioning it's
already better than plain u64 because it provides type safety.
> > Actually FDT "compatible" handles versioning nicer than composite strings
> > You can have
> >
> > compatible="kho-v4", "vmalloc-v1", "radix-v1", "block-v2";
> >
> > and check fdt_node_check_compatible("vmalloc-v1") for vmalloc and
> > fdt_node_check_compatible("block-v2") for block.
>
> That is actually very similar to what I am proposing—individual version
> tokens (which in my current series are concatenated into a composite
> compatibility string separated by ';').
Yes, you reinvented the wheel :-P
The difference between FDT-compatible and the composite strings is that the
strings are all or nothing while FDT is "any of".
But that's only a side note, we're not going to use fdt-compatible.
> But let's not get too fixated on the composite string formatting. I
> actually really like what you are proposing: using integers for versions
> and having each registered component carry its own "NAME" and version
> number in the KHO FDT.
Yeah, something like that.
> Pasha
--
Sincerely yours,
Mike.
next prev parent reply other threads:[~2026-06-08 18:12 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-05 3:32 [RFC v1 0/9] kho: granular compatibility and header decoupling Pasha Tatashin
2026-06-05 3:32 ` [RFC v1 1/9] kho: split out radix tree tracker into kho_radix.c Pasha Tatashin
2026-06-07 11:58 ` Mike Rapoport
2026-06-07 16:20 ` Pasha Tatashin
2026-06-07 17:59 ` Mike Rapoport
2026-06-08 14:56 ` Pasha Tatashin
2026-06-05 3:32 ` [RFC v1 2/9] kho: split radix tree headers out of kexec_handover.h Pasha Tatashin
2026-06-05 3:32 ` [RFC v1 3/9] kho: split out vmalloc preservation into kho_vmalloc.c Pasha Tatashin
2026-06-05 3:32 ` [RFC v1 4/9] kho: split vmalloc headers out of kexec_handover.h Pasha Tatashin
2026-06-05 3:32 ` [RFC v1 5/9] kho: move kho_block.h to kho/block.h Pasha Tatashin
2026-06-05 3:32 ` [RFC v1 6/9] kho: introduce compatibility helpers and decouple block version Pasha Tatashin
2026-06-05 3:32 ` [RFC v1 7/9] kho: decouple radix tree compatibility from global KHO version Pasha Tatashin
2026-06-05 3:32 ` [RFC v1 8/9] kho: decouple vmalloc compatibility from global KHO version and update memfd Pasha Tatashin
2026-06-05 3:32 ` [RFC v1 9/9] liveupdate: add KUnit test to verify alphabetical order of compatibility strings Pasha Tatashin
2026-06-07 11:58 ` [RFC v1 0/9] kho: granular compatibility and header decoupling Mike Rapoport
2026-06-07 13:43 ` Pasha Tatashin
2026-06-08 10:26 ` Mike Rapoport
2026-06-08 16:12 ` Pasha Tatashin
2026-06-08 18:11 ` Mike Rapoport [this message]
2026-06-09 1:14 ` Pasha Tatashin
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=aicF5Sa11B4ujfSa@kernel.org \
--to=rppt@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=corbet@lwn.net \
--cc=graf@amazon.com \
--cc=jasonmiu@google.com \
--cc=kexec@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=pasha.tatashin@soleen.com \
--cc=pratyush@kernel.org \
--cc=ran.xiaokai@zte.com.cn \
--cc=shuah@kernel.org \
--cc=skhan@linuxfoundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox