[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e7ec64a8-7980-444e-9e04-89aa87bebb93@intel.com>
Date: Wed, 25 Oct 2023 18:04:10 +0800
From: Yi Liu <yi.l.liu@...el.com>
To: "Tian, Kevin" <kevin.tian@...el.com>,
"joro@...tes.org" <joro@...tes.org>,
"alex.williamson@...hat.com" <alex.williamson@...hat.com>,
"jgg@...dia.com" <jgg@...dia.com>,
"robin.murphy@....com" <robin.murphy@....com>,
"baolu.lu@...ux.intel.com" <baolu.lu@...ux.intel.com>
CC: "cohuck@...hat.com" <cohuck@...hat.com>,
"eric.auger@...hat.com" <eric.auger@...hat.com>,
"nicolinc@...dia.com" <nicolinc@...dia.com>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"mjrosato@...ux.ibm.com" <mjrosato@...ux.ibm.com>,
"chao.p.peng@...ux.intel.com" <chao.p.peng@...ux.intel.com>,
"yi.y.sun@...ux.intel.com" <yi.y.sun@...ux.intel.com>,
"peterx@...hat.com" <peterx@...hat.com>,
"jasowang@...hat.com" <jasowang@...hat.com>,
"shameerali.kolothum.thodi@...wei.com"
<shameerali.kolothum.thodi@...wei.com>,
"lulu@...hat.com" <lulu@...hat.com>,
"suravee.suthikulpanit@....com" <suravee.suthikulpanit@....com>,
"iommu@...ts.linux.dev" <iommu@...ts.linux.dev>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-kselftest@...r.kernel.org" <linux-kselftest@...r.kernel.org>,
"Duan, Zhenzhong" <zhenzhong.duan@...el.com>,
"Martins, Joao" <joao.m.martins@...cle.com>
Subject: Re: [PATCH v6 04/10] iommufd/device: Wrap
IOMMUFD_OBJ_HWPT_PAGING-only configurations
On 2023/10/25 14:46, Tian, Kevin wrote:
>> From: Liu, Yi L <yi.l.liu@...el.com>
>> Sent: Tuesday, October 24, 2023 11:06 PM
>> +
>> +static int iommufd_group_do_replace_paging(struct iommufd_group
>> *igroup,
>> + struct iommufd_hw_pagetable
>> *hwpt)
>> +{
>> + struct iommufd_hw_pagetable *old_hwpt = igroup->hwpt;
>> + struct iommufd_device *cur;
>> + int rc;
>> +
>> + lockdep_assert_held(&igroup->lock);
>> +
>> + if (hwpt_is_paging(old_hwpt) && hwpt->ioas != old_hwpt->ioas) {
>> + list_for_each_entry(cur, &igroup->device_list, group_item) {
>> + rc = iopt_table_enforce_dev_resv_regions(
>> + &hwpt->ioas->iopt, cur->dev, NULL);
>> + if (rc)
>> + goto err_unresv;
>> + }
>
> should be:
>
> if (!hwpt_is_paging(old_hwpt) || hwpt->ioas != old_hwpt->ioas) {
> ...
oh, yes. The original logic is to add resv region when the ioas are
different between new and old hwpts. But now, if the old hwpt is not
paging, then it's already needed to add resv regions in the ioas.
Regards,
Yi Liu
Powered by blists - more mailing lists