Message ID | 43bab81816a7bb08fde868a43d62c439ede91f9f.1712978212.git.nicolinc@nvidia.com |
---|---|
State | Handled Elsewhere |
Headers | show |
Series | Add Tegra241 (Grace) CMDQV Support (part 2/2) | expand |
On Fri, Apr 12, 2024 at 08:46:59PM -0700, Nicolin Chen wrote: > Currently, the object allocation function calls: > level-0: iommufd_object_alloc() > level-1: ___iommufd_object_alloc() > level-2: _iommufd_object_alloc() Let's give __iommufd_object_alloc() a better name then It is a less general version of iommufd_object_alloc(), maybe iommufd_object_alloc_elm() ? Jason
On Sun, May 12, 2024 at 10:26:44AM -0300, Jason Gunthorpe wrote: > On Fri, Apr 12, 2024 at 08:46:59PM -0700, Nicolin Chen wrote: > > Currently, the object allocation function calls: > > level-0: iommufd_object_alloc() > > level-1: ___iommufd_object_alloc() > > level-2: _iommufd_object_alloc() > > Let's give __iommufd_object_alloc() a better name then > > It is a less general version of iommufd_object_alloc(), maybe > iommufd_object_alloc_elm() ? With the level-3 allocator, something like the followings? level-0: iommufd_object_alloc() level-1: __iommufd_object_alloc() level-2: iommufd_object_alloc_elm() level-3: __iommufd_object_alloc_elm() In this case, this patch will be: "iommufd: Rename _iommufd_object_alloc to iommufd_object_alloc_elm" Thanks Nicolin
On Sun, May 12, 2024 at 07:29:54PM -0700, Nicolin Chen wrote: > On Sun, May 12, 2024 at 10:26:44AM -0300, Jason Gunthorpe wrote: > > On Fri, Apr 12, 2024 at 08:46:59PM -0700, Nicolin Chen wrote: > > > Currently, the object allocation function calls: > > > level-0: iommufd_object_alloc() > > > level-1: ___iommufd_object_alloc() > > > level-2: _iommufd_object_alloc() > > > > Let's give __iommufd_object_alloc() a better name then > > > > It is a less general version of iommufd_object_alloc(), maybe > > iommufd_object_alloc_elm() ? > > With the level-3 allocator, something like the followings? > > level-0: iommufd_object_alloc() > level-1: __iommufd_object_alloc() > level-2: iommufd_object_alloc_elm() > level-3: __iommufd_object_alloc_elm() > > In this case, this patch will be: > "iommufd: Rename _iommufd_object_alloc to iommufd_object_alloc_elm" After reading your comments in PATCH-4, seems that we don't need the level-3 allocator, if we pass an ictx pointer throughout the core and driver. I will try with this first. Thanks Nicolin
On Sun, May 12, 2024 at 07:29:37PM -0700, Nicolin Chen wrote: > On Sun, May 12, 2024 at 10:26:44AM -0300, Jason Gunthorpe wrote: > > On Fri, Apr 12, 2024 at 08:46:59PM -0700, Nicolin Chen wrote: > > > Currently, the object allocation function calls: > > > level-0: iommufd_object_alloc() > > > level-1: ___iommufd_object_alloc() > > > level-2: _iommufd_object_alloc() > > > > Let's give __iommufd_object_alloc() a better name then > > > > It is a less general version of iommufd_object_alloc(), maybe > > iommufd_object_alloc_elm() ? > > With the level-3 allocator, something like the followings? > > level-0: iommufd_object_alloc() > level-1: __iommufd_object_alloc() > level-2: iommufd_object_alloc_elm() > level-3: __iommufd_object_alloc_elm() > > In this case, this patch will be: > "iommufd: Rename _iommufd_object_alloc to iommufd_object_alloc_elm" Yes Jason
diff --git a/drivers/iommu/iommufd/hw_pagetable.c b/drivers/iommu/iommufd/hw_pagetable.c index 33d142f8057d..111b8154cce8 100644 --- a/drivers/iommu/iommufd/hw_pagetable.c +++ b/drivers/iommu/iommufd/hw_pagetable.c @@ -115,7 +115,7 @@ iommufd_hwpt_paging_alloc(struct iommufd_ctx *ictx, struct iommufd_ioas *ioas, if (flags & ~valid_flags) return ERR_PTR(-EOPNOTSUPP); - hwpt_paging = __iommufd_object_alloc( + hwpt_paging = _iommufd_object_alloc( ictx, hwpt_paging, IOMMUFD_OBJ_HWPT_PAGING, common.obj); if (IS_ERR(hwpt_paging)) return ERR_CAST(hwpt_paging); @@ -218,7 +218,7 @@ iommufd_hwpt_nested_alloc(struct iommufd_ctx *ictx, if (parent->auto_domain || !parent->nest_parent) return ERR_PTR(-EINVAL); - hwpt_nested = __iommufd_object_alloc( + hwpt_nested = _iommufd_object_alloc( ictx, hwpt_nested, IOMMUFD_OBJ_HWPT_NESTED, common.obj); if (IS_ERR(hwpt_nested)) return ERR_CAST(hwpt_nested); diff --git a/drivers/iommu/iommufd/iommufd_private.h b/drivers/iommu/iommufd/iommufd_private.h index 3ea0a093ee50..3acbc67dd5f0 100644 --- a/drivers/iommu/iommufd/iommufd_private.h +++ b/drivers/iommu/iommufd/iommufd_private.h @@ -200,12 +200,12 @@ iommufd_object_put_and_try_destroy(struct iommufd_ctx *ictx, iommufd_object_remove(ictx, obj, obj->id, 0); } -struct iommufd_object *_iommufd_object_alloc(struct iommufd_ctx *ictx, - size_t size, - enum iommufd_object_type type); +struct iommufd_object *__iommufd_object_alloc(struct iommufd_ctx *ictx, + size_t size, + enum iommufd_object_type type); -#define __iommufd_object_alloc(ictx, ptr, type, obj) \ - container_of(_iommufd_object_alloc( \ +#define _iommufd_object_alloc(ictx, ptr, type, obj) \ + container_of(__iommufd_object_alloc( \ ictx, \ sizeof(*(ptr)) + BUILD_BUG_ON_ZERO( \ offsetof(typeof(*(ptr)), \ @@ -214,7 +214,7 @@ struct iommufd_object *_iommufd_object_alloc(struct iommufd_ctx *ictx, typeof(*(ptr)), obj) #define iommufd_object_alloc(ictx, ptr, type) \ - __iommufd_object_alloc(ictx, ptr, type, obj) + _iommufd_object_alloc(ictx, ptr, type, obj) /* * The IO Address Space (IOAS) pagetable is a virtual page table backed by the diff --git a/drivers/iommu/iommufd/main.c b/drivers/iommu/iommufd/main.c index 39b32932c61e..a51ab766e183 100644 --- a/drivers/iommu/iommufd/main.c +++ b/drivers/iommu/iommufd/main.c @@ -29,9 +29,9 @@ struct iommufd_object_ops { static const struct iommufd_object_ops iommufd_object_ops[]; static struct miscdevice vfio_misc_dev; -struct iommufd_object *_iommufd_object_alloc(struct iommufd_ctx *ictx, - size_t size, - enum iommufd_object_type type) +struct iommufd_object *__iommufd_object_alloc(struct iommufd_ctx *ictx, + size_t size, + enum iommufd_object_type type) { struct iommufd_object *obj; int rc;
Currently, the object allocation function calls: level-0: iommufd_object_alloc() level-1: ___iommufd_object_alloc() level-2: _iommufd_object_alloc() So the level-1 and level-2 look inverted. As the following change will add another level-3 helper, to make it clear: level-0: iommufd_object_alloc() level-1: _iommufd_object_alloc() level-2: __iommufd_object_alloc() level-3: ___iommufd_object_alloc() Swap the names of the level-1 and level-2 functions. Signed-off-by: Nicolin Chen <nicolinc@nvidia.com> --- drivers/iommu/iommufd/hw_pagetable.c | 4 ++-- drivers/iommu/iommufd/iommufd_private.h | 12 ++++++------ drivers/iommu/iommufd/main.c | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-)