On Tue, Aug 26, 2025 at 01:20:19PM -0300, Jason Gunthorpe wrote:
On Thu, Aug 07, 2025 at 01:44:35AM +0000, Pasha Tatashin wrote:
quoted
+ /*
+ * Most of the space should be taken by preserved folios. So take its
+ * size, plus a page for other properties.
+ */
+ fdt = memfd_luo_create_fdt(PAGE_ALIGN(preserved_size) + PAGE_SIZE);
+ if (!fdt) {
+ err = -ENOMEM;
+ goto err_unpin;
+ }
This doesn't seem to have any versioning scheme, it really should..
quoted
+ err = fdt_property_placeholder(fdt, "folios", preserved_size,
+ (void **)&preserved_folios);
+ if (err) {
+ pr_err("Failed to reserve folios property in FDT: %s\n",
+ fdt_strerror(err));
+ err = -ENOMEM;
+ goto err_free_fdt;
+ }
Yuk.
This really wants some luo helper
'luo alloc array'
'luo restore array'
'luo free array'
We can just add kho_{preserve,restore}_vmalloc(). I've drafted it here:
https://git.kernel.org/pub/scm/linux/kernel/git/rppt/linux.git/log/?h=kho/vmalloc/v1
Will wait for kbuild and then send proper patches.
--
Sincerely yours,
Mike.