diff mbox series

[RESEND,08/10] drm/v3d: use idr_init_base() to initialize v3d_priv->perfmon.idr

Message ID 20220720132830.193747-9-dakr@redhat.com (mailing list archive)
State New, archived
Headers show
Series drm: use idr_init_base() over idr_init() if applicable | expand

Commit Message

Danilo Krummrich July 20, 2022, 1:28 p.m. UTC
idr_init_base(), implemented by commit 6ce711f27500 ("idr: Make 1-based
IDRs more efficient"), let us set an arbitrary base other than
idr_init(), which uses base 0.

Since, for this IDR, no ID < 1 is ever requested/allocated, using
idr_init_base(&idr, 1) avoids unnecessary tree walks.

Signed-off-by: Danilo Krummrich <dakr@redhat.com>
Acked-by: Christian König <christian.koenig@amd.com>
---
 drivers/gpu/drm/v3d/v3d_perfmon.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Melissa Wen July 23, 2022, 10:45 p.m. UTC | #1
On 07/20, Danilo Krummrich wrote:
> idr_init_base(), implemented by commit 6ce711f27500 ("idr: Make 1-based
> IDRs more efficient"), let us set an arbitrary base other than
> idr_init(), which uses base 0.
> 
> Since, for this IDR, no ID < 1 is ever requested/allocated, using
> idr_init_base(&idr, 1) avoids unnecessary tree walks.
> 
> Signed-off-by: Danilo Krummrich <dakr@redhat.com>
> Acked-by: Christian König <christian.koenig@amd.com>
> ---
>  drivers/gpu/drm/v3d/v3d_perfmon.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/v3d/v3d_perfmon.c b/drivers/gpu/drm/v3d/v3d_perfmon.c
> index f6a88abccc7d..48aaaa972c49 100644
> --- a/drivers/gpu/drm/v3d/v3d_perfmon.c
> +++ b/drivers/gpu/drm/v3d/v3d_perfmon.c
> @@ -95,7 +95,7 @@ struct v3d_perfmon *v3d_perfmon_find(struct v3d_file_priv *v3d_priv, int id)
>  void v3d_perfmon_open_file(struct v3d_file_priv *v3d_priv)
>  {
>  	mutex_init(&v3d_priv->perfmon.lock);
> -	idr_init(&v3d_priv->perfmon.idr);
> +	idr_init_base(&v3d_priv->perfmon.idr, 1);

Reviewed-by: Melissa Wen <mwen@igalia.com>

Thanks

>  }
>  
>  static int v3d_perfmon_idr_del(int id, void *elem, void *data)
> -- 
> 2.36.1
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/v3d/v3d_perfmon.c b/drivers/gpu/drm/v3d/v3d_perfmon.c
index f6a88abccc7d..48aaaa972c49 100644
--- a/drivers/gpu/drm/v3d/v3d_perfmon.c
+++ b/drivers/gpu/drm/v3d/v3d_perfmon.c
@@ -95,7 +95,7 @@  struct v3d_perfmon *v3d_perfmon_find(struct v3d_file_priv *v3d_priv, int id)
 void v3d_perfmon_open_file(struct v3d_file_priv *v3d_priv)
 {
 	mutex_init(&v3d_priv->perfmon.lock);
-	idr_init(&v3d_priv->perfmon.idr);
+	idr_init_base(&v3d_priv->perfmon.idr, 1);
 }
 
 static int v3d_perfmon_idr_del(int id, void *elem, void *data)