From: Baolu Lu <baolu.lu@linux.intel.com>
To: "Tian, Kevin" <kevin.tian@intel.com>,
Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>,
Robin Murphy <robin.murphy@arm.com>,
Jason Gunthorpe <jgg@ziepe.ca>,
Jean-Philippe Brucker <jean-philippe@linaro.org>,
Nicolin Chen <nicolinc@nvidia.com>
Cc: baolu.lu@linux.intel.com, "Liu, Yi L" <yi.l.liu@intel.com>,
Jacob Pan <jacob.jun.pan@linux.intel.com>,
"iommu@lists.linux.dev" <iommu@lists.linux.dev>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4 09/10] iommu: Make iommu_queue_iopf() more generic
Date: Sat, 26 Aug 2023 16:01:16 +0800 [thread overview]
Message-ID: <cbfbe969-1a92-52bf-f00c-3fb89feefd66@linux.intel.com> (raw)
In-Reply-To: <BN9PR11MB52762A33BC9F41AB424915688CE3A@BN9PR11MB5276.namprd11.prod.outlook.com>
On 8/25/23 4:17 PM, Tian, Kevin wrote:
>> +
>> /**
>> * iopf_queue_flush_dev - Ensure that all queued faults have been
>> processed
>> * @dev: the endpoint whose faults need to be flushed.
> Presumably we also need a flush callback per domain given now
> the use of workqueue is optional then flush_workqueue() might
> not be sufficient.
>
The iopf_queue_flush_dev() function flushes all pending faults from the
IOMMU queue for a specific device. It has no means to flush fault queues
out of iommu core.
The iopf_queue_flush_dev() function is typically called when a domain is
detaching from a PASID. Hence it's necessary to flush the pending faults
from top to bottom. For example, iommufd should flush pending faults in
its fault queues after detaching the domain from the pasid.
The fault_param->lock mutex is sufficient to avoid the race condition if
the workqueue is not used. However, if the workqueue is used, then it is
possible for a workqueue thread to be in the middle of delivering a
fault while the fault queue is being flushed.
Best regards,
baolu
next prev parent reply other threads:[~2023-08-26 8:05 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-25 2:30 [PATCH v4 00/10] iommu: Prepare to deliver page faults to user space Lu Baolu
2023-08-25 2:30 ` [PATCH v4 01/10] iommu: Move iommu fault data to linux/iommu.h Lu Baolu
2023-08-25 7:52 ` Tian, Kevin
2023-08-25 2:30 ` [PATCH v4 02/10] iommu/arm-smmu-v3: Remove unrecoverable faults reporting Lu Baolu
2023-08-25 7:53 ` Tian, Kevin
2023-08-25 2:30 ` [PATCH v4 03/10] iommu: Remove unrecoverable fault data Lu Baolu
2023-08-25 7:53 ` Tian, Kevin
2023-08-25 2:30 ` [PATCH v4 04/10] iommu: Cleanup iopf data structure definitions Lu Baolu
2023-08-25 7:57 ` Tian, Kevin
2023-08-25 2:30 ` [PATCH v4 05/10] iommu: Merge iopf_device_param into iommu_fault_param Lu Baolu
2023-08-25 8:00 ` Tian, Kevin
2023-08-25 2:30 ` [PATCH v4 06/10] iommu: Remove iommu_[un]register_device_fault_handler() Lu Baolu
2023-08-25 2:30 ` [PATCH v4 07/10] iommu: Merge iommu_fault_event and iopf_fault Lu Baolu
2023-08-25 8:03 ` Tian, Kevin
2023-08-26 7:02 ` Baolu Lu
2023-08-30 7:33 ` Tian, Kevin
2023-08-25 2:30 ` [PATCH v4 08/10] iommu: Prepare for separating SVA and IOPF Lu Baolu
2023-08-25 8:05 ` Tian, Kevin
2023-08-25 2:30 ` [PATCH v4 09/10] iommu: Make iommu_queue_iopf() more generic Lu Baolu
2023-08-25 8:17 ` Tian, Kevin
2023-08-26 7:32 ` Baolu Lu
2023-08-30 7:34 ` Tian, Kevin
2023-08-26 8:01 ` Baolu Lu [this message]
2023-08-30 7:43 ` Tian, Kevin
2023-08-30 11:02 ` Vasant Hegde
2023-08-30 12:49 ` Jean-Philippe Brucker
2023-08-31 6:57 ` Vasant Hegde
2023-08-31 9:27 ` Baolu Lu
2023-09-01 2:49 ` Tian, Kevin
2023-09-05 5:19 ` Baolu Lu
2023-09-11 6:35 ` Tian, Kevin
2023-09-11 12:26 ` Baolu Lu
2023-09-13 2:25 ` Tian, Kevin
2023-09-13 2:44 ` Baolu Lu
[not found] ` <BN9PR11MB527624F1CC4A545FBAE3C9C98CE6A@BN9PR11MB5276.namprd11.prod.outlook.com>
2023-08-30 8:50 ` Tian, Kevin
2023-08-31 9:42 ` Baolu Lu
2023-08-26 8:04 ` Baolu Lu
2023-08-30 7:55 ` Tian, Kevin
2023-08-31 11:24 ` Baolu Lu
2023-09-01 2:50 ` Tian, Kevin
2023-09-05 5:24 ` Baolu Lu
2023-09-11 6:57 ` Tian, Kevin
2023-09-11 12:46 ` Baolu Lu
2023-09-13 2:34 ` Tian, Kevin
2023-09-13 4:23 ` Baolu Lu
2023-09-13 6:18 ` Baolu Lu
2023-08-26 8:08 ` Baolu Lu
2023-08-25 2:30 ` [PATCH v4 10/10] iommu: Separate SVA and IOPF Lu Baolu
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=cbfbe969-1a92-52bf-f00c-3fb89feefd66@linux.intel.com \
--to=baolu.lu@linux.intel.com \
--cc=iommu@lists.linux.dev \
--cc=jacob.jun.pan@linux.intel.com \
--cc=jean-philippe@linaro.org \
--cc=jgg@ziepe.ca \
--cc=joro@8bytes.org \
--cc=kevin.tian@intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nicolinc@nvidia.com \
--cc=robin.murphy@arm.com \
--cc=will@kernel.org \
--cc=yi.l.liu@intel.com \
/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