[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v1 9/9] migration/ram: Handle RAMBlocks with a RamDiscardMana
Re: [PATCH v1 9/9] migration/ram: Handle RAMBlocks with a RamDiscardManager on background snapshots
Mon, 01 Nov 2021 19:35:09 +0100
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
David Hildenbrand <firstname.lastname@example.org> wrote:
> We already don't ever migrate memory that corresponds to discarded ranges
> as managed by a RamDiscardManager responsible for the mapped memory region
> of the RAMBlock.
> virtio-mem uses this mechanism to logically unplug parts of a RAMBlock.
> Right now, we still populate zeropages for the whole usable part of the
> RAMBlock, which is undesired because:
> 1. Even populating the shared zeropage will result in memory getting
> consumed for page tables.
> 2. Memory backends without a shared zeropage (like hugetlbfs and shmem)
> will populate an actual, fresh page, resulting in an unintended
> memory consumption.
> Discarded ("logically unplugged") parts have to remain discarded. As
> these pages are never part of the migration stream, there is no need to
> track modifications via userfaultfd WP reliably for these parts.
> Further, any writes to these ranges by the VM are invalid and the
> behavior is undefined.
> Note that Linux only supports userfaultfd WP on private anonymous memory
> for now, which usually results in the shared zeropage getting populated.
> The issue will become more relevant once userfaultfd WP supports shmem
> and hugetlb.
> Acked-by: Peter Xu <email@example.com>
> Signed-off-by: David Hildenbrand <firstname.lastname@example.org>
Reviewed-by: Juan Quintela <email@example.com>
|[Prev in Thread]
||[Next in Thread]|
- Re: [PATCH v1 9/9] migration/ram: Handle RAMBlocks with a RamDiscardManager on background snapshots,
Juan Quintela <=