From: Jason Gunthorpe <jgg@nvidia.com>
To: Jean-Philippe Brucker <jean-philippe@linaro.org>
Cc: fenghua.yu@intel.com, catalin.marinas@arm.com,
robin.murphy@arm.com, linux-mm@kvack.org,
iommu@lists.linux-foundation.org, zhangfei.gao@linaro.org,
will@kernel.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v10 12/13] iommu/arm-smmu-v3: Implement iommu_sva_bind/unbind()
Date: Tue, 24 Nov 2020 19:58:00 -0400 [thread overview]
Message-ID: <20201124235800.GA242277@nvidia.com> (raw)
In-Reply-To: <20200918101852.582559-13-jean-philippe@linaro.org>
On Fri, Sep 18, 2020 at 12:18:52PM +0200, Jean-Philippe Brucker wrote:
> +/* Allocate or get existing MMU notifier for this {domain, mm} pair */
> +static struct arm_smmu_mmu_notifier *
> +arm_smmu_mmu_notifier_get(struct arm_smmu_domain *smmu_domain,
> + struct mm_struct *mm)
> +{
> + int ret;
> + struct arm_smmu_ctx_desc *cd;
> + struct arm_smmu_mmu_notifier *smmu_mn;
> +
> + list_for_each_entry(smmu_mn, &smmu_domain->mmu_notifiers, list) {
> + if (smmu_mn->mn.mm == mm) {
> + refcount_inc(&smmu_mn->refs);
> + return smmu_mn;
> + }
> + }
> +
> + cd = arm_smmu_alloc_shared_cd(mm);
> + if (IS_ERR(cd))
> + return ERR_CAST(cd);
> +
> + smmu_mn = kzalloc(sizeof(*smmu_mn), GFP_KERNEL);
> + if (!smmu_mn) {
> + ret = -ENOMEM;
> + goto err_free_cd;
> + }
> +
> + refcount_set(&smmu_mn->refs, 1);
> + smmu_mn->cd = cd;
> + smmu_mn->domain = smmu_domain;
> + smmu_mn->mn.ops = &arm_smmu_mmu_notifier_ops;
> +
> + ret = mmu_notifier_register(&smmu_mn->mn, mm);
> + if (ret) {
> + kfree(smmu_mn);
> + goto err_free_cd;
> + }
I suppose this hasn't been applied yet, but someone asked me to look
at this series..
Why did you drop the change to mmu_notifier_get here? I'm strongly
trying to discourage static lists matching mm's like smmu_mn is
doing. This is handled by the core code, don't open code it..
Thanks,
Jason
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@nvidia.com>
To: Jean-Philippe Brucker <jean-philippe@linaro.org>
Cc: fenghua.yu@intel.com, jacob.jun.pan@linux.intel.com,
eric.auger@redhat.com, catalin.marinas@arm.com, joro@8bytes.org,
robin.murphy@arm.com, linux-mm@kvack.org,
iommu@lists.linux-foundation.org, Jonathan.Cameron@huawei.com,
zhangfei.gao@linaro.org, will@kernel.org, xuzaibo@huawei.com,
linux-arm-kernel@lists.infradead.org, baolu.lu@linux.intel.com
Subject: Re: [PATCH v10 12/13] iommu/arm-smmu-v3: Implement iommu_sva_bind/unbind()
Date: Tue, 24 Nov 2020 19:58:00 -0400 [thread overview]
Message-ID: <20201124235800.GA242277@nvidia.com> (raw)
In-Reply-To: <20200918101852.582559-13-jean-philippe@linaro.org>
On Fri, Sep 18, 2020 at 12:18:52PM +0200, Jean-Philippe Brucker wrote:
> +/* Allocate or get existing MMU notifier for this {domain, mm} pair */
> +static struct arm_smmu_mmu_notifier *
> +arm_smmu_mmu_notifier_get(struct arm_smmu_domain *smmu_domain,
> + struct mm_struct *mm)
> +{
> + int ret;
> + struct arm_smmu_ctx_desc *cd;
> + struct arm_smmu_mmu_notifier *smmu_mn;
> +
> + list_for_each_entry(smmu_mn, &smmu_domain->mmu_notifiers, list) {
> + if (smmu_mn->mn.mm == mm) {
> + refcount_inc(&smmu_mn->refs);
> + return smmu_mn;
> + }
> + }
> +
> + cd = arm_smmu_alloc_shared_cd(mm);
> + if (IS_ERR(cd))
> + return ERR_CAST(cd);
> +
> + smmu_mn = kzalloc(sizeof(*smmu_mn), GFP_KERNEL);
> + if (!smmu_mn) {
> + ret = -ENOMEM;
> + goto err_free_cd;
> + }
> +
> + refcount_set(&smmu_mn->refs, 1);
> + smmu_mn->cd = cd;
> + smmu_mn->domain = smmu_domain;
> + smmu_mn->mn.ops = &arm_smmu_mmu_notifier_ops;
> +
> + ret = mmu_notifier_register(&smmu_mn->mn, mm);
> + if (ret) {
> + kfree(smmu_mn);
> + goto err_free_cd;
> + }
I suppose this hasn't been applied yet, but someone asked me to look
at this series..
Why did you drop the change to mmu_notifier_get here? I'm strongly
trying to discourage static lists matching mm's like smmu_mn is
doing. This is handled by the core code, don't open code it..
Thanks,
Jason
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@nvidia.com>
To: Jean-Philippe Brucker <jean-philippe@linaro.org>
Cc: <iommu@lists.linux-foundation.org>,
<linux-arm-kernel@lists.infradead.org>, <linux-mm@kvack.org>,
<joro@8bytes.org>, <catalin.marinas@arm.com>, <will@kernel.org>,
<robin.murphy@arm.com>, <baolu.lu@linux.intel.com>,
<Jonathan.Cameron@huawei.com>, <jacob.jun.pan@linux.intel.com>,
<zhangfei.gao@linaro.org>, <xuzaibo@huawei.com>,
<fenghua.yu@intel.com>, <eric.auger@redhat.com>
Subject: Re: [PATCH v10 12/13] iommu/arm-smmu-v3: Implement iommu_sva_bind/unbind()
Date: Tue, 24 Nov 2020 19:58:00 -0400 [thread overview]
Message-ID: <20201124235800.GA242277@nvidia.com> (raw)
In-Reply-To: <20200918101852.582559-13-jean-philippe@linaro.org>
On Fri, Sep 18, 2020 at 12:18:52PM +0200, Jean-Philippe Brucker wrote:
> +/* Allocate or get existing MMU notifier for this {domain, mm} pair */
> +static struct arm_smmu_mmu_notifier *
> +arm_smmu_mmu_notifier_get(struct arm_smmu_domain *smmu_domain,
> + struct mm_struct *mm)
> +{
> + int ret;
> + struct arm_smmu_ctx_desc *cd;
> + struct arm_smmu_mmu_notifier *smmu_mn;
> +
> + list_for_each_entry(smmu_mn, &smmu_domain->mmu_notifiers, list) {
> + if (smmu_mn->mn.mm == mm) {
> + refcount_inc(&smmu_mn->refs);
> + return smmu_mn;
> + }
> + }
> +
> + cd = arm_smmu_alloc_shared_cd(mm);
> + if (IS_ERR(cd))
> + return ERR_CAST(cd);
> +
> + smmu_mn = kzalloc(sizeof(*smmu_mn), GFP_KERNEL);
> + if (!smmu_mn) {
> + ret = -ENOMEM;
> + goto err_free_cd;
> + }
> +
> + refcount_set(&smmu_mn->refs, 1);
> + smmu_mn->cd = cd;
> + smmu_mn->domain = smmu_domain;
> + smmu_mn->mn.ops = &arm_smmu_mmu_notifier_ops;
> +
> + ret = mmu_notifier_register(&smmu_mn->mn, mm);
> + if (ret) {
> + kfree(smmu_mn);
> + goto err_free_cd;
> + }
I suppose this hasn't been applied yet, but someone asked me to look
at this series..
Why did you drop the change to mmu_notifier_get here? I'm strongly
trying to discourage static lists matching mm's like smmu_mn is
doing. This is handled by the core code, don't open code it..
Thanks,
Jason
next prev parent reply other threads:[~2020-11-24 23:58 UTC|newest]
Thread overview: 111+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-18 10:18 [PATCH v10 00/13] iommu: Shared Virtual Addressing for SMMUv3 (PT sharing part) Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` [PATCH v10 01/13] mm: Define pasid in mm Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-28 22:22 ` Will Deacon
2020-09-28 22:22 ` Will Deacon
2020-09-28 22:22 ` Will Deacon
2020-09-28 22:43 ` Fenghua Yu
2020-09-28 22:43 ` Fenghua Yu
2020-09-28 22:43 ` Fenghua Yu
2020-09-30 9:13 ` Jean-Philippe Brucker
2020-09-30 9:13 ` Jean-Philippe Brucker
2020-09-30 9:13 ` Jean-Philippe Brucker
2020-09-18 10:18 ` [PATCH v10 02/13] iommu/ioasid: Add ioasid references Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` [PATCH v10 03/13] iommu/sva: Add PASID helpers Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` [PATCH v10 04/13] arm64: mm: Pin down ASIDs for sharing mm with devices Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` [PATCH v10 05/13] iommu/io-pgtable-arm: Move some definitions to a header Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` [PATCH v10 06/13] arm64: cpufeature: Export symbol read_sanitised_ftr_reg() Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` [PATCH v10 07/13] iommu/arm-smmu-v3: Move definitions to a header Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` [PATCH v10 08/13] iommu/arm-smmu-v3: Share process page tables Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` [PATCH v10 09/13] iommu/arm-smmu-v3: Seize private ASID Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 13:07 ` Jonathan Cameron
2020-09-18 13:07 ` Jonathan Cameron
2020-09-18 13:07 ` Jonathan Cameron
2020-09-18 10:18 ` [PATCH v10 10/13] iommu/arm-smmu-v3: Check for SVA features Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-21 8:59 ` Shameerali Kolothum Thodi
2020-09-21 8:59 ` Shameerali Kolothum Thodi
2020-09-21 8:59 ` Shameerali Kolothum Thodi
2020-09-24 10:13 ` Jean-Philippe Brucker
2020-09-24 10:13 ` Jean-Philippe Brucker
2020-09-24 10:13 ` Jean-Philippe Brucker
2020-09-24 11:13 ` Shameerali Kolothum Thodi
2020-09-24 11:13 ` Shameerali Kolothum Thodi
2020-09-24 11:13 ` Shameerali Kolothum Thodi
2020-12-09 19:49 ` Krishna Reddy
2020-12-09 19:49 ` Krishna Reddy
2020-12-09 19:49 ` Krishna Reddy
2020-12-09 20:07 ` Will Deacon
2020-12-09 20:07 ` Will Deacon
2020-12-09 20:07 ` Will Deacon
2020-12-09 20:38 ` Krishna Reddy
2020-12-09 20:38 ` Krishna Reddy
2020-12-09 20:38 ` Krishna Reddy
2020-12-14 9:32 ` Jean-Philippe Brucker
2020-12-14 9:32 ` Jean-Philippe Brucker
2020-12-14 9:32 ` Jean-Philippe Brucker
2020-12-14 23:23 ` Krishna Reddy
2020-12-14 23:23 ` Krishna Reddy
2020-12-14 23:23 ` Krishna Reddy
2020-09-18 10:18 ` [PATCH v10 11/13] iommu/arm-smmu-v3: Add SVA device feature Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-12-15 1:09 ` Krishna Reddy
2020-12-15 1:09 ` Krishna Reddy
2020-12-15 1:09 ` Krishna Reddy
2021-01-06 10:09 ` Jean-Philippe Brucker
2021-01-06 10:09 ` Jean-Philippe Brucker
2021-01-06 10:09 ` Jean-Philippe Brucker
2021-01-06 17:23 ` Krishna Reddy
2021-01-06 17:23 ` Krishna Reddy
2021-01-06 17:23 ` Krishna Reddy
2020-09-18 10:18 ` [PATCH v10 12/13] iommu/arm-smmu-v3: Implement iommu_sva_bind/unbind() Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-11-24 23:58 ` Jason Gunthorpe [this message]
2020-11-24 23:58 ` Jason Gunthorpe
2020-11-24 23:58 ` Jason Gunthorpe
2020-11-25 9:27 ` Jean-Philippe Brucker
2020-11-25 9:27 ` Jean-Philippe Brucker
2020-11-25 9:27 ` Jean-Philippe Brucker
2020-11-26 0:37 ` Jason Gunthorpe
2020-11-26 0:37 ` Jason Gunthorpe
2020-11-26 0:37 ` Jason Gunthorpe
2020-09-18 10:18 ` [PATCH v10 13/13] iommu/arm-smmu-v3: Hook up ATC invalidation to mm ops Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 10:18 ` Jean-Philippe Brucker
2020-09-18 13:15 ` [PATCH v10 00/13] iommu: Shared Virtual Addressing for SMMUv3 (PT sharing part) Jonathan Cameron
2020-09-18 13:15 ` Jonathan Cameron
2020-09-18 13:15 ` Jonathan Cameron
2020-09-28 16:47 ` Jean-Philippe Brucker
2020-09-28 16:47 ` Jean-Philippe Brucker
2020-09-28 16:47 ` Jean-Philippe Brucker
2020-09-28 17:23 ` Will Deacon
2020-09-28 17:23 ` Will Deacon
2020-09-28 17:23 ` Will Deacon
2020-09-28 22:39 ` Will Deacon
2020-09-28 22:39 ` Will Deacon
2020-09-28 22:39 ` Will Deacon
2020-09-30 9:12 ` Jean-Philippe Brucker
2020-09-30 9:12 ` Jean-Philippe Brucker
2020-09-30 9:12 ` Jean-Philippe Brucker
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=20201124235800.GA242277@nvidia.com \
--to=jgg@nvidia.com \
--cc=catalin.marinas@arm.com \
--cc=fenghua.yu@intel.com \
--cc=iommu@lists.linux-foundation.org \
--cc=jean-philippe@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-mm@kvack.org \
--cc=robin.murphy@arm.com \
--cc=will@kernel.org \
--cc=zhangfei.gao@linaro.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.