On Tue, Dec 08, 2020 at 06:21:12PM +0000, Marc Zyngier wrote:
On 2020-12-08 17:21, Catalin Marinas wrote:
> On Mon, Dec 07, 2020 at 07:03:13PM +0000, Marc Zyngier wrote:
> > I wonder whether we will have to have something kernel side to
> > dump/reload tags in a way that matches the patterns used by live
> > migration.
>
> We have something related - ptrace dumps/resores the tags. Can the same
> concept be expanded to a KVM ioctl?
Yes, although I wonder whether we should integrate this deeply into
the dirty-log mechanism: it would be really interesting to dump the
tags at the point where the page is flagged as clean from a dirty-log
point of view. As the page is dirtied, discard the saved tags.
From the VMM perspective, the tags can be treated just like additional
(meta)data in a page. We'd only need the tags when copying over. It can
race with the VM dirtying the page (writing tags would dirty it) but I
don't think the current migration code cares about this. If dirtied, it
copies it again.
The only downside I see is an extra syscall per page both on the origin
VMM and the destination one to dump/restore the tags. Is this a
performance issue?