[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210126115337.20068-1-lijiang@redhat.com>
Date: Tue, 26 Jan 2021 19:53:35 +0800
From: Lianbo Jiang <lijiang@...hat.com>
To: linux-kernel@...r.kernel.org
Cc: joro@...tes.org, will@...nel.org, iommu@...ts.linux-foundation.org,
jsnitsel@...hat.com, thomas.lendacky@....com, robin.murphy@....com,
bhe@...hat.com, hch@...radead.org, baolu.lu@...ux.intel.com
Subject: [PATCH v3 0/2] iommu: fix the failure of deferred attach for iommu attach device
This patchset is to fix the failure of deferred attach for iommu attach
device, it includes the following two patches:
[1] [PATCH 1/2] dma-iommu: use static-key to minimize the impact in the fast-path
This is a prepared patch for the second one, move out the is_kdump_kernel()
check from iommu_dma_deferred_attach() to iommu_dma_init(), and use the
static-key in the fast-path to minimize the impact in the normal case.
[2] [PATCH 2/2] iommu: use the __iommu_attach_device() directly for deferred attach
Move the handling currently in iommu_dma_deferred_attach() into the
iommu core code so that it can call the __iommu_attach_device()
directly instead of the iommu_attach_device(). The external interface
iommu_attach_device() is not suitable for handling this situation.
Changes since v1:
[1] use the __iommu_attach_device() directly for deferred attach
[2] use static-key to minimize the impact in the fast-path
Changes since v2:
[1] remove the underscores for the variable "__deferred_attach", and change
its name to iommu_deferred_attach_enabled [Suggested by Christoph Hellwig]
[2] remove the "do_" from the iommu_do_deferred_attach(), and change its
name to iommu_deferred_attach()
[3] remove the "extern" from the definition of iommu_deferred_attach() in
include/linux/iommu.h
Lianbo Jiang (2):
dma-iommu: use static-key to minimize the impact in the fast-path
iommu: use the __iommu_attach_device() directly for deferred attach
drivers/iommu/dma-iommu.c | 29 +++++++++++------------------
drivers/iommu/iommu.c | 10 ++++++++++
include/linux/iommu.h | 1 +
3 files changed, 22 insertions(+), 18 deletions(-)
--
2.17.1
Powered by blists - more mailing lists