From: Pratyush Yadav <pratyush@kernel.org>
To: Pasha Tatashin <pasha.tatashin@soleen.com>
Cc: Mike Rapoport <rppt@kernel.org>,
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
Subject: Re: [RFC v1 0/9] kho: granular compatibility and header decoupling
Date: Tue, 09 Jun 2026 16:33:28 +0200 [thread overview]
Message-ID: <2vxzjys7ss07.fsf@kernel.org> (raw)
In-Reply-To: <aidnjw5pH_z45gJT@plex> (Pasha Tatashin's message of "Tue, 9 Jun 2026 01:14:53 +0000")
On Tue, Jun 09 2026, Pasha Tatashin wrote:
> On 06-08 21:11, Mike Rapoport wrote:
>> 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
+1, separating radix and KHO block makes sense.
>
> Agreed. I'll also pay closer attention to the documentation.
>
>> - I'm fine with abi/vmalloc.h, presuming KHOSER_PTR() is not part of it
>
> Yes, I will move KHOSER_PTR() to the shared compat.h in v2 so it's not
> tied to vmalloc.
>
>> - I can live with kho_vmalloc.c although I still consider it unnecessary
>> churn
>
> Appreciate it.
>
>> - 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.
FWIW, I agree with Mike here. I also see kho_preserve_vmalloc() as a
memory preservation primitive, same as kho_preserve_folio() or
kho_preserve_pages(). So I think it belongs in the main KHO header.
I also think it would also be nice to have vmalloc in kexec_handover.c,
but I can live with either way.
>
> That is a very reasonable compromise. I am fine with keeping the
> consumer-facing function declarations in kexec_handover.h so they remain
> grouped with folios and pages.
>
>> > 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.
It would be even nicer to have some sort of type safety for KHO vmalloc.
On preservation and restore, you lose the the type of the array, and it
is very easy to make mistakes. I gave it a try some time ago but
unfortunately couldn't come up with anything good.
--
Regards,
Pratyush Yadav
next prev parent reply other threads:[~2026-06-09 14:33 UTC|newest]
Thread overview: 22+ 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
2026-06-09 1:14 ` Pasha Tatashin
2026-06-09 14:33 ` Pratyush Yadav [this message]
2026-06-09 14:28 ` Pratyush Yadav
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=2vxzjys7ss07.fsf@kernel.org \
--to=pratyush@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=ran.xiaokai@zte.com.cn \
--cc=rppt@kernel.org \
--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