iommu.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: Jerry Snitselaar <jsnitsel@redhat.com>
To: Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>,
	Robin Murphy <robin.murphy@arm.com>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Kukjin Kim <kgene@kernel.org>,
	Krzysztof Kozlowski <krzk@kernel.org>,
	David Woodhouse <dwmw2@infradead.org>,
	Lu Baolu <baolu.lu@linux.intel.com>,
	Andy Gross <agross@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Rob Clark <robdclark@gmail.com>, Heiko Stuebner <heiko@sntech.de>,
	Gerald Schaefer <gerald.schaefer@de.ibm.com>,
	Thierry Reding <thierry.reding@gmail.com>,
	Jonathan Hunter <jonathanh@nvidia.com>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>,
	linux-s390@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
	linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	linux-rockchip@lists.infradead.org,
	iommu@lists.linux-foundation.org,
	linux-mediatek@lists.infradead.org, linux-tegra@vger.kernel.org
Subject: Re: [PATCH v2 00/33] iommu: Move iommu_group setup to IOMMU core code
Date: Mon, 1 Jun 2020 06:17:02 -0700	[thread overview]
Message-ID: <20200601131702.4ksimsjvnsmo3mvn@cantor> (raw)
In-Reply-To: <20200601104240.7f5xhz7gooqhaq4n@cantor>

On Mon Jun 01 20, Jerry Snitselaar wrote:
>On Fri May 29 20, Jerry Snitselaar wrote:
>>On Tue Apr 14 20, Joerg Roedel wrote:
>>>Hi,
>>>
>>>here is the second version of this patch-set. The first version with
>>>some more introductory text can be found here:
>>>
>>>	https://lore.kernel.org/lkml/20200407183742.4344-1-joro@8bytes.org/
>>>
>>>Changes v1->v2:
>>>
>>>	* Rebased to v5.7-rc1
>>>
>>>	* Re-wrote the arm-smmu changes as suggested by Robin Murphy
>>>
>>>	* Re-worked the Exynos patches to hopefully not break the
>>>	  driver anymore
>>>
>>>	* Fixed a missing mutex_unlock() reported by Marek Szyprowski,
>>>	  thanks for that.
>>>
>>>There is also a git-branch available with these patches applied:
>>>
>>>	https://git.kernel.org/pub/scm/linux/kernel/git/joro/linux.git/log/?h=iommu-probe-device-v2
>>>
>>>Please review.
>>>
>>>Thanks,
>>>
>>>	Joerg
>>>
>>>Joerg Roedel (32):
>>>iommu: Move default domain allocation to separate function
>>>iommu/amd: Implement iommu_ops->def_domain_type call-back
>>>iommu/vt-d: Wire up iommu_ops->def_domain_type
>>>iommu/amd: Remove dma_mask check from check_device()
>>>iommu/amd: Return -ENODEV in add_device when device is not handled by
>>>  IOMMU
>>>iommu: Add probe_device() and remove_device() call-backs
>>>iommu: Move default domain allocation to iommu_probe_device()
>>>iommu: Keep a list of allocated groups in __iommu_probe_device()
>>>iommu: Move new probe_device path to separate function
>>>iommu: Split off default domain allocation from group assignment
>>>iommu: Move iommu_group_create_direct_mappings() out of
>>>  iommu_group_add_device()
>>>iommu: Export bus_iommu_probe() and make is safe for re-probing
>>>iommu/amd: Remove dev_data->passthrough
>>>iommu/amd: Convert to probe/release_device() call-backs
>>>iommu/vt-d: Convert to probe/release_device() call-backs
>>>iommu/arm-smmu: Convert to probe/release_device() call-backs
>>>iommu/pamu: Convert to probe/release_device() call-backs
>>>iommu/s390: Convert to probe/release_device() call-backs
>>>iommu/virtio: Convert to probe/release_device() call-backs
>>>iommu/msm: Convert to probe/release_device() call-backs
>>>iommu/mediatek: Convert to probe/release_device() call-backs
>>>iommu/mediatek-v1 Convert to probe/release_device() call-backs
>>>iommu/qcom: Convert to probe/release_device() call-backs
>>>iommu/rockchip: Convert to probe/release_device() call-backs
>>>iommu/tegra: Convert to probe/release_device() call-backs
>>>iommu/renesas: Convert to probe/release_device() call-backs
>>>iommu/omap: Remove orphan_dev tracking
>>>iommu/omap: Convert to probe/release_device() call-backs
>>>iommu/exynos: Use first SYSMMU in controllers list for IOMMU core
>>>iommu/exynos: Convert to probe/release_device() call-backs
>>>iommu: Remove add_device()/remove_device() code-paths
>>>iommu: Unexport iommu_group_get_for_dev()
>>>
>>>Sai Praneeth Prakhya (1):
>>>iommu: Add def_domain_type() callback in iommu_ops
>>>
>>>drivers/iommu/amd_iommu.c       |  97 ++++----
>>>drivers/iommu/amd_iommu_types.h |   1 -
>>>drivers/iommu/arm-smmu-v3.c     |  38 +--
>>>drivers/iommu/arm-smmu.c        |  39 ++--
>>>drivers/iommu/exynos-iommu.c    |  24 +-
>>>drivers/iommu/fsl_pamu_domain.c |  22 +-
>>>drivers/iommu/intel-iommu.c     |  68 +-----
>>>drivers/iommu/iommu.c           | 393 +++++++++++++++++++++++++-------
>>>drivers/iommu/ipmmu-vmsa.c      |  60 ++---
>>>drivers/iommu/msm_iommu.c       |  34 +--
>>>drivers/iommu/mtk_iommu.c       |  24 +-
>>>drivers/iommu/mtk_iommu_v1.c    |  50 ++--
>>>drivers/iommu/omap-iommu.c      |  99 ++------
>>>drivers/iommu/qcom_iommu.c      |  24 +-
>>>drivers/iommu/rockchip-iommu.c  |  26 +--
>>>drivers/iommu/s390-iommu.c      |  22 +-
>>>drivers/iommu/tegra-gart.c      |  24 +-
>>>drivers/iommu/tegra-smmu.c      |  31 +--
>>>drivers/iommu/virtio-iommu.c    |  41 +---
>>>include/linux/iommu.h           |  21 +-
>>>20 files changed, 533 insertions(+), 605 deletions(-)
>>>
>>>-- 
>>>2.17.1
>>>
>>>_______________________________________________
>>>iommu mailing list
>>>iommu@lists.linux-foundation.org
>>>https://lists.linuxfoundation.org/mailman/listinfo/iommu
>>>
>>
>>Hi Joerg,
>>
>>With this patchset, I have an epyc system where if I boot with
>>iommu=nopt and force a dump I will see some io page faults for a nic
>>on the system. The vmcore is harvested and the system reboots. I
>>haven't reproduced it on other systems yet, but without the patchset I
>>don't see the io page faults during the kdump.
>>
>>Regards,
>>Jerry
>
>I just hit an issue on a separate intel based system (kdump iommu=nopt),
>where it panics in during intel_iommu_attach_device, in is_aux_domain,
>due to device_domain_info being DEFER_DEVICE_DOMAIN_INFO. That doesn't
>get set to a valid address until the domain_add_dev_info call.
>
>Is it as simple as the following?
>
>diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
>index 29d3940847d3..f1bbeed46a4c 100644
>--- a/drivers/iommu/intel-iommu.c
>+++ b/drivers/iommu/intel-iommu.c
>@@ -5053,8 +5053,8 @@ is_aux_domain(struct device *dev, struct iommu_domain *domain)
> {
>        struct device_domain_info *info = dev->archdata.iommu;
>-       return info && info->auxd_enabled &&
>-                       domain->type == IOMMU_DOMAIN_UNMANAGED;
>+       return info && info != DEFER_DEVICE_DOMAIN_INFO &&
>+               info->auxd_enabled && domain->type == IOMMU_DOMAIN_UNMANAGED;
> }
> static void auxiliary_link_device(struct dmar_domain *domain,
>
>
>Regards,
>Jerry
>

With the patch, I avoid the panic, but I'm seeing an issue similar to the epyc system.
I'm getting dmar faults from a couple of nics and the hp ilo. The addresses in question
were in e820 reserved sections, but there aren't rmrr covering those addresses. The system
manages to harvest the vmcore and reboot like the epyc. Without the patches I don't see
the dmar faults. I needed to give this system back, but I'll try to poke at it some more
in the next couple of days.

Regards,
Jerry

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

  reply	other threads:[~2020-06-01 13:17 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20200414131600eucas1p16f1ff6aedb780eb795a770dc08e5dec5@eucas1p1.samsung.com>
2020-04-14 13:15 ` [PATCH v2 00/33] iommu: Move iommu_group setup to IOMMU core code Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 01/33] iommu: Move default domain allocation to separate function Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 02/33] iommu: Add def_domain_type() callback in iommu_ops Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 03/33] iommu/amd: Implement iommu_ops->def_domain_type call-back Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 04/33] iommu/vt-d: Wire up iommu_ops->def_domain_type Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 05/33] iommu/amd: Remove dma_mask check from check_device() Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 06/33] iommu/amd: Return -ENODEV in add_device when device is not handled by IOMMU Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 07/33] iommu: Add probe_device() and remove_device() call-backs Joerg Roedel
2020-04-15  6:36     ` Lu Baolu
2020-04-15 12:31       ` Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 08/33] iommu: Move default domain allocation to iommu_probe_device() Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 09/33] iommu: Keep a list of allocated groups in __iommu_probe_device() Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 10/33] iommu: Move new probe_device path to separate function Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 11/33] iommu: Split off default domain allocation from group assignment Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 12/33] iommu: Move iommu_group_create_direct_mappings() out of iommu_group_add_device() Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 13/33] iommu: Export bus_iommu_probe() and make is safe for re-probing Joerg Roedel
2020-04-15  6:10     ` Lu Baolu
2020-04-15 12:29       ` Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 14/33] iommu/amd: Remove dev_data->passthrough Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 15/33] iommu/amd: Convert to probe/release_device() call-backs Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 16/33] iommu/vt-d: " Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 17/33] iommu/arm-smmu: " Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 18/33] iommu/pamu: " Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 19/33] iommu/s390: " Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 20/33] iommu/virtio: " Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 21/33] iommu/msm: " Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 22/33] iommu/mediatek: " Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 23/33] iommu/mediatek-v1 " Joerg Roedel
2020-05-15  7:44     ` Yong Wu
2020-05-15 10:07       ` Joerg Roedel
2020-05-18  6:51         ` Yong Wu
2020-05-18 13:55           ` Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 24/33] iommu/qcom: " Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 25/33] iommu/rockchip: " Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 26/33] iommu/tegra: " Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 27/33] iommu/renesas: " Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 28/33] iommu/omap: Remove orphan_dev tracking Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 29/33] iommu/omap: Convert to probe/release_device() call-backs Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 30/33] iommu/exynos: Use first SYSMMU in controllers list for IOMMU core Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 31/33] iommu/exynos: Convert to probe/release_device() call-backs Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 32/33] iommu: Remove add_device()/remove_device() code-paths Joerg Roedel
2020-04-14 13:15   ` [PATCH v2 33/33] iommu: Unexport iommu_group_get_for_dev() Joerg Roedel
2020-04-16 11:48   ` [PATCH v2 00/33] iommu: Move iommu_group setup to IOMMU core code Marek Szyprowski
2020-04-17  1:03   ` Daniel Drake
2020-04-17  1:14     ` Derrick, Jonathan
2020-04-18 12:44       ` joro
2020-05-29 22:16   ` Jerry Snitselaar
2020-06-01 10:42     ` Jerry Snitselaar
2020-06-01 13:17       ` Jerry Snitselaar [this message]
2020-06-01 23:20         ` Lu Baolu
2020-06-01 23:16       ` Lu Baolu
2020-06-02  0:02         ` Jerry Snitselaar
2020-06-02 14:23           ` Joerg Roedel
2020-06-02 16:38             ` Jerry Snitselaar
2020-06-02 21:17               ` Jerry Snitselaar

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=20200601131702.4ksimsjvnsmo3mvn@cantor \
    --to=jsnitsel@redhat.com \
    --cc=agross@kernel.org \
    --cc=baolu.lu@linux.intel.com \
    --cc=bjorn.andersson@linaro.org \
    --cc=dwmw2@infradead.org \
    --cc=gerald.schaefer@de.ibm.com \
    --cc=heiko@sntech.de \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jean-philippe@linaro.org \
    --cc=jonathanh@nvidia.com \
    --cc=joro@8bytes.org \
    --cc=kgene@kernel.org \
    --cc=krzk@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=matthias.bgg@gmail.com \
    --cc=robdclark@gmail.com \
    --cc=robin.murphy@arm.com \
    --cc=thierry.reding@gmail.com \
    --cc=virtualization@lists.linux-foundation.org \
    --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 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).