From: "Michael S. Tsirkin" <mst@redhat.com>
To: Si-Wei Liu <si-wei.liu@oracle.com>
Cc: linux-kernel@vger.kernel.org,
virtualization@lists.linux-foundation.org, eperezma@redhat.com
Subject: Re: [PATCH v5 0/7] vdpa: decouple reset of iotlb mapping from device reset
Date: Thu, 26 Oct 2023 03:27:43 -0400 [thread overview]
Message-ID: <20231026032713-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <1698304480-18463-1-git-send-email-si-wei.liu@oracle.com>
On Thu, Oct 26, 2023 at 12:14:33AM -0700, Si-Wei Liu wrote:
> In order to reduce needlessly high setup and teardown cost
> of iotlb mapping during live migration, it's crucial to
> decouple the vhost-vdpa iotlb abstraction from the virtio
> device life cycle, i.e. iotlb mappings should be left
> intact across virtio device reset [1]. For it to work, the
> on-chip IOMMU parent device could implement a separate
> .reset_map() operation callback to restore 1:1 DMA mapping
> without having to resort to the .reset() callback, the
> latter of which is mainly used to reset virtio device state.
> This new .reset_map() callback will be invoked only before
> the vhost-vdpa driver is to be removed and detached from
> the vdpa bus, such that other vdpa bus drivers, e.g.
> virtio-vdpa, can start with 1:1 DMA mapping when they
> are attached. For the context, those on-chip IOMMU parent
> devices, create the 1:1 DMA mapping at vdpa device creation,
> and they would implicitly destroy the 1:1 mapping when
> the first .set_map or .dma_map callback is invoked.
>
> This patchset is rebased on top of the latest vhost tree.
>
> [1] Reducing vdpa migration downtime because of memory pin / maps
> https://www.mail-archive.com/qemu-devel@nongnu.org/msg953755.html
If this is just a squash of v4 with fixes then I already pushed it.
Ignoring this for now.
> ---
> v5:
> - Squashed two fixups to the clean map patch
>
> v4:
> - Rework compatibility using new .compat_reset driver op
>
> v3:
> - add .reset_map support to vdpa_sim
> - introduce module parameter to provide bug-for-bug compatibility with older
> userspace
>
> v2:
> - improved commit message to clarify the intended csope of .reset_map API
> - improved commit messages to clarify no breakage on older userspace
>
> v1:
> - rewrote commit messages to include more detailed description and background
> - reword to vendor specific IOMMU implementation from on-chip IOMMU
> - include parent device backend feautres to persistent iotlb precondition
> - reimplement mlx5_vdpa patch on top of descriptor group series
>
> RFC v3:
> - fix missing return due to merge error in patch #4
>
> RFC v2:
> - rebased on top of the "[PATCH RFC v2 0/3] vdpa: dedicated descriptor table group" series:
> https://lore.kernel.org/virtualization/1694248959-13369-1-git-send-email-si-wei.liu@oracle.com/
>
> ---
>
> Si-Wei Liu (7):
> vdpa: introduce .reset_map operation callback
> vhost-vdpa: reset vendor specific mapping to initial state in .release
> vhost-vdpa: introduce IOTLB_PERSIST backend feature bit
> vdpa: introduce .compat_reset operation callback
> vhost-vdpa: clean iotlb map during reset for older userspace
> vdpa/mlx5: implement .reset_map driver op
> vdpa_sim: implement .reset_map support
>
> drivers/vdpa/mlx5/core/mlx5_vdpa.h | 1 +
> drivers/vdpa/mlx5/core/mr.c | 17 ++++++++++
> drivers/vdpa/mlx5/net/mlx5_vnet.c | 27 ++++++++++++++--
> drivers/vdpa/vdpa_sim/vdpa_sim.c | 52 ++++++++++++++++++++++++------
> drivers/vhost/vdpa.c | 52 +++++++++++++++++++++++++++---
> drivers/virtio/virtio_vdpa.c | 2 +-
> include/linux/vdpa.h | 30 +++++++++++++++--
> include/uapi/linux/vhost_types.h | 2 ++
> 8 files changed, 164 insertions(+), 19 deletions(-)
>
> --
> 2.39.3
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Si-Wei Liu <si-wei.liu@oracle.com>
Cc: jasowang@redhat.com, eperezma@redhat.com, sgarzare@redhat.com,
dtatulea@nvidia.com, virtualization@lists.linux-foundation.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 0/7] vdpa: decouple reset of iotlb mapping from device reset
Date: Thu, 26 Oct 2023 03:27:43 -0400 [thread overview]
Message-ID: <20231026032713-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <1698304480-18463-1-git-send-email-si-wei.liu@oracle.com>
On Thu, Oct 26, 2023 at 12:14:33AM -0700, Si-Wei Liu wrote:
> In order to reduce needlessly high setup and teardown cost
> of iotlb mapping during live migration, it's crucial to
> decouple the vhost-vdpa iotlb abstraction from the virtio
> device life cycle, i.e. iotlb mappings should be left
> intact across virtio device reset [1]. For it to work, the
> on-chip IOMMU parent device could implement a separate
> .reset_map() operation callback to restore 1:1 DMA mapping
> without having to resort to the .reset() callback, the
> latter of which is mainly used to reset virtio device state.
> This new .reset_map() callback will be invoked only before
> the vhost-vdpa driver is to be removed and detached from
> the vdpa bus, such that other vdpa bus drivers, e.g.
> virtio-vdpa, can start with 1:1 DMA mapping when they
> are attached. For the context, those on-chip IOMMU parent
> devices, create the 1:1 DMA mapping at vdpa device creation,
> and they would implicitly destroy the 1:1 mapping when
> the first .set_map or .dma_map callback is invoked.
>
> This patchset is rebased on top of the latest vhost tree.
>
> [1] Reducing vdpa migration downtime because of memory pin / maps
> https://www.mail-archive.com/qemu-devel@nongnu.org/msg953755.html
If this is just a squash of v4 with fixes then I already pushed it.
Ignoring this for now.
> ---
> v5:
> - Squashed two fixups to the clean map patch
>
> v4:
> - Rework compatibility using new .compat_reset driver op
>
> v3:
> - add .reset_map support to vdpa_sim
> - introduce module parameter to provide bug-for-bug compatibility with older
> userspace
>
> v2:
> - improved commit message to clarify the intended csope of .reset_map API
> - improved commit messages to clarify no breakage on older userspace
>
> v1:
> - rewrote commit messages to include more detailed description and background
> - reword to vendor specific IOMMU implementation from on-chip IOMMU
> - include parent device backend feautres to persistent iotlb precondition
> - reimplement mlx5_vdpa patch on top of descriptor group series
>
> RFC v3:
> - fix missing return due to merge error in patch #4
>
> RFC v2:
> - rebased on top of the "[PATCH RFC v2 0/3] vdpa: dedicated descriptor table group" series:
> https://lore.kernel.org/virtualization/1694248959-13369-1-git-send-email-si-wei.liu@oracle.com/
>
> ---
>
> Si-Wei Liu (7):
> vdpa: introduce .reset_map operation callback
> vhost-vdpa: reset vendor specific mapping to initial state in .release
> vhost-vdpa: introduce IOTLB_PERSIST backend feature bit
> vdpa: introduce .compat_reset operation callback
> vhost-vdpa: clean iotlb map during reset for older userspace
> vdpa/mlx5: implement .reset_map driver op
> vdpa_sim: implement .reset_map support
>
> drivers/vdpa/mlx5/core/mlx5_vdpa.h | 1 +
> drivers/vdpa/mlx5/core/mr.c | 17 ++++++++++
> drivers/vdpa/mlx5/net/mlx5_vnet.c | 27 ++++++++++++++--
> drivers/vdpa/vdpa_sim/vdpa_sim.c | 52 ++++++++++++++++++++++++------
> drivers/vhost/vdpa.c | 52 +++++++++++++++++++++++++++---
> drivers/virtio/virtio_vdpa.c | 2 +-
> include/linux/vdpa.h | 30 +++++++++++++++--
> include/uapi/linux/vhost_types.h | 2 ++
> 8 files changed, 164 insertions(+), 19 deletions(-)
>
> --
> 2.39.3
next prev parent reply other threads:[~2023-10-26 7:28 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-26 7:14 [PATCH v5 0/7] vdpa: decouple reset of iotlb mapping from device reset Si-Wei Liu
2023-10-26 7:14 ` Si-Wei Liu
2023-10-26 7:14 ` [PATCH v5 1/7] vdpa: introduce .reset_map operation callback Si-Wei Liu
2023-10-26 7:14 ` Si-Wei Liu
2023-10-26 7:14 ` [PATCH v5 2/7] vhost-vdpa: reset vendor specific mapping to initial state in .release Si-Wei Liu
2023-10-26 7:14 ` Si-Wei Liu
2023-10-26 7:14 ` [PATCH v5 3/7] vhost-vdpa: introduce IOTLB_PERSIST backend feature bit Si-Wei Liu
2023-10-26 7:14 ` Si-Wei Liu
2023-10-26 7:14 ` [PATCH v5 4/7] vdpa: introduce .compat_reset operation callback Si-Wei Liu
2023-10-26 7:14 ` Si-Wei Liu
2023-10-26 7:14 ` [PATCH v5 5/7] vhost-vdpa: clean iotlb map during reset for older userspace Si-Wei Liu
2023-10-26 7:14 ` Si-Wei Liu
2023-10-26 7:14 ` [PATCH v5 6/7] vdpa/mlx5: implement .reset_map driver op Si-Wei Liu
2023-10-26 7:14 ` Si-Wei Liu
2023-10-26 7:14 ` [PATCH v5 7/7] vdpa_sim: implement .reset_map support Si-Wei Liu
2023-10-26 7:14 ` Si-Wei Liu
2023-10-26 7:27 ` Michael S. Tsirkin [this message]
2023-10-26 7:27 ` [PATCH v5 0/7] vdpa: decouple reset of iotlb mapping from device reset Michael S. Tsirkin
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=20231026032713-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=eperezma@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=si-wei.liu@oracle.com \
--cc=virtualization@lists.linux-foundation.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.