On Mon, Aug 05, 2024 at 11:32:35AM +0200, James Gowans wrote: > Guestmemfs implements preservation acrosss kexec by carving out a > large contiguous block of host system RAM early in boot which is > then used as the data for the guestmemfs files. Why does the memory have to be (a) contiguous, and (b) carved out of *host* system memory early in boot? This seems to be very inflexible; it means that you have to know how much memory will be needed for guestmemfs in early boot. Also, the VMM update process is not a common case thing, so we don't need to optimize for performance. If we need to temporarily use swap/zswap to allocate memory at VMM update time, and if the pages aren't contiguous when they are copied out before doing the VMM update, that might be very well worth the vast of of memory needed to pay for reserving memory on the host for the VMM update that only might happen once every few days/weeks/months (depending on whether you are doing update just for high severity security fixes, or for random VMM updates). Even if you are updating the VMM every few days, it still doesn't seem that permanently reserving contiguous memory on the host can be justified from a TCO perspective. Cheers, - Ted