qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Eric Auger <eric.auger@redhat.com>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: Nicolin Chen <nicolinc@nvidia.com>,
	Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>,
	qemu-arm@nongnu.org, qemu-devel@nongnu.org,
	peter.maydell@linaro.org, ddutile@redhat.com,
	berrange@redhat.com, nathanc@nvidia.com, mochs@nvidia.com,
	smostafa@google.com, linuxarm@huawei.com,
	wangzhou1@hisilicon.com, jiangkunkun@huawei.com,
	jonathan.cameron@huawei.com, zhangfei.gao@linaro.org
Subject: Re: [RFC PATCH v2 03/20] hw/arm/smmuv3-accel: Add initial infrastructure for smmuv3-accel device
Date: Mon, 24 Mar 2025 15:08:46 +0100	[thread overview]
Message-ID: <efbec6a4-e37a-4fa1-ad4a-7294521ee947@redhat.com> (raw)
In-Reply-To: <20250319003135.GH9311@nvidia.com>

Hi Jason,

On 3/19/25 1:31 AM, Jason Gunthorpe wrote:
> On Tue, Mar 18, 2025 at 07:31:36PM +0100, Eric Auger wrote:
>> Nevertheless I don't think anything prevents the acceleration granted
>> device from also working with virtio/vhost devices for instance unless
>> you unplug the existing infra.
> If the accel mode is using something like vcmdq then it is not
> possible to work since the invalidations won't even be trapped.

I acknowledged I was more focused on the case without vcmdq which was
addressed in the past and now I better see the problem.

>
> Even in the case where we trap the invalidations it sure is
> complicated.. invalidation is done by ASID which is not obviously
> related to any specific device. An ASID could be hidden inside a CD
> table that is being HW accessed and also inside a CD table that is SW
> accessed. The VMM has no way to know what is going on so you'd end up
> forced to replicate all the ASID invalidations. :\
Nevertheless I think we shall also support the case without vcmdq
(currently supported in this series). And this one looks more compatible
with emulated devices althout less optimized.

>
> It just doesn't seem worthwhile to try to make it all work.
>
> I'd suggest arranging to share some of the SMMUv3 emulation code,
> maybe with a library/headerfile or something, but I think it does make
> sense they would be different implementations given how completely
> different they should be.
I agree with can do our utmost to separate implementations. I more
concerned about having libvirt guessing what kind of devices it shall use.

on x86 libvirt needs to use -device intel-iommu,caching-mode=on if one
wants to protect a VFIO device. So this looks like similar to adding
accel=on on ARM.

Eric
>
> Jason
>



  parent reply	other threads:[~2025-03-24 14:09 UTC|newest]

Thread overview: 145+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-11 14:10 [RFC PATCH v2 00/20] hw/arm/virt: Add support for user-creatable accelerated SMMUv3 Shameer Kolothum via
2025-03-11 14:10 ` [RFC PATCH v2 01/20] backends/iommufd: Introduce iommufd_backend_alloc_viommu Shameer Kolothum via
2025-03-12 15:20   ` Eric Auger
2025-03-11 14:10 ` [RFC PATCH v2 02/20] backends/iommufd: Introduce iommufd_vdev_alloc Shameer Kolothum via
2025-03-12 15:25   ` Eric Auger
2025-03-11 14:10 ` [RFC PATCH v2 03/20] hw/arm/smmuv3-accel: Add initial infrastructure for smmuv3-accel device Shameer Kolothum via
2025-03-11 20:13   ` Nicolin Chen
2025-03-12 15:15   ` Eric Auger
2025-03-17 17:54     ` Nicolin Chen
2025-03-17 18:07       ` Eric Auger
2025-03-17 19:10         ` Nicolin Chen
2025-03-17 19:24           ` Jason Gunthorpe
2025-03-17 20:19             ` Nicolin Chen
2025-03-18  9:50               ` Shameerali Kolothum Thodi via
2025-03-18 18:31               ` Eric Auger
2025-03-18 19:13                 ` Nicolin Chen
2025-03-18 21:22                   ` Donald Dutile
2025-03-19  0:23                     ` Jason Gunthorpe
2025-03-19  2:15                       ` Donald Dutile
2025-03-19 17:00                       ` Eric Auger
2025-03-19 17:12                         ` Shameerali Kolothum Thodi via
2025-03-19 17:38                           ` Eric Auger
2025-03-21  0:55                         ` Donald Dutile
2025-03-19 17:04                     ` Eric Auger
2025-03-21  0:54                       ` Donald Dutile
2025-03-24 14:52                         ` Eric Auger
2025-03-19  0:31                 ` Jason Gunthorpe
2025-03-19  5:27                   ` Nicolin Chen
2025-03-24 14:08                   ` Eric Auger [this message]
2025-03-18 21:42             ` Donald Dutile
2025-03-19 16:45           ` Eric Auger
2025-03-19 16:53             ` Shameerali Kolothum Thodi via
2025-03-19 17:26               ` Eric Auger
2025-03-19 17:34                 ` Jason Gunthorpe
2025-03-19 17:41                   ` Eric Auger
2025-03-19 17:14             ` Nicolin Chen
2025-03-19 18:09               ` Eric Auger
2025-03-19 18:34                 ` Nicolin Chen
2025-03-24 14:46                   ` Eric Auger
2025-03-21  1:26                 ` Donald Dutile
2025-03-24 14:59                   ` Eric Auger
2025-03-11 14:10 ` [RFC PATCH v2 04/20] hw/arm/virt: Add support for smmuv3-accel Shameer Kolothum via
2025-03-11 20:22   ` Nicolin Chen
2025-03-12  9:44     ` Shameerali Kolothum Thodi via
2025-03-12 15:36   ` Eric Auger
2025-03-12 15:46     ` Shameerali Kolothum Thodi via
2025-03-12 16:13       ` Eric Auger
2025-03-12 16:22         ` Shameerali Kolothum Thodi via
2025-03-12 16:27           ` Eric Auger
2025-03-12 17:34             ` Shameerali Kolothum Thodi via
2025-03-12 18:30               ` Eric Auger
2025-03-13  8:26                 ` Shameerali Kolothum Thodi via
2025-03-13 15:22                   ` Eric Auger
2025-03-18 22:49   ` Donald Dutile
2025-03-19  9:28     ` Shameerali Kolothum Thodi via
2025-03-11 14:10 ` [RFC PATCH v2 05/20] hw/arm/smmuv3-accel: Associate a pxb-pcie bus Shameer Kolothum via
2025-03-12 16:07   ` Eric Auger
2025-03-12 16:34     ` Shameerali Kolothum Thodi via
2025-03-12 16:39       ` Daniel P. Berrangé
2025-03-12 17:28         ` Shameerali Kolothum Thodi via
2025-03-13 15:21           ` Eric Auger
2025-03-12 16:42       ` Eric Auger
2025-03-13  8:22         ` Shameerali Kolothum Thodi via
2025-03-17 16:57           ` Eric Auger
2025-03-18 22:12   ` Donald Dutile
2025-03-19  9:26     ` Shameerali Kolothum Thodi via
2025-03-19 16:21       ` Donald Dutile
2025-03-19 18:21         ` Eric Auger
2025-03-21  0:59           ` Donald Dutile
2025-03-24 14:56             ` Eric Auger
2025-03-24 15:02               ` Daniel P. Berrangé
2025-03-24 21:43               ` Donald Dutile
2025-03-20 17:02       ` Nicolin Chen
2025-03-24  8:19         ` Shameerali Kolothum Thodi via
2025-03-24 13:13           ` Eric Auger
2025-03-24 13:55             ` Shameerali Kolothum Thodi via
2025-03-24 15:34               ` Eric Auger
2025-03-24 16:01             ` Nicolin Chen
2025-03-24 16:06               ` Shameerali Kolothum Thodi via
2025-03-24 15:50           ` Nicolin Chen
2025-03-11 14:10 ` [RFC PATCH v2 06/20] hw/arm/smmu-common: Factor out common helper functions and export Shameer Kolothum via
2025-03-12 16:12   ` Eric Auger
2025-03-11 14:10 ` [RFC PATCH v2 07/20] hw/arm/smmu-common: Introduce callbacks for PCIIOMMUOps Shameer Kolothum via
2025-03-12 16:23   ` Eric Auger
2025-03-13  8:09     ` Shameerali Kolothum Thodi via
2025-03-17 16:52       ` Eric Auger
2025-03-18  9:47         ` Shameerali Kolothum Thodi via
2025-03-12 17:10   ` Eric Auger
2025-03-11 14:10 ` [RFC PATCH v2 08/20] hw/arm/smmuv3-accel: Provide get_address_space callback Shameer Kolothum via
2025-03-11 20:50   ` Nicolin Chen
2025-03-12 17:14   ` Eric Auger
2025-03-11 14:10 ` [RFC PATCH v2 09/20] hw/arm/smmuv3-accel: Add set/unset_iommu_device callback Shameer Kolothum via
2025-03-11 21:07   ` Nicolin Chen
2025-03-17  8:38     ` Shameerali Kolothum Thodi via
2025-03-17 18:19       ` Nicolin Chen
2025-03-12 12:52   ` Eric Auger
2025-03-11 14:10 ` [RFC PATCH v2 10/20] hw/arm/smmuv3-accel: Support nested STE install/uninstall support Shameer Kolothum via
2025-03-25 18:08   ` Eric Auger
2025-03-25 19:33     ` Nicolin Chen
2025-03-11 14:10 ` [RFC PATCH v2 11/20] hw/arm/smmuv3-accel: Allocate a vDEVICE object for device Shameer Kolothum via
2025-03-18 23:30   ` Donald Dutile
2025-03-25 18:13   ` Eric Auger
2025-03-11 14:10 ` [RFC PATCH v2 12/20] hw/arm/smmuv3-accel: Return sysmem if stage-1 is bypassed Shameer Kolothum via
2025-03-25 18:47   ` Eric Auger
2025-03-11 14:10 ` [RFC PATCH v2 13/20] hw/arm/smmuv3-accel: Introduce helpers to batch and issue cache invalidations Shameer Kolothum via
2025-03-19  1:31   ` Donald Dutile
2025-03-19  9:48     ` Shameerali Kolothum Thodi via
2025-03-19 16:24       ` Donald Dutile
2025-03-19 16:48         ` Nicolin Chen
2025-03-26 13:38   ` Eric Auger
2025-03-26 19:16     ` Nicolin Chen
2025-03-27  7:46       ` Shameerali Kolothum Thodi via
2025-03-27  8:00       ` Eric Auger
2025-03-26 13:59   ` Eric Auger
2025-03-11 14:10 ` [RFC PATCH v2 14/20] hw/arm/smmuv3: Install nested ste for CFGI_STE Shameer Kolothum via
2025-03-26 13:39   ` Eric Auger
2025-03-11 14:10 ` [RFC PATCH v2 15/20] hw/arm/smmuv3: Forward invalidation commands to hw Shameer Kolothum via
2025-03-26 14:16   ` Eric Auger
2025-03-26 19:27     ` Nicolin Chen
2025-03-27  8:03       ` Eric Auger
2025-03-26 14:18   ` Eric Auger
2025-03-11 14:10 ` [RFC PATCH v2 16/20] hw/arm/smmuv3-accel: Read host SMMUv3 device info Shameer Kolothum via
2025-03-19  2:45   ` Donald Dutile
2025-03-26 14:57   ` Eric Auger
2025-03-11 14:10 ` [RFC PATCH v2 17/20] hw/arm/smmuv3: Check idr registers for STE_S1CDMAX and STE_S1STALLD Shameer Kolothum via
2025-03-26 17:18   ` Eric Auger
2025-03-26 19:46     ` Nicolin Chen
2025-03-27  7:54       ` Shameerali Kolothum Thodi via
2025-03-27  9:11         ` Eric Auger
2025-03-27 13:05     ` Jason Gunthorpe
2025-03-11 14:10 ` [RFC PATCH v2 18/20] hw/arm/smmu-common: Bypass emulated IOTLB for a accel SMMUv3 Shameer Kolothum via
2025-03-19  2:52   ` Donald Dutile
2025-03-26 17:40   ` Eric Auger
2025-03-26 19:57     ` Nicolin Chen
2025-03-11 14:10 ` [RFC PATCH v2 19/20] hw/arm/virt-acpi-build: Update IORT with multiple smmuv3-accel nodes Shameer Kolothum via
2025-03-26 18:14   ` Eric Auger
2025-03-26 18:50     ` Nicolin Chen
2025-03-27  9:26       ` Shameerali Kolothum Thodi via
2025-03-11 14:10 ` [RFC PATCH v2 20/20] hw/arm/smmuv3-accel: Enable smmuv3-accel creation Shameer Kolothum via
2025-03-19 16:40 ` [RFC PATCH v2 00/20] hw/arm/virt: Add support for user-creatable accelerated SMMUv3 Philippe Mathieu-Daudé
2025-03-19 17:13   ` Eric Auger
2025-03-25 14:42 ` Eric Auger
2025-03-25 15:43   ` Shameerali Kolothum Thodi via
2025-03-25 18:26     ` Nicolin Chen via
2025-03-25 18:52       ` Eric Auger

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=efbec6a4-e37a-4fa1-ad4a-7294521ee947@redhat.com \
    --to=eric.auger@redhat.com \
    --cc=berrange@redhat.com \
    --cc=ddutile@redhat.com \
    --cc=jgg@nvidia.com \
    --cc=jiangkunkun@huawei.com \
    --cc=jonathan.cameron@huawei.com \
    --cc=linuxarm@huawei.com \
    --cc=mochs@nvidia.com \
    --cc=nathanc@nvidia.com \
    --cc=nicolinc@nvidia.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=shameerali.kolothum.thodi@huawei.com \
    --cc=smostafa@google.com \
    --cc=wangzhou1@hisilicon.com \
    --cc=zhangfei.gao@linaro.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 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).