From: Jason Gunthorpe <jgg@nvidia.com>
To: Michael Shavit <mshavit@google.com>
Cc: Nicolin Chen <nicolinc@nvidia.com>, Will Deacon <will@kernel.org>,
Robin Murphy <robin.murphy@arm.com>,
Joerg Roedel <joro@8bytes.org>,
jean-philippe@linaro.org, baolu.lu@linux.intel.com,
linux-arm-kernel@lists.infradead.org, iommu@lists.linux.dev,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 02/13] iommu/arm-smmu-v3: Add smmu_s1_cfg to smmu_master
Date: Thu, 27 Jul 2023 11:21:53 -0300 [thread overview]
Message-ID: <ZMJ9gYM+Rp8yxpv2@nvidia.com> (raw)
In-Reply-To: <CAKHBV27kr540gTDbgGwzYt6_X7J=NfdNONVe-_y0-XpAQjc4jQ@mail.gmail.com>
On Thu, Jul 27, 2023 at 10:04:04PM +0800, Michael Shavit wrote:
> Awesome that helps a lot. These are the patches I have in mind:
>
> 1. Move ctx_desc out of s1_cfg
> 2. Replace domain->s1_cfg with `struct arm_smmu_ctx_desc_cfg cd_table`
> 3. Move stall_enabled from domain to arm_smmu_ctx_desc_cfg
> 4. Accept an arm_smmu_master instead of an arm_smmu_domain as the
> parameter for arm_smmu_write_ctx_desc
> --- arm_smmu_write_ctx_desc can simply get the cd_table it writes to
> from master->domain->cd_table; this get's replaced by master->cd_table
> in subsequent commits.
Makes sense
> --- SVA is weird if we cut changes here: it iterates over all masters
> a domain is attached to in order to call arm_smmu_write_ctx_desc(),
> which ends up writing to the shared cd_table since in master->domain.
> This becomes more sensible once masters stop sharing the cd _table in
> subsequent commits.
Seems like it is OK inside the series
> --- arm_smmu_write_ctx_desc is used to sync the cd for all masters the
> domain was attached to. Now that SVA is calling it in a loop, and to
> break the dependency on arm_smmu_domain, we should only sync for the
> master passed in as the parameter
Sounds correct
> 5. Introduce a skip_cd_sync parameter to arm_smmu_write_ctx_desc so
> that arm_smmu_domain_finalise_s1 can skip the sync_cd before the
> cd_table is attached to the master. Before the previous commit,
> arm_smmu_domain_finalise_s1 was calling arm_smmu_write_ctx_desc()
> before adding the master to the domain->devices list, which was used
> by arm_sync_smmu() to issue sync commands to masters. This
> optimization was broken by the previous commit since we stopped
> depending on domain->devices.
Tracking if the cd table is not yet installed in a STE might be a
cleaner approach than a flag?
> 6. Move cd_table from domain to arm_smmu_master->cd_table.
Yep
Jason
next prev parent reply other threads:[~2023-07-27 14:22 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-21 6:37 [PATCH v4 00/13] Add PASID support to SMMUv3 unmanaged domains Michael Shavit
2023-06-21 6:37 ` [PATCH v4 01/13] iommu/arm-smmu-v3: Move ctx_desc out of s1_cfg Michael Shavit
2023-06-21 6:37 ` [PATCH v4 02/13] iommu/arm-smmu-v3: Add smmu_s1_cfg to smmu_master Michael Shavit
2023-07-13 1:22 ` Nicolin Chen
2023-07-13 8:34 ` Michael Shavit
2023-07-13 14:29 ` Jason Gunthorpe
2023-07-13 16:16 ` Michael Shavit
2023-07-13 16:34 ` Michael Shavit
2023-07-13 16:41 ` Jason Gunthorpe
2023-07-13 19:54 ` Nicolin Chen
2023-07-13 23:48 ` Jason Gunthorpe
2023-07-14 1:14 ` Nicolin Chen
2023-07-14 9:12 ` Michael Shavit
2023-07-14 11:58 ` Will Deacon
2023-07-14 12:50 ` Jason Gunthorpe
2023-07-14 8:02 ` Michael Shavit
2023-07-14 13:21 ` Jason Gunthorpe
2023-07-17 10:06 ` Michael Shavit
2023-07-17 12:29 ` Jason Gunthorpe
2023-07-18 8:56 ` Michael Shavit
2023-07-27 11:22 ` Michael Shavit
2023-07-27 11:54 ` Jason Gunthorpe
2023-07-27 14:04 ` Michael Shavit
2023-07-27 14:21 ` Jason Gunthorpe [this message]
2023-06-21 6:37 ` [PATCH v4 03/13] iommu/arm-smmu-v3: Refactor write_strtab_ent Michael Shavit
2023-07-13 1:41 ` Nicolin Chen
2023-06-21 6:37 ` [PATCH v4 04/13] iommu/arm-smmu-v3: Refactor write_ctx_desc Michael Shavit
2023-06-21 6:37 ` [PATCH v4 05/13] iommu/arm-smmu-v3: Use the master-owned s1_cfg Michael Shavit
2023-07-13 1:57 ` Nicolin Chen
2023-07-13 4:25 ` Nicolin Chen
2023-06-21 6:37 ` [PATCH v4 06/13] iommu/arm-smmu-v3: Simplify arm_smmu_enable_ats Michael Shavit
2023-06-21 6:37 ` [PATCH v4 07/13] iommu/arm-smmu-v3: Keep track of attached ssids Michael Shavit
2023-07-13 2:09 ` Nicolin Chen
2023-07-21 6:48 ` Michael Shavit
2023-07-27 4:44 ` Nicolin Chen
2023-07-13 4:45 ` Nicolin Chen
2023-07-14 9:30 ` Michael Shavit
2023-07-15 0:35 ` Nicolin Chen
2023-07-18 8:51 ` Michael Shavit
2023-06-21 6:37 ` [PATCH v4 08/13] iommu/arm-smmu-v3: Add helper for atc invalidation Michael Shavit
2023-06-21 6:37 ` [PATCH v4 09/13] iommu/arm-smmu-v3: Implement set_dev_pasid Michael Shavit
2023-06-23 0:32 ` Nicolin Chen
2023-06-26 2:33 ` Michael Shavit
2023-06-26 18:14 ` Nicolin Chen
2023-06-28 13:36 ` Michael Shavit
2023-07-13 8:44 ` Michael Shavit
2023-06-21 6:37 ` [PATCH v4 10/13] iommu/arm-smmu-v3-sva: Remove bond refcount Michael Shavit
2023-06-21 6:37 ` [PATCH v4 11/13] iommu/arm-smmu-v3-sva: Clean unused iommu_sva Michael Shavit
2023-06-21 6:37 ` [PATCH v4 12/13] iommu/arm-smmu-v3-sva: Remove arm_smmu_bond Michael Shavit
2023-07-13 8:41 ` Michael Shavit
2023-06-21 6:37 ` [PATCH v4 13/13] iommu/arm-smmu-v3-sva: Add check when enabling sva Michael Shavit
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=ZMJ9gYM+Rp8yxpv2@nvidia.com \
--to=jgg@nvidia.com \
--cc=baolu.lu@linux.intel.com \
--cc=iommu@lists.linux.dev \
--cc=jean-philippe@linaro.org \
--cc=joro@8bytes.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mshavit@google.com \
--cc=nicolinc@nvidia.com \
--cc=robin.murphy@arm.com \
--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