[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 6/6] migration/ram: Handle RAMBlocks with a RamDiscardMana
From: |
Peter Xu |
Subject: |
Re: [PATCH v2 6/6] migration/ram: Handle RAMBlocks with a RamDiscardManager on background snapshots |
Date: |
Fri, 23 Jul 2021 12:37:47 -0400 |
On Wed, Jul 21, 2021 at 11:27:59AM +0200, David Hildenbrand 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.
>
> Signed-off-by: David Hildenbrand <david@redhat.com>
Acked-by: Peter Xu <peterx@redhat.com>
--
Peter Xu
- [PATCH v2 3/6] migration/ram: Handle RAMBlocks with a RamDiscardManager on the migration source, (continued)
[PATCH v2 6/6] migration/ram: Handle RAMBlocks with a RamDiscardManager on background snapshots, David Hildenbrand, 2021/07/21
- Re: [PATCH v2 6/6] migration/ram: Handle RAMBlocks with a RamDiscardManager on background snapshots,
Peter Xu <=
Re: [PATCH v2 0/6] migration/ram: Optimize for virtio-mem via RamDiscardManager, Dr. David Alan Gilbert, 2021/07/22
- Re: [PATCH v2 0/6] migration/ram: Optimize for virtio-mem via RamDiscardManager, David Hildenbrand, 2021/07/22
- Re: [PATCH v2 0/6] migration/ram: Optimize for virtio-mem via RamDiscardManager, Peter Xu, 2021/07/23
- Re: [PATCH v2 0/6] migration/ram: Optimize for virtio-mem via RamDiscardManager, David Hildenbrand, 2021/07/23
- Re: [PATCH v2 0/6] migration/ram: Optimize for virtio-mem via RamDiscardManager, Peter Xu, 2021/07/23
- Re: [PATCH v2 0/6] migration/ram: Optimize for virtio-mem via RamDiscardManager, David Hildenbrand, 2021/07/27
- Re: [PATCH v2 0/6] migration/ram: Optimize for virtio-mem via RamDiscardManager, Peter Xu, 2021/07/27
- Re: [PATCH v2 0/6] migration/ram: Optimize for virtio-mem via RamDiscardManager, David Hildenbrand, 2021/07/28
- Re: [PATCH v2 0/6] migration/ram: Optimize for virtio-mem via RamDiscardManager, Peter Xu, 2021/07/28
- Re: [PATCH v2 0/6] migration/ram: Optimize for virtio-mem via RamDiscardManager, David Hildenbrand, 2021/07/28