RE: [PATCH v1 4/6] iommu/vt-d: Add VTD_FLAG_IOMMU_PROBED flag
> From: Baolu Lu > Sent: Friday, July 1, 2022 11:13 AM > > On 6/30/22 4:29 PM, Tian, Kevin wrote: > >> From: Lu Baolu > >> Sent: Saturday, June 25, 2022 8:52 PM > >> > >> In the IOMMU hot-add path, there's a need to check whether an IOMMU > >> has been probed. Instead of checking the IOMMU pointer in the global > >> list, it's better to allocate a flag bit in iommu->flags for this > >> purpose. > > > > Sorry I didn't get the point of original check. This is the hotplug path > > hence the caller of this function should already figure out it's a new > > iommu before reaching this point? > > > > Either did I. It was added by below commit without any comments about > this check. > > commit ffebeb46dd34736c90ffbca1ccb0bef8f4827c44 > Author: Jiang Liu > Date: Sun Nov 9 22:48:02 2014 +0800 > > iommu/vt-d: Enhance intel-iommu driver to support DMAR unit hotplug > > Implement required callback functions for intel-iommu driver > to support DMAR unit hotplug. > > Signed-off-by: Jiang Liu > Reviewed-by: Yijing Wang > Signed-off-by: Joerg Roedel > > I went through the whole hot-add process and found this check seemed to > be duplicate. > > Hot-add process starts from dmar_device_hotplug(), it uses a rwlock to > synchronize the hot-add paths. > > 2386 down_write(_global_lock); > 2387 if (insert) > 2388 ret = dmar_hotplug_insert(tmp); > 2389 else > 2390 ret = dmar_hotplug_remove(tmp); > 2391 up_write(_global_lock); > > dmar_device_hotplug() > ->dmar_hotplug_insert() > -->dmar_parse_one_drhd() /* the added intel_iommu is allocated here*/ > -->dmar_hp_add_drhd()/* the intel_iommu is about to bring up */ > --->intel_iommu_add() > > The duplicate check here: > > if (g_iommus[iommu->seq_id]) > return 0; > > All the iommu units are allocated and then initialized in the same > synchronized path. There is no need to check a duplicate initialization. > > I would like to remove this check if no objection. > This matches my impression. ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: [PATCH v1 4/6] iommu/vt-d: Add VTD_FLAG_IOMMU_PROBED flag
On 6/30/22 4:29 PM, Tian, Kevin wrote: From: Lu Baolu Sent: Saturday, June 25, 2022 8:52 PM In the IOMMU hot-add path, there's a need to check whether an IOMMU has been probed. Instead of checking the IOMMU pointer in the global list, it's better to allocate a flag bit in iommu->flags for this purpose. Sorry I didn't get the point of original check. This is the hotplug path hence the caller of this function should already figure out it's a new iommu before reaching this point? Either did I. It was added by below commit without any comments about this check. commit ffebeb46dd34736c90ffbca1ccb0bef8f4827c44 Author: Jiang Liu Date: Sun Nov 9 22:48:02 2014 +0800 iommu/vt-d: Enhance intel-iommu driver to support DMAR unit hotplug Implement required callback functions for intel-iommu driver to support DMAR unit hotplug. Signed-off-by: Jiang Liu Reviewed-by: Yijing Wang Signed-off-by: Joerg Roedel I went through the whole hot-add process and found this check seemed to be duplicate. Hot-add process starts from dmar_device_hotplug(), it uses a rwlock to synchronize the hot-add paths. 2386 down_write(_global_lock); 2387 if (insert) 2388 ret = dmar_hotplug_insert(tmp); 2389 else 2390 ret = dmar_hotplug_remove(tmp); 2391 up_write(_global_lock); dmar_device_hotplug() ->dmar_hotplug_insert() -->dmar_parse_one_drhd() /* the added intel_iommu is allocated here*/ -->dmar_hp_add_drhd() /* the intel_iommu is about to bring up */ --->intel_iommu_add() The duplicate check here: if (g_iommus[iommu->seq_id]) return 0; All the iommu units are allocated and then initialized in the same synchronized path. There is no need to check a duplicate initialization. I would like to remove this check if no objection. Best regards, baolu ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
RE: [PATCH v1 4/6] iommu/vt-d: Add VTD_FLAG_IOMMU_PROBED flag
> From: Lu Baolu > Sent: Saturday, June 25, 2022 8:52 PM > > In the IOMMU hot-add path, there's a need to check whether an IOMMU > has been probed. Instead of checking the IOMMU pointer in the global > list, it's better to allocate a flag bit in iommu->flags for this > purpose. Sorry I didn't get the point of original check. This is the hotplug path hence the caller of this function should already figure out it's a new iommu before reaching this point? ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu