All of lore.kernel.org
 help / color / mirror / Atom feed
From: Catalin Marinas <catalin.marinas@arm.com>
To: Richard Henderson <richard.henderson@linaro.org>
Cc: Marc Zyngier <maz@kernel.org>,
	Steven Price <steven.price@arm.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Haibo Xu <haibo.xu@linaro.org>,
	lkml - Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Juan Quintela <quintela@redhat.com>,
	QEMU Developers <qemu-devel@nongnu.org>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Will Deacon <will@kernel.org>,
	kvmarm <kvmarm@lists.cs.columbia.edu>,
	arm-mail-list <linux-arm-kernel@lists.infradead.org>,
	Dave Martin <Dave.Martin@arm.com>
Subject: Re: [PATCH v5 0/2] MTE support for KVM guest
Date: Wed, 9 Dec 2020 18:39:20 +0000	[thread overview]
Message-ID: <20201209183920.GI13566@gaia> (raw)
In-Reply-To: <8c39b104-39c3-7cca-82b9-2e47d7cb9a9a@linaro.org>

On Wed, Dec 09, 2020 at 12:27:59PM -0600, Richard Henderson wrote:
> On 12/9/20 9:27 AM, Catalin Marinas wrote:
> > On Wed, Dec 09, 2020 at 01:25:18PM +0000, Marc Zyngier wrote:
> >> Would this syscall operate on the guest address space? Or on the VMM's
> >> own mapping?
> ...
> > Whatever is easier for the VMM, I don't think it matters as long as the
> > host kernel can get the actual physical address (and linear map
> > correspondent). Maybe simpler if it's the VMM address space as the
> > kernel can check the access permissions in case you want to hide the
> > guest memory from the VMM for other reasons (migration is also off the
> > table).
> 
> Indeed, such a syscall is no longer specific to vmm's and may be used for any
> bulk move of tags that userland might want.

For CRIU, I think the current ptrace interface would do. With VMMs, the
same remote VM model doesn't apply (the "remote" VM is actually the
guest memory). I'd keep this under a KVM ioctl() number rather than a
new, specific syscall.

> > Without syscalls, an option would be for the VMM to create two mappings:
> > one with PROT_MTE for migration and the other without for normal DMA
> > etc. That's achievable using memfd_create() or shm_open() and two mmap()
> > calls, only one having PROT_MTE. The VMM address space should be
> > sufficiently large to map two guest IPAs.
> 
> I would have thought that the best way is to use TCO, so that we don't have to
> have dual mappings (and however many MB of extra page tables that might imply).

The problem appears when the VMM wants to use MTE itself (e.g. linked
against an MTE-aware glibc), toggling TCO is no longer generic enough,
especially when it comes to device emulation.

-- 
Catalin

WARNING: multiple messages have this Message-ID (diff)
From: Catalin Marinas <catalin.marinas@arm.com>
To: Richard Henderson <richard.henderson@linaro.org>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Juan Quintela <quintela@redhat.com>,
	QEMU Developers <qemu-devel@nongnu.org>,
	Marc Zyngier <maz@kernel.org>,
	lkml - Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Steven Price <steven.price@arm.com>,
	arm-mail-list <linux-arm-kernel@lists.infradead.org>,
	Haibo Xu <haibo.xu@linaro.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Will Deacon <will@kernel.org>,
	kvmarm <kvmarm@lists.cs.columbia.edu>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Dave Martin <Dave.Martin@arm.com>
Subject: Re: [PATCH v5 0/2] MTE support for KVM guest
Date: Wed, 9 Dec 2020 18:39:20 +0000	[thread overview]
Message-ID: <20201209183920.GI13566@gaia> (raw)
In-Reply-To: <8c39b104-39c3-7cca-82b9-2e47d7cb9a9a@linaro.org>

On Wed, Dec 09, 2020 at 12:27:59PM -0600, Richard Henderson wrote:
> On 12/9/20 9:27 AM, Catalin Marinas wrote:
> > On Wed, Dec 09, 2020 at 01:25:18PM +0000, Marc Zyngier wrote:
> >> Would this syscall operate on the guest address space? Or on the VMM's
> >> own mapping?
> ...
> > Whatever is easier for the VMM, I don't think it matters as long as the
> > host kernel can get the actual physical address (and linear map
> > correspondent). Maybe simpler if it's the VMM address space as the
> > kernel can check the access permissions in case you want to hide the
> > guest memory from the VMM for other reasons (migration is also off the
> > table).
> 
> Indeed, such a syscall is no longer specific to vmm's and may be used for any
> bulk move of tags that userland might want.

For CRIU, I think the current ptrace interface would do. With VMMs, the
same remote VM model doesn't apply (the "remote" VM is actually the
guest memory). I'd keep this under a KVM ioctl() number rather than a
new, specific syscall.

> > Without syscalls, an option would be for the VMM to create two mappings:
> > one with PROT_MTE for migration and the other without for normal DMA
> > etc. That's achievable using memfd_create() or shm_open() and two mmap()
> > calls, only one having PROT_MTE. The VMM address space should be
> > sufficiently large to map two guest IPAs.
> 
> I would have thought that the best way is to use TCO, so that we don't have to
> have dual mappings (and however many MB of extra page tables that might imply).

The problem appears when the VMM wants to use MTE itself (e.g. linked
against an MTE-aware glibc), toggling TCO is no longer generic enough,
especially when it comes to device emulation.

-- 
Catalin


WARNING: multiple messages have this Message-ID (diff)
From: Catalin Marinas <catalin.marinas@arm.com>
To: Richard Henderson <richard.henderson@linaro.org>
Cc: Juan Quintela <quintela@redhat.com>,
	QEMU Developers <qemu-devel@nongnu.org>,
	Marc Zyngier <maz@kernel.org>,
	lkml - Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Steven Price <steven.price@arm.com>,
	arm-mail-list <linux-arm-kernel@lists.infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Will Deacon <will@kernel.org>,
	kvmarm <kvmarm@lists.cs.columbia.edu>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Dave Martin <Dave.Martin@arm.com>
Subject: Re: [PATCH v5 0/2] MTE support for KVM guest
Date: Wed, 9 Dec 2020 18:39:20 +0000	[thread overview]
Message-ID: <20201209183920.GI13566@gaia> (raw)
In-Reply-To: <8c39b104-39c3-7cca-82b9-2e47d7cb9a9a@linaro.org>

On Wed, Dec 09, 2020 at 12:27:59PM -0600, Richard Henderson wrote:
> On 12/9/20 9:27 AM, Catalin Marinas wrote:
> > On Wed, Dec 09, 2020 at 01:25:18PM +0000, Marc Zyngier wrote:
> >> Would this syscall operate on the guest address space? Or on the VMM's
> >> own mapping?
> ...
> > Whatever is easier for the VMM, I don't think it matters as long as the
> > host kernel can get the actual physical address (and linear map
> > correspondent). Maybe simpler if it's the VMM address space as the
> > kernel can check the access permissions in case you want to hide the
> > guest memory from the VMM for other reasons (migration is also off the
> > table).
> 
> Indeed, such a syscall is no longer specific to vmm's and may be used for any
> bulk move of tags that userland might want.

For CRIU, I think the current ptrace interface would do. With VMMs, the
same remote VM model doesn't apply (the "remote" VM is actually the
guest memory). I'd keep this under a KVM ioctl() number rather than a
new, specific syscall.

> > Without syscalls, an option would be for the VMM to create two mappings:
> > one with PROT_MTE for migration and the other without for normal DMA
> > etc. That's achievable using memfd_create() or shm_open() and two mmap()
> > calls, only one having PROT_MTE. The VMM address space should be
> > sufficiently large to map two guest IPAs.
> 
> I would have thought that the best way is to use TCO, so that we don't have to
> have dual mappings (and however many MB of extra page tables that might imply).

The problem appears when the VMM wants to use MTE itself (e.g. linked
against an MTE-aware glibc), toggling TCO is no longer generic enough,
especially when it comes to device emulation.

-- 
Catalin
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

WARNING: multiple messages have this Message-ID (diff)
From: Catalin Marinas <catalin.marinas@arm.com>
To: Richard Henderson <richard.henderson@linaro.org>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Juan Quintela <quintela@redhat.com>,
	QEMU Developers <qemu-devel@nongnu.org>,
	Marc Zyngier <maz@kernel.org>,
	lkml - Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Steven Price <steven.price@arm.com>,
	arm-mail-list <linux-arm-kernel@lists.infradead.org>,
	Haibo Xu <haibo.xu@linaro.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Will Deacon <will@kernel.org>,
	kvmarm <kvmarm@lists.cs.columbia.edu>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Dave Martin <Dave.Martin@arm.com>
Subject: Re: [PATCH v5 0/2] MTE support for KVM guest
Date: Wed, 9 Dec 2020 18:39:20 +0000	[thread overview]
Message-ID: <20201209183920.GI13566@gaia> (raw)
In-Reply-To: <8c39b104-39c3-7cca-82b9-2e47d7cb9a9a@linaro.org>

On Wed, Dec 09, 2020 at 12:27:59PM -0600, Richard Henderson wrote:
> On 12/9/20 9:27 AM, Catalin Marinas wrote:
> > On Wed, Dec 09, 2020 at 01:25:18PM +0000, Marc Zyngier wrote:
> >> Would this syscall operate on the guest address space? Or on the VMM's
> >> own mapping?
> ...
> > Whatever is easier for the VMM, I don't think it matters as long as the
> > host kernel can get the actual physical address (and linear map
> > correspondent). Maybe simpler if it's the VMM address space as the
> > kernel can check the access permissions in case you want to hide the
> > guest memory from the VMM for other reasons (migration is also off the
> > table).
> 
> Indeed, such a syscall is no longer specific to vmm's and may be used for any
> bulk move of tags that userland might want.

For CRIU, I think the current ptrace interface would do. With VMMs, the
same remote VM model doesn't apply (the "remote" VM is actually the
guest memory). I'd keep this under a KVM ioctl() number rather than a
new, specific syscall.

> > Without syscalls, an option would be for the VMM to create two mappings:
> > one with PROT_MTE for migration and the other without for normal DMA
> > etc. That's achievable using memfd_create() or shm_open() and two mmap()
> > calls, only one having PROT_MTE. The VMM address space should be
> > sufficiently large to map two guest IPAs.
> 
> I would have thought that the best way is to use TCO, so that we don't have to
> have dual mappings (and however many MB of extra page tables that might imply).

The problem appears when the VMM wants to use MTE itself (e.g. linked
against an MTE-aware glibc), toggling TCO is no longer generic enough,
especially when it comes to device emulation.

-- 
Catalin

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2020-12-09 18:40 UTC|newest]

Thread overview: 152+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-19 15:38 [PATCH v5 0/2] MTE support for KVM guest Steven Price
2020-11-19 15:38 ` Steven Price
2020-11-19 15:38 ` Steven Price
2020-11-19 15:38 ` Steven Price
2020-11-19 15:39 ` [PATCH v5 1/2] arm64: kvm: Save/restore MTE registers Steven Price
2020-11-19 15:39   ` Steven Price
2020-11-19 15:39   ` Steven Price
2020-11-19 15:39   ` Steven Price
2020-11-19 15:39 ` [PATCH v5 2/2] arm64: kvm: Introduce MTE VCPU feature Steven Price
2020-11-19 15:39   ` Steven Price
2020-11-19 15:39   ` Steven Price
2020-11-19 15:39   ` Steven Price
2020-11-19 15:45 ` [PATCH v5 0/2] MTE support for KVM guest Peter Maydell
2020-11-19 15:45   ` Peter Maydell
2020-11-19 15:45   ` Peter Maydell
2020-11-19 15:45   ` Peter Maydell
2020-11-19 15:57   ` Steven Price
2020-11-19 15:57     ` Steven Price
2020-11-19 15:57     ` Steven Price
2020-11-19 15:57     ` Steven Price
2020-11-19 16:39     ` Peter Maydell
2020-11-19 16:39       ` Peter Maydell
2020-11-19 16:39       ` Peter Maydell
2020-11-19 16:39       ` Peter Maydell
2020-11-19 18:42   ` Andrew Jones
2020-11-19 18:42     ` Andrew Jones
2020-11-19 18:42     ` Andrew Jones
2020-11-19 18:42     ` Andrew Jones
2020-11-19 19:11     ` Marc Zyngier
2020-11-19 19:11       ` Marc Zyngier
2020-11-19 19:11       ` Marc Zyngier
2020-11-19 19:11       ` Marc Zyngier
2020-11-20  9:50       ` Steven Price
2020-11-20  9:50         ` Steven Price
2020-11-20  9:50         ` Steven Price
2020-11-20  9:50         ` Steven Price
2020-11-20  9:56         ` Marc Zyngier
2020-11-20  9:56           ` Marc Zyngier
2020-11-20  9:56           ` Marc Zyngier
2020-11-20  9:56           ` Marc Zyngier
2020-11-20  9:58           ` Steven Price
2020-11-20  9:58             ` Steven Price
2020-11-20  9:58             ` Steven Price
2020-11-20  9:58             ` Steven Price
2020-12-04  8:25         ` Haibo Xu
2020-12-04  8:25           ` Haibo Xu
2020-12-04  8:25           ` Haibo Xu
2020-12-04  8:25           ` Haibo Xu
2020-12-07 14:48           ` Steven Price
2020-12-07 14:48             ` Steven Price
2020-12-07 14:48             ` Steven Price
2020-12-07 14:48             ` Steven Price
2020-12-07 15:27             ` Peter Maydell
2020-12-07 15:27               ` Peter Maydell
2020-12-07 15:27               ` Peter Maydell
2020-12-07 15:27               ` Peter Maydell
2020-12-07 15:45               ` Steven Price
2020-12-07 15:45                 ` Steven Price
2020-12-07 15:45                 ` Steven Price
2020-12-07 15:45                 ` Steven Price
2020-12-07 16:05                 ` Marc Zyngier
2020-12-07 16:05                   ` Marc Zyngier
2020-12-07 16:05                   ` Marc Zyngier
2020-12-07 16:05                   ` Marc Zyngier
2020-12-07 16:34                   ` Catalin Marinas
2020-12-07 16:34                     ` Catalin Marinas
2020-12-07 16:34                     ` Catalin Marinas
2020-12-07 16:34                     ` Catalin Marinas
2020-12-07 19:03                     ` Marc Zyngier
2020-12-07 19:03                       ` Marc Zyngier
2020-12-07 19:03                       ` Marc Zyngier
2020-12-07 19:03                       ` Marc Zyngier
2020-12-08 17:21                       ` Catalin Marinas
2020-12-08 17:21                         ` Catalin Marinas
2020-12-08 17:21                         ` Catalin Marinas
2020-12-08 17:21                         ` Catalin Marinas
2020-12-08 18:21                         ` Marc Zyngier
2020-12-08 18:21                           ` Marc Zyngier
2020-12-08 18:21                           ` Marc Zyngier
2020-12-08 18:21                           ` Marc Zyngier
2020-12-09 12:44                           ` Catalin Marinas
2020-12-09 12:44                             ` Catalin Marinas
2020-12-09 12:44                             ` Catalin Marinas
2020-12-09 12:44                             ` Catalin Marinas
2020-12-09 13:25                             ` Marc Zyngier
2020-12-09 13:25                               ` Marc Zyngier
2020-12-09 13:25                               ` Marc Zyngier
2020-12-09 13:25                               ` Marc Zyngier
2020-12-09 15:27                               ` Catalin Marinas
2020-12-09 15:27                                 ` Catalin Marinas
2020-12-09 15:27                                 ` Catalin Marinas
2020-12-09 15:27                                 ` Catalin Marinas
2020-12-09 18:27                                 ` Richard Henderson
2020-12-09 18:27                                   ` Richard Henderson
2020-12-09 18:27                                   ` Richard Henderson
2020-12-09 18:27                                   ` Richard Henderson
2020-12-09 18:39                                   ` Catalin Marinas [this message]
2020-12-09 18:39                                     ` Catalin Marinas
2020-12-09 18:39                                     ` Catalin Marinas
2020-12-09 18:39                                     ` Catalin Marinas
2020-12-09 20:13                                     ` Richard Henderson
2020-12-09 20:13                                       ` Richard Henderson
2020-12-09 20:13                                       ` Richard Henderson
2020-12-09 20:13                                       ` Richard Henderson
2020-12-09 20:20                                       ` Peter Maydell
2020-12-09 20:20                                         ` Peter Maydell
2020-12-09 20:20                                         ` Peter Maydell
2020-12-09 20:20                                         ` Peter Maydell
2020-12-07 16:44                 ` Dr. David Alan Gilbert
2020-12-07 16:44                   ` Dr. David Alan Gilbert
2020-12-07 16:44                   ` Dr. David Alan Gilbert
2020-12-07 16:44                   ` Dr. David Alan Gilbert
2020-12-07 17:10                   ` Peter Maydell
2020-12-07 17:10                     ` Peter Maydell
2020-12-07 17:10                     ` Peter Maydell
2020-12-07 17:10                     ` Peter Maydell
2020-12-07 17:44                     ` Dr. David Alan Gilbert
2020-12-07 17:44                       ` Dr. David Alan Gilbert
2020-12-07 17:44                       ` Dr. David Alan Gilbert
2020-12-07 17:44                       ` Dr. David Alan Gilbert
2020-12-08 10:05                   ` Haibo Xu
2020-12-08 10:05                     ` Haibo Xu
2020-12-08 10:05                     ` Haibo Xu
2020-12-08 10:05                     ` Haibo Xu
2020-12-08  9:51             ` Haibo Xu
2020-12-08  9:51               ` Haibo Xu
2020-12-08  9:51               ` Haibo Xu
2020-12-08  9:51               ` Haibo Xu
2020-12-08 10:01               ` Marc Zyngier
2020-12-08 10:01                 ` Marc Zyngier
2020-12-08 10:01                 ` Marc Zyngier
2020-12-08 10:01                 ` Marc Zyngier
2020-12-08 10:10                 ` Haibo Xu
2020-12-08 10:10                   ` Haibo Xu
2020-12-08 10:10                   ` Haibo Xu
2020-12-08 10:10                   ` Haibo Xu
2020-12-16  7:31             ` Haibo Xu
2020-12-16  7:31               ` Haibo Xu
2020-12-16  7:31               ` Haibo Xu
2020-12-16  7:31               ` Haibo Xu
2020-12-16 10:22               ` Steven Price
2020-12-16 10:22                 ` Steven Price
2020-12-16 10:22                 ` Steven Price
2020-12-16 10:22                 ` Steven Price
2020-12-17  1:47                 ` Haibo Xu
2020-12-17  1:47                   ` Haibo Xu
2020-12-17  1:47                   ` Haibo Xu
2020-12-17  1:47                   ` Haibo Xu
2020-11-23 12:16   ` Dr. David Alan Gilbert
2020-11-23 12:16     ` Dr. David Alan Gilbert
2020-11-23 12:16     ` Dr. David Alan Gilbert
2020-11-23 12:16     ` Dr. David Alan Gilbert

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=20201209183920.GI13566@gaia \
    --to=catalin.marinas@arm.com \
    --cc=Dave.Martin@arm.com \
    --cc=dgilbert@redhat.com \
    --cc=haibo.xu@linaro.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maz@kernel.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=richard.henderson@linaro.org \
    --cc=steven.price@arm.com \
    --cc=tglx@linutronix.de \
    --cc=will@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.