qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: Peter Xu <peterx@redhat.com>
Cc: Juan Quintela <quintela@redhat.com>,
	qemu-devel@nongnu.org, "Michael S. Tsirkin" <mst@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Alexander Duyck <alexander.duyck@gmail.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Den Lunev <den@openvz.org>, Paolo Bonzini <pbonzini@redhat.com>,
	Andrey Gruzdev <andrey.gruzdev@virtuozzo.com>
Subject: Re: [PATCH v13 0/5] UFFD write-tracking migration/snapshots
Date: Fri, 12 Feb 2021 09:52:52 +0100	[thread overview]
Message-ID: <79c3ebb9-82ba-4714-0cf1-9f2e08eff660@redhat.com> (raw)
In-Reply-To: <20210212030621.GF157159@xz-x1>

On 12.02.21 04:06, Peter Xu wrote:
> On Thu, Feb 11, 2021 at 10:09:58PM +0100, David Hildenbrand wrote:
>> The issue is when the discard happened before starting the snapshot. Write-protection won‘t work and the zeroed content won‘t be retained in the snapshot.
> 
> I see what you mean now, and iiuc it will only be a problem if init_on_free=1.
> I think CONFIG_INIT_ON_FREE_DEFAULT_ON should be off for most distros, so the

Yes, some distros seem to enable init_on_alloc instead. Looking at the 
introducing commit 6471384af2a6 ("mm: security: introduce 
init_on_alloc=1 and init_on_free=1 boot options") there are security use 
cases and it might become important with memory tagging.

Note that in Linux, there was also the option to poison pages with 0, 
removed via f289041ed4cf ("mm, page_poison: remove 
CONFIG_PAGE_POISONING_ZERO"), available in some kernels that supported 
free page reporting.

It got removed and use cases got told to use init_on_free.

> impact should be small, I think.  I thought about it, but indeed I didn't see a
> good way to fix this if without fixing the zero page copy for live snapshot.

We should really document this (unexpected) behavior of snapshotting. 
Otherwise, the next feature comes around that relies on pages that were 
discarded to remain zeroed (I even have one in mind ;) ) and forgets to 
disable snapshots.

-- 
Thanks,

David / dhildenb



  reply	other threads:[~2021-02-12  8:55 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-21 15:24 [PATCH v13 0/5] UFFD write-tracking migration/snapshots andrey.gruzdev--- via
2021-01-21 15:24 ` [PATCH v13 1/5] migration: introduce 'background-snapshot' migration capability andrey.gruzdev--- via
2021-01-21 15:24 ` [PATCH v13 2/5] migration: introduce UFFD-WP low-level interface helpers andrey.gruzdev--- via
2021-01-21 15:24 ` [PATCH v13 3/5] migration: support UFFD write fault processing in ram_save_iterate() andrey.gruzdev--- via
2021-01-21 15:24 ` [PATCH v13 4/5] migration: implementation of background snapshot thread andrey.gruzdev--- via
2021-01-28 18:29   ` Dr. David Alan Gilbert
2021-01-29  8:17     ` Andrey Gruzdev
2021-01-21 15:24 ` [PATCH v13 5/5] migration: introduce 'userfaultfd-wrlat.py' script andrey.gruzdev--- via
2021-02-09 12:37 ` [PATCH v13 0/5] UFFD write-tracking migration/snapshots David Hildenbrand
2021-02-09 18:38   ` Andrey Gruzdev
2021-02-09 19:06     ` David Hildenbrand
2021-02-09 20:09       ` Peter Xu
2021-02-09 20:31         ` Peter Xu
2021-02-11  9:21           ` Andrey Gruzdev
2021-02-11 17:18             ` Peter Xu
2021-02-11 18:15               ` Andrey Gruzdev
2021-02-11 16:19       ` Andrey Gruzdev
2021-02-11 17:32         ` Peter Xu
2021-02-11 18:28           ` Andrey Gruzdev
2021-02-11 19:01             ` David Hildenbrand
2021-02-11 20:31               ` Peter Xu
2021-02-11 20:44                 ` David Hildenbrand
2021-02-11 21:05                   ` Peter Xu
2021-02-11 21:09                     ` David Hildenbrand
2021-02-12  3:06                       ` Peter Xu
2021-02-12  8:52                         ` David Hildenbrand [this message]
2021-02-12 16:11                           ` Peter Xu
2021-02-13  9:34                             ` Andrey Gruzdev
2021-02-13 10:30                               ` David Hildenbrand
2021-02-16 23:35                               ` Peter Xu
2021-02-17 10:31                                 ` David Hildenbrand
2021-02-19  6:57                                 ` Andrey Gruzdev
2021-02-19  7:45                                   ` David Hildenbrand
2021-02-19 20:50                                   ` Peter Xu
2021-02-19 21:10                                     ` Peter Xu
2021-02-19 21:14                                       ` David Hildenbrand
2021-02-19 21:20                                         ` David Hildenbrand
2021-02-19 22:47                                           ` Peter Xu
2021-02-20  7:59                                             ` David Hildenbrand
2021-02-22 17:29                                               ` Peter Xu
2021-02-22 17:33                                                 ` David Hildenbrand
2021-02-22 17:54                                                   ` Peter Xu
2021-02-22 18:11                                                     ` David Hildenbrand
2021-02-24 16:56                                                       ` Andrey Gruzdev
2021-02-24 17:01                                                         ` David Hildenbrand
2021-02-24 17:52                                                           ` Andrey Gruzdev
2021-02-24 16:43                                     ` Andrey Gruzdev
2021-02-24 16:54                                       ` David Hildenbrand
2021-02-24 17:00                                         ` Andrey Gruzdev
2021-02-11 19:21     ` David Hildenbrand

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=79c3ebb9-82ba-4714-0cf1-9f2e08eff660@redhat.com \
    --to=david@redhat.com \
    --cc=alexander.duyck@gmail.com \
    --cc=andrey.gruzdev@virtuozzo.com \
    --cc=armbru@redhat.com \
    --cc=den@openvz.org \
    --cc=dgilbert@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    /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;
as well as URLs for NNTP newsgroup(s).