Re: [PATCH v2 00/10] Refine the locking for dev->iommu_group

Jason Gunthorpe
2023-08-08T13:00:34Z

On Tue, Aug 08, 2023 at 02:32:48PM +0200, Marek Szyprowski wrote:
> Hi,
>
> On 08.08.2023 12:31, Chen-Yu Tsai wrote:
> > Hi,
> >
> > On Mon, Aug 7, 2023 at 8:54 PM Joerg Roedel <joro@8bytes.org> wrote:
> >> On Mon, Jul 31, 2023 at 02:50:23PM -0300, Jason Gunthorpe wrote:
> >>> Jason Gunthorpe (10):
> >>> iommu: Remove useless group refcounting
> >>> iommu: Add a lockdep assertion for remaining dev->iommu_group reads
> >>> iommu: Add generic_single_device_group()
> >>> iommu/sun50i: Convert to generic_single_device_group()
> >>> iommu/sprd: Convert to generic_single_device_group()
> >>> iommu/rockchip: Convert to generic_single_device_group()
> >>> iommu/ipmmu-vmsa: Convert to generic_single_device_group()
> >>> iommu/omap: Convert to generic_single_device_group()
> >>> iommu: Complete the locking for dev->iommu_group
> >>> iommu/intel: Fix missing locking for show_device_domain_translation()
> >>>
> >>> drivers/iommu/intel/debugfs.c | 34 ++++----
> >>> drivers/iommu/iommu.c | 155 +++++++++++++++++++++------------
> >>> drivers/iommu/ipmmu-vmsa.c | 22 ++---
> >>> drivers/iommu/omap-iommu.c | 30 +------
> >>> drivers/iommu/omap-iommu.h | 2 +-
> >>> drivers/iommu/rockchip-iommu.c | 22 +----
> >>> drivers/iommu/sprd-iommu.c | 24 +----
> >>> drivers/iommu/sun50i-iommu.c | 29 ++----
> >>> include/linux/iommu.h | 3 +
> >>> 9 files changed, 138 insertions(+), 183 deletions(-)
> >> Applied, thanks for the nice cleanup!
> > This series seems to cause a hung task during boot on MediaTek platforms.
> > It hangs with next-20230808. Reverting the 10 commits from this series
> > makes the system boot up again.
>
> I confirm that next-20230808 is broken on ARM 32bit based Exynos boards
> too. Boards lock up very early during boot. I will try to investigate
> this soon.

Any of the drivers that use platform device as the iommu_device will
have a problem, please try:

https://lore.kernel.org/linux-iommu/ZNIz%2FNVLb6WqqvQx@nvidia.com/

Jason