* [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable
@ 2022-07-01 18:52 dakr
2022-07-01 18:52 ` [PATCH 01/10] drm/amdgpu: use idr_init_base() to initialize mgr->ctx_handles dakr
` (10 more replies)
0 siblings, 11 replies; 16+ messages in thread
From: dakr @ 2022-07-01 18:52 UTC (permalink / raw)
To: airlied, daniel, christian.koenig, emma
Cc: Danilo Krummrich, linux-kernel, dri-devel
From: Danilo Krummrich <dakr@redhat.com>
This patch series initializes IDRs with idr_init_base(&idr, 1) rather than
idr_init(&idr) in case for the particular IDR no IDs < 1 are ever requested -
this avoids unnecessary tree walks.
Danilo Krummrich (10):
drm/amdgpu: use idr_init_base() to initialize mgr->ctx_handles
drm/amdgpu: use idr_init_base() to initialize fpriv->bo_list_handles
drm: use idr_init_base() to initialize master->magic_map
drm: use idr_init_base() to initialize master->lessee_idr
drm: use idr_init_base() to initialize mode_config.object_idr
drm: use idr_init_base() to initialize mode_config.tile_idr
drm/sis: use idr_init_base() to initialize dev_priv->object_idr
drm/v3d: use idr_init_base() to initialize v3d_priv->perfmon.idr
drm/via: use idr_init_base() to initialize dev_priv->object_idr
drm/todo: remove task for idr_init_base()
Documentation/gpu/todo.rst | 12 ------------
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 +-
drivers/gpu/drm/drm_auth.c | 4 ++--
drivers/gpu/drm/drm_mode_config.c | 4 ++--
drivers/gpu/drm/sis/sis_drv.c | 2 +-
drivers/gpu/drm/v3d/v3d_perfmon.c | 2 +-
drivers/gpu/drm/via/via_map.c | 2 +-
8 files changed, 9 insertions(+), 21 deletions(-)
--
2.36.1
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 01/10] drm/amdgpu: use idr_init_base() to initialize mgr->ctx_handles
2022-07-01 18:52 [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable dakr
@ 2022-07-01 18:52 ` dakr
2022-07-01 18:52 ` [PATCH 02/10] drm/amdgpu: use idr_init_base() to initialize fpriv->bo_list_handles dakr
` (9 subsequent siblings)
10 siblings, 0 replies; 16+ messages in thread
From: dakr @ 2022-07-01 18:52 UTC (permalink / raw)
To: airlied, daniel, christian.koenig, emma
Cc: Danilo Krummrich, linux-kernel, dri-devel
From: Danilo Krummrich <dakr@redhat.com>
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, using
idr_init_base(&idr, 1) avoids unnecessary tree walks.
Signed-off-by: Danilo Krummrich <dakr@redhat.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
index 7dc92ef36b2b..cc87c3809a8d 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
@@ -841,7 +841,7 @@ void amdgpu_ctx_mgr_init(struct amdgpu_ctx_mgr *mgr,
mgr->adev = adev;
mutex_init(&mgr->lock);
- idr_init(&mgr->ctx_handles);
+ idr_init_base(&mgr->ctx_handles, 1);
for (i = 0; i < AMDGPU_HW_IP_NUM; ++i)
atomic64_set(&mgr->time_spend[i], 0);
--
2.36.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 02/10] drm/amdgpu: use idr_init_base() to initialize fpriv->bo_list_handles
2022-07-01 18:52 [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable dakr
2022-07-01 18:52 ` [PATCH 01/10] drm/amdgpu: use idr_init_base() to initialize mgr->ctx_handles dakr
@ 2022-07-01 18:52 ` dakr
2022-07-01 18:52 ` [PATCH 03/10] drm: use idr_init_base() to initialize master->magic_map dakr
` (8 subsequent siblings)
10 siblings, 0 replies; 16+ messages in thread
From: dakr @ 2022-07-01 18:52 UTC (permalink / raw)
To: airlied, daniel, christian.koenig, emma
Cc: Danilo Krummrich, linux-kernel, dri-devel
From: Danilo Krummrich <dakr@redhat.com>
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>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
index 6de63ea6687e..103927c48d05 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
@@ -1148,7 +1148,7 @@ int amdgpu_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv)
}
mutex_init(&fpriv->bo_list_lock);
- idr_init(&fpriv->bo_list_handles);
+ idr_init_base(&fpriv->bo_list_handles, 1);
amdgpu_ctx_mgr_init(&fpriv->ctx_mgr, adev);
--
2.36.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 03/10] drm: use idr_init_base() to initialize master->magic_map
2022-07-01 18:52 [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable dakr
2022-07-01 18:52 ` [PATCH 01/10] drm/amdgpu: use idr_init_base() to initialize mgr->ctx_handles dakr
2022-07-01 18:52 ` [PATCH 02/10] drm/amdgpu: use idr_init_base() to initialize fpriv->bo_list_handles dakr
@ 2022-07-01 18:52 ` dakr
2022-07-01 18:52 ` [PATCH 04/10] drm: use idr_init_base() to initialize master->lessee_idr dakr
` (7 subsequent siblings)
10 siblings, 0 replies; 16+ messages in thread
From: dakr @ 2022-07-01 18:52 UTC (permalink / raw)
To: airlied, daniel, christian.koenig, emma
Cc: Danilo Krummrich, linux-kernel, dri-devel
From: Danilo Krummrich <dakr@redhat.com>
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>
---
drivers/gpu/drm/drm_auth.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_auth.c b/drivers/gpu/drm/drm_auth.c
index 6e433d465f41..63395bebaa6b 100644
--- a/drivers/gpu/drm/drm_auth.c
+++ b/drivers/gpu/drm/drm_auth.c
@@ -140,7 +140,7 @@ struct drm_master *drm_master_create(struct drm_device *dev)
kref_init(&master->refcount);
drm_master_legacy_init(master);
- idr_init(&master->magic_map);
+ idr_init_base(&master->magic_map, 1);
master->dev = dev;
/* initialize the tree of output resource lessees */
--
2.36.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 04/10] drm: use idr_init_base() to initialize master->lessee_idr
2022-07-01 18:52 [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable dakr
` (2 preceding siblings ...)
2022-07-01 18:52 ` [PATCH 03/10] drm: use idr_init_base() to initialize master->magic_map dakr
@ 2022-07-01 18:52 ` dakr
2022-07-01 18:52 ` [PATCH 05/10] drm: use idr_init_base() to initialize mode_config.object_idr dakr
` (6 subsequent siblings)
10 siblings, 0 replies; 16+ messages in thread
From: dakr @ 2022-07-01 18:52 UTC (permalink / raw)
To: airlied, daniel, christian.koenig, emma
Cc: Danilo Krummrich, linux-kernel, dri-devel
From: Danilo Krummrich <dakr@redhat.com>
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>
---
drivers/gpu/drm/drm_auth.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_auth.c b/drivers/gpu/drm/drm_auth.c
index 63395bebaa6b..cf92a9ae8034 100644
--- a/drivers/gpu/drm/drm_auth.c
+++ b/drivers/gpu/drm/drm_auth.c
@@ -147,7 +147,7 @@ struct drm_master *drm_master_create(struct drm_device *dev)
INIT_LIST_HEAD(&master->lessees);
INIT_LIST_HEAD(&master->lessee_list);
idr_init(&master->leases);
- idr_init(&master->lessee_idr);
+ idr_init_base(&master->lessee_idr, 1);
return master;
}
--
2.36.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 05/10] drm: use idr_init_base() to initialize mode_config.object_idr
2022-07-01 18:52 [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable dakr
` (3 preceding siblings ...)
2022-07-01 18:52 ` [PATCH 04/10] drm: use idr_init_base() to initialize master->lessee_idr dakr
@ 2022-07-01 18:52 ` dakr
2022-07-01 18:52 ` [PATCH 06/10] drm: use idr_init_base() to initialize mode_config.tile_idr dakr
` (5 subsequent siblings)
10 siblings, 0 replies; 16+ messages in thread
From: dakr @ 2022-07-01 18:52 UTC (permalink / raw)
To: airlied, daniel, christian.koenig, emma
Cc: Danilo Krummrich, linux-kernel, dri-devel
From: Danilo Krummrich <dakr@redhat.com>
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>
---
drivers/gpu/drm/drm_mode_config.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_mode_config.c b/drivers/gpu/drm/drm_mode_config.c
index 37b4b9f0e468..e2a295a4ee0b 100644
--- a/drivers/gpu/drm/drm_mode_config.c
+++ b/drivers/gpu/drm/drm_mode_config.c
@@ -411,7 +411,7 @@ int drmm_mode_config_init(struct drm_device *dev)
INIT_LIST_HEAD(&dev->mode_config.property_blob_list);
INIT_LIST_HEAD(&dev->mode_config.plane_list);
INIT_LIST_HEAD(&dev->mode_config.privobj_list);
- idr_init(&dev->mode_config.object_idr);
+ idr_init_base(&dev->mode_config.object_idr, 1);
idr_init(&dev->mode_config.tile_idr);
ida_init(&dev->mode_config.connector_ida);
spin_lock_init(&dev->mode_config.connector_list_lock);
--
2.36.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 06/10] drm: use idr_init_base() to initialize mode_config.tile_idr
2022-07-01 18:52 [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable dakr
` (4 preceding siblings ...)
2022-07-01 18:52 ` [PATCH 05/10] drm: use idr_init_base() to initialize mode_config.object_idr dakr
@ 2022-07-01 18:52 ` dakr
2022-07-01 18:53 ` [PATCH 07/10] drm/sis: use idr_init_base() to initialize dev_priv->object_idr dakr
` (4 subsequent siblings)
10 siblings, 0 replies; 16+ messages in thread
From: dakr @ 2022-07-01 18:52 UTC (permalink / raw)
To: airlied, daniel, christian.koenig, emma
Cc: Danilo Krummrich, linux-kernel, dri-devel
From: Danilo Krummrich <dakr@redhat.com>
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>
---
drivers/gpu/drm/drm_mode_config.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_mode_config.c b/drivers/gpu/drm/drm_mode_config.c
index e2a295a4ee0b..3d1c1ade5a25 100644
--- a/drivers/gpu/drm/drm_mode_config.c
+++ b/drivers/gpu/drm/drm_mode_config.c
@@ -412,7 +412,7 @@ int drmm_mode_config_init(struct drm_device *dev)
INIT_LIST_HEAD(&dev->mode_config.plane_list);
INIT_LIST_HEAD(&dev->mode_config.privobj_list);
idr_init_base(&dev->mode_config.object_idr, 1);
- idr_init(&dev->mode_config.tile_idr);
+ idr_init_base(&dev->mode_config.tile_idr, 1);
ida_init(&dev->mode_config.connector_ida);
spin_lock_init(&dev->mode_config.connector_list_lock);
--
2.36.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 07/10] drm/sis: use idr_init_base() to initialize dev_priv->object_idr
2022-07-01 18:52 [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable dakr
` (5 preceding siblings ...)
2022-07-01 18:52 ` [PATCH 06/10] drm: use idr_init_base() to initialize mode_config.tile_idr dakr
@ 2022-07-01 18:53 ` dakr
2022-07-01 19:02 ` [PATCH 08/10] drm/v3d: use idr_init_base() to initialize v3d_priv->perfmon.idr dakr
` (3 subsequent siblings)
10 siblings, 0 replies; 16+ messages in thread
From: dakr @ 2022-07-01 18:53 UTC (permalink / raw)
To: airlied, daniel, christian.koenig, emma
Cc: Danilo Krummrich, linux-kernel, dri-devel
From: Danilo Krummrich <dakr@redhat.com>
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>
---
drivers/gpu/drm/sis/sis_drv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/sis/sis_drv.c b/drivers/gpu/drm/sis/sis_drv.c
index e35e719cf315..6173020a9bf5 100644
--- a/drivers/gpu/drm/sis/sis_drv.c
+++ b/drivers/gpu/drm/sis/sis_drv.c
@@ -50,7 +50,7 @@ static int sis_driver_load(struct drm_device *dev, unsigned long chipset)
if (dev_priv == NULL)
return -ENOMEM;
- idr_init(&dev_priv->object_idr);
+ idr_init_base(&dev_priv->object_idr, 1);
dev->dev_private = (void *)dev_priv;
dev_priv->chipset = chipset;
--
2.36.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 08/10] drm/v3d: use idr_init_base() to initialize v3d_priv->perfmon.idr
2022-07-01 18:52 [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable dakr
` (6 preceding siblings ...)
2022-07-01 18:53 ` [PATCH 07/10] drm/sis: use idr_init_base() to initialize dev_priv->object_idr dakr
@ 2022-07-01 19:02 ` dakr
2022-07-01 19:02 ` [PATCH 09/10] drm/via: use idr_init_base() to initialize dev_priv->object_idr dakr
2022-07-01 19:02 ` [PATCH 10/10] drm/todo: remove task for idr_init_base() dakr
2022-07-04 13:09 ` [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable Christian König
` (2 subsequent siblings)
10 siblings, 2 replies; 16+ messages in thread
From: dakr @ 2022-07-01 19:02 UTC (permalink / raw)
To: airlied, daniel, christian.koenig, emma
Cc: Danilo Krummrich, linux-kernel, dri-devel
From: Danilo Krummrich <dakr@redhat.com>
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>
---
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
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 09/10] drm/via: use idr_init_base() to initialize dev_priv->object_idr
2022-07-01 19:02 ` [PATCH 08/10] drm/v3d: use idr_init_base() to initialize v3d_priv->perfmon.idr dakr
@ 2022-07-01 19:02 ` dakr
2022-07-01 19:02 ` [PATCH 10/10] drm/todo: remove task for idr_init_base() dakr
1 sibling, 0 replies; 16+ messages in thread
From: dakr @ 2022-07-01 19:02 UTC (permalink / raw)
To: airlied, daniel, christian.koenig, emma
Cc: Danilo Krummrich, linux-kernel, dri-devel
From: Danilo Krummrich <dakr@redhat.com>
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>
---
drivers/gpu/drm/via/via_map.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/via/via_map.c b/drivers/gpu/drm/via/via_map.c
index a9f6b0c11966..c20bb20c0e09 100644
--- a/drivers/gpu/drm/via/via_map.c
+++ b/drivers/gpu/drm/via/via_map.c
@@ -106,7 +106,7 @@ int via_driver_load(struct drm_device *dev, unsigned long chipset)
if (dev_priv == NULL)
return -ENOMEM;
- idr_init(&dev_priv->object_idr);
+ idr_init_base(&dev_priv->object_idr, 1);
dev->dev_private = (void *)dev_priv;
dev_priv->chipset = chipset;
--
2.36.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 10/10] drm/todo: remove task for idr_init_base()
2022-07-01 19:02 ` [PATCH 08/10] drm/v3d: use idr_init_base() to initialize v3d_priv->perfmon.idr dakr
2022-07-01 19:02 ` [PATCH 09/10] drm/via: use idr_init_base() to initialize dev_priv->object_idr dakr
@ 2022-07-01 19:02 ` dakr
1 sibling, 0 replies; 16+ messages in thread
From: dakr @ 2022-07-01 19:02 UTC (permalink / raw)
To: airlied, daniel, christian.koenig, emma
Cc: Danilo Krummrich, linux-kernel, dri-devel
From: Danilo Krummrich <dakr@redhat.com>
All IDRs in the DRM core and drivers which are applicable for using
idr_init_base() over idr_init() should be set up to use a proper base in
order to avoid unnecessary tree walks.
Signed-off-by: Danilo Krummrich <dakr@redhat.com>
---
Documentation/gpu/todo.rst | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst
index 10bfb50908d1..de226ccc2c54 100644
--- a/Documentation/gpu/todo.rst
+++ b/Documentation/gpu/todo.rst
@@ -322,18 +322,6 @@ Contact: Daniel Vetter, Noralf Tronnes
Level: Advanced
-idr_init_base()
----------------
-
-DRM core&drivers uses a lot of idr (integer lookup directories) for mapping
-userspace IDs to internal objects, and in most places ID=0 means NULL and hence
-is never used. Switching to idr_init_base() for these would make the idr more
-efficient.
-
-Contact: Daniel Vetter
-
-Level: Starter
-
struct drm_gem_object_funcs
---------------------------
--
2.36.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable
2022-07-01 18:52 [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable dakr
` (7 preceding siblings ...)
2022-07-01 19:02 ` [PATCH 08/10] drm/v3d: use idr_init_base() to initialize v3d_priv->perfmon.idr dakr
@ 2022-07-04 13:09 ` Christian König
2022-07-12 14:24 ` Danilo Krummrich
2022-07-28 14:41 ` Maxime Ripard
10 siblings, 0 replies; 16+ messages in thread
From: Christian König @ 2022-07-04 13:09 UTC (permalink / raw)
To: dakr, airlied, daniel, emma; +Cc: linux-kernel, dri-devel
Am 01.07.22 um 20:52 schrieb dakr@redhat.com:
> From: Danilo Krummrich <dakr@redhat.com>
>
> This patch series initializes IDRs with idr_init_base(&idr, 1) rather than
> idr_init(&idr) in case for the particular IDR no IDs < 1 are ever requested -
> this avoids unnecessary tree walks.
Feel free to add Reviewed-by: Christian König <christian.koenig@amd.com>
for the two amdgpu patches.
And an Acked-by: Christian König <christian.koenig@amd.com> for the rest.
Regards,
Christian.
>
> Danilo Krummrich (10):
> drm/amdgpu: use idr_init_base() to initialize mgr->ctx_handles
> drm/amdgpu: use idr_init_base() to initialize fpriv->bo_list_handles
> drm: use idr_init_base() to initialize master->magic_map
> drm: use idr_init_base() to initialize master->lessee_idr
> drm: use idr_init_base() to initialize mode_config.object_idr
> drm: use idr_init_base() to initialize mode_config.tile_idr
> drm/sis: use idr_init_base() to initialize dev_priv->object_idr
> drm/v3d: use idr_init_base() to initialize v3d_priv->perfmon.idr
> drm/via: use idr_init_base() to initialize dev_priv->object_idr
> drm/todo: remove task for idr_init_base()
>
> Documentation/gpu/todo.rst | 12 ------------
> drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 +-
> drivers/gpu/drm/drm_auth.c | 4 ++--
> drivers/gpu/drm/drm_mode_config.c | 4 ++--
> drivers/gpu/drm/sis/sis_drv.c | 2 +-
> drivers/gpu/drm/v3d/v3d_perfmon.c | 2 +-
> drivers/gpu/drm/via/via_map.c | 2 +-
> 8 files changed, 9 insertions(+), 21 deletions(-)
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable
2022-07-01 18:52 [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable dakr
` (8 preceding siblings ...)
2022-07-04 13:09 ` [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable Christian König
@ 2022-07-12 14:24 ` Danilo Krummrich
2022-07-28 14:41 ` Maxime Ripard
10 siblings, 0 replies; 16+ messages in thread
From: Danilo Krummrich @ 2022-07-12 14:24 UTC (permalink / raw)
To: airlied, daniel, christian.koenig, emma, Laurent Pinchart
Cc: linux-kernel, dri-devel
Hi Laurent,
On 7/1/22 20:52, dakr@redhat.com wrote:
> From: Danilo Krummrich <dakr@redhat.com>
>
> This patch series initializes IDRs with idr_init_base(&idr, 1) rather than
> idr_init(&idr) in case for the particular IDR no IDs < 1 are ever requested -
> this avoids unnecessary tree walks.
>
Guess this would go through drm-misc too?
- Danilo
> Danilo Krummrich (10):
> drm/amdgpu: use idr_init_base() to initialize mgr->ctx_handles
> drm/amdgpu: use idr_init_base() to initialize fpriv->bo_list_handles
> drm: use idr_init_base() to initialize master->magic_map
> drm: use idr_init_base() to initialize master->lessee_idr
> drm: use idr_init_base() to initialize mode_config.object_idr
> drm: use idr_init_base() to initialize mode_config.tile_idr
> drm/sis: use idr_init_base() to initialize dev_priv->object_idr
> drm/v3d: use idr_init_base() to initialize v3d_priv->perfmon.idr
> drm/via: use idr_init_base() to initialize dev_priv->object_idr
> drm/todo: remove task for idr_init_base()
>
> Documentation/gpu/todo.rst | 12 ------------
> drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 +-
> drivers/gpu/drm/drm_auth.c | 4 ++--
> drivers/gpu/drm/drm_mode_config.c | 4 ++--
> drivers/gpu/drm/sis/sis_drv.c | 2 +-
> drivers/gpu/drm/v3d/v3d_perfmon.c | 2 +-
> drivers/gpu/drm/via/via_map.c | 2 +-
> 8 files changed, 9 insertions(+), 21 deletions(-)
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable
2022-07-01 18:52 [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable dakr
` (9 preceding siblings ...)
2022-07-12 14:24 ` Danilo Krummrich
@ 2022-07-28 14:41 ` Maxime Ripard
2022-07-28 14:44 ` Maxime Ripard
10 siblings, 1 reply; 16+ messages in thread
From: Maxime Ripard @ 2022-07-28 14:41 UTC (permalink / raw)
To: emma, daniel, dakr, airlied, christian.koenig
Cc: Maxime Ripard, dri-devel, linux-kernel
On Fri, 1 Jul 2022 20:52:53 +0200, dakr@redhat.com wrote:
> From: Danilo Krummrich <dakr@redhat.com>
>
> This patch series initializes IDRs with idr_init_base(&idr, 1) rather than
> idr_init(&idr) in case for the particular IDR no IDs < 1 are ever requested -
> this avoids unnecessary tree walks.
>
> Danilo Krummrich (10):
> drm/amdgpu: use idr_init_base() to initialize mgr->ctx_handles
> drm/amdgpu: use idr_init_base() to initialize fpriv->bo_list_handles
> drm: use idr_init_base() to initialize master->magic_map
> drm: use idr_init_base() to initialize master->lessee_idr
> drm: use idr_init_base() to initialize mode_config.object_idr
> drm: use idr_init_base() to initialize mode_config.tile_idr
> drm/sis: use idr_init_base() to initialize dev_priv->object_idr
> drm/v3d: use idr_init_base() to initialize v3d_priv->perfmon.idr
> drm/via: use idr_init_base() to initialize dev_priv->object_idr
> drm/todo: remove task for idr_init_base()
>
> [...]
Applied to drm/drm-misc (drm-misc-next).
Thanks!
Maxime
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable
2022-07-28 14:41 ` Maxime Ripard
@ 2022-07-28 14:44 ` Maxime Ripard
2022-07-28 14:56 ` Danilo Krummrich
0 siblings, 1 reply; 16+ messages in thread
From: Maxime Ripard @ 2022-07-28 14:44 UTC (permalink / raw)
To: emma, daniel, dakr, airlied, christian.koenig; +Cc: linux-kernel, dri-devel
[-- Attachment #1: Type: text/plain, Size: 1334 bytes --]
On Thu, Jul 28, 2022 at 04:41:41PM +0200, Maxime Ripard wrote:
> On Fri, 1 Jul 2022 20:52:53 +0200, dakr@redhat.com wrote:
> > From: Danilo Krummrich <dakr@redhat.com>
> >
> > This patch series initializes IDRs with idr_init_base(&idr, 1) rather than
> > idr_init(&idr) in case for the particular IDR no IDs < 1 are ever requested -
> > this avoids unnecessary tree walks.
> >
> > Danilo Krummrich (10):
> > drm/amdgpu: use idr_init_base() to initialize mgr->ctx_handles
> > drm/amdgpu: use idr_init_base() to initialize fpriv->bo_list_handles
> > drm: use idr_init_base() to initialize master->magic_map
> > drm: use idr_init_base() to initialize master->lessee_idr
> > drm: use idr_init_base() to initialize mode_config.object_idr
> > drm: use idr_init_base() to initialize mode_config.tile_idr
> > drm/sis: use idr_init_base() to initialize dev_priv->object_idr
> > drm/v3d: use idr_init_base() to initialize v3d_priv->perfmon.idr
> > drm/via: use idr_init_base() to initialize dev_priv->object_idr
> > drm/todo: remove task for idr_init_base()
> >
> > [...]
>
> Applied to drm/drm-misc (drm-misc-next).
The via driver had changed a bit and the patch 9 didn't apply at all.
I've moved the change to where it looked like it belonged, but you might
want to double check.
Maxime
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable
2022-07-28 14:44 ` Maxime Ripard
@ 2022-07-28 14:56 ` Danilo Krummrich
0 siblings, 0 replies; 16+ messages in thread
From: Danilo Krummrich @ 2022-07-28 14:56 UTC (permalink / raw)
To: Maxime Ripard, emma, daniel, airlied, christian.koenig
Cc: linux-kernel, dri-devel
On 7/28/22 16:44, Maxime Ripard wrote:
> On Thu, Jul 28, 2022 at 04:41:41PM +0200, Maxime Ripard wrote:
>> On Fri, 1 Jul 2022 20:52:53 +0200, dakr@redhat.com wrote:
>>> From: Danilo Krummrich <dakr@redhat.com>
>>>
>>> This patch series initializes IDRs with idr_init_base(&idr, 1) rather than
>>> idr_init(&idr) in case for the particular IDR no IDs < 1 are ever requested -
>>> this avoids unnecessary tree walks.
>>>
>>> Danilo Krummrich (10):
>>> drm/amdgpu: use idr_init_base() to initialize mgr->ctx_handles
>>> drm/amdgpu: use idr_init_base() to initialize fpriv->bo_list_handles
>>> drm: use idr_init_base() to initialize master->magic_map
>>> drm: use idr_init_base() to initialize master->lessee_idr
>>> drm: use idr_init_base() to initialize mode_config.object_idr
>>> drm: use idr_init_base() to initialize mode_config.tile_idr
>>> drm/sis: use idr_init_base() to initialize dev_priv->object_idr
>>> drm/v3d: use idr_init_base() to initialize v3d_priv->perfmon.idr
>>> drm/via: use idr_init_base() to initialize dev_priv->object_idr
>>> drm/todo: remove task for idr_init_base()
>>>
>>> [...]
>>
>> Applied to drm/drm-misc (drm-misc-next).
Thanks.
>
> The via driver had changed a bit and the patch 9 didn't apply at all.
> I've moved the change to where it looked like it belonged, but you might
> want to double check.
LGTM.
- Danilo
>
> Maxime
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2022-07-28 14:56 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-01 18:52 [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable dakr
2022-07-01 18:52 ` [PATCH 01/10] drm/amdgpu: use idr_init_base() to initialize mgr->ctx_handles dakr
2022-07-01 18:52 ` [PATCH 02/10] drm/amdgpu: use idr_init_base() to initialize fpriv->bo_list_handles dakr
2022-07-01 18:52 ` [PATCH 03/10] drm: use idr_init_base() to initialize master->magic_map dakr
2022-07-01 18:52 ` [PATCH 04/10] drm: use idr_init_base() to initialize master->lessee_idr dakr
2022-07-01 18:52 ` [PATCH 05/10] drm: use idr_init_base() to initialize mode_config.object_idr dakr
2022-07-01 18:52 ` [PATCH 06/10] drm: use idr_init_base() to initialize mode_config.tile_idr dakr
2022-07-01 18:53 ` [PATCH 07/10] drm/sis: use idr_init_base() to initialize dev_priv->object_idr dakr
2022-07-01 19:02 ` [PATCH 08/10] drm/v3d: use idr_init_base() to initialize v3d_priv->perfmon.idr dakr
2022-07-01 19:02 ` [PATCH 09/10] drm/via: use idr_init_base() to initialize dev_priv->object_idr dakr
2022-07-01 19:02 ` [PATCH 10/10] drm/todo: remove task for idr_init_base() dakr
2022-07-04 13:09 ` [PATCH 00/10] drm: use idr_init_base() over idr_init() if applicable Christian König
2022-07-12 14:24 ` Danilo Krummrich
2022-07-28 14:41 ` Maxime Ripard
2022-07-28 14:44 ` Maxime Ripard
2022-07-28 14:56 ` Danilo Krummrich
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).