[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <338ee285-ae28-4e3f-a7de-57205d9e9873@intel.com>
Date: Wed, 5 Mar 2025 11:34:44 +0800
From: Yi Liu <yi.l.liu@...el.com>
To: Baolu Lu <baolu.lu@...ux.intel.com>, Joerg Roedel <joro@...tes.org>, "Will
Deacon" <will@...nel.org>, Robin Murphy <robin.murphy@....com>, "Jason
Gunthorpe" <jgg@...pe.ca>, Kevin Tian <kevin.tian@...el.com>
CC: Dave Jiang <dave.jiang@...el.com>, Vinod Koul <vkoul@...nel.org>, "Fenghua
Yu" <fenghuay@...dia.com>, Zhangfei Gao <zhangfei.gao@...aro.org>, Zhou Wang
<wangzhou1@...ilicon.com>, <iommu@...ts.linux.dev>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 06/12] iommu/vt-d: Cleanup
intel_context_flush_present()
On 2025/3/5 10:21, Baolu Lu wrote:
> On 3/4/25 16:43, Yi Liu wrote:
>> On 2025/2/24 13:16, Lu Baolu wrote:
>>> The intel_context_flush_present() is called in places where either the
>>> scalable mode is disabled, or scalable mode is enabled but all PASID
>>> entries are known to be non-present. In these cases, the flush_domains
>>> path within intel_context_flush_present() will never execute. This dead
>>> code is therefore removed.
>>
>> The reason for this path is the remaining caller of
>> intel_context_flush_present() is only the domain_context_clear_one() which
>> is called in legacy mode path. Is it?
>> If so, it seems unnecessary to keep __context_flush_dev_iotlb(info); in the
>> end of the new intel_context_flush_present(). Also, since this helper is
>> more for legacy mode, might be good to move it out of pasid.c.:)
>
> This helper is for invalidating various caches when a context entry is
> present and certain fields are changed. It is used in both legacy and
> scalable modes.
hmmm. the kdoc says all the pasid entries are non-present, is it necessary
to flush dev_tlb in such scenario? I suppose no present pasid entry means
no pagetable as well.
> In the past, this helper would work even if some PASIDs were still in
> use. After the changes introduced in this series, this PASID-in-use case
> is removed. So remove the dead code.
yeah, I got this part. As I mentioned, the only caller now is the
domain_context_clear_one() which is used in the legacy path. That's why I
feel like it is now more for legacy mode path now after this series.
--
Regards,
Yi Liu
Powered by blists - more mailing lists