2022-07-20 13:34:46

by Danilo Krummrich

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

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 <[email protected]>
Acked-by: Christian König <[email protected]>
---
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);
}

static int v3d_perfmon_idr_del(int id, void *elem, void *data)
--
2.36.1


2022-07-23 23:05:01

by Melissa Wen

[permalink] [raw]
Subject: Re: [PATCH RESEND 08/10] drm/v3d: use idr_init_base() to initialize v3d_priv->perfmon.idr

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 <[email protected]>
> Acked-by: Christian K?nig <[email protected]>
> ---
> 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 <[email protected]>

Thanks

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


Attachments:
(No filename) (1.20 kB)
signature.asc (849.00 B)
Download all attachments