diff mbox series

drm/xe/guc: Remove usage of the deprecated ida_simple_xx() API

Message ID d6a9ec9dc426fca372eaa1423a83632bd743c5d9.1705244938.git.christophe.jaillet@wanadoo.fr (mailing list archive)
State New, archived
Headers show
Series drm/xe/guc: Remove usage of the deprecated ida_simple_xx() API | expand

Commit Message

Christophe JAILLET Jan. 14, 2024, 3:09 p.m. UTC
ida_alloc() and ida_free() should be preferred to the deprecated
ida_simple_get() and ida_simple_remove().

Note that the upper limit of ida_simple_get() is exclusive, but the one of
ida_alloc_max() is inclusive. So a -1 has been added when needed.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
 drivers/gpu/drm/xe/xe_guc_submit.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Christophe JAILLET Feb. 20, 2024, 6:58 p.m. UTC | #1
Le 14/01/2024 à 16:09, Christophe JAILLET a écrit :
> ida_alloc() and ida_free() should be preferred to the deprecated
> ida_simple_get() and ida_simple_remove().
> 
> Note that the upper limit of ida_simple_get() is exclusive, but the one of
> ida_alloc_max() is inclusive. So a -1 has been added when needed.
> 
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
>   drivers/gpu/drm/xe/xe_guc_submit.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c b/drivers/gpu/drm/xe/xe_guc_submit.c
> index 21ac68e3246f..11ffacd1dd58 100644
> --- a/drivers/gpu/drm/xe/xe_guc_submit.c
> +++ b/drivers/gpu/drm/xe/xe_guc_submit.c
> @@ -311,7 +311,7 @@ static void __release_guc_id(struct xe_guc *guc, struct xe_exec_queue *q, u32 xa
>   				      q->guc->id - GUC_ID_START_MLRC,
>   				      order_base_2(q->width));
>   	else
> -		ida_simple_remove(&guc->submission_state.guc_ids, q->guc->id);
> +		ida_free(&guc->submission_state.guc_ids, q->guc->id);
>   }
>   
>   static int alloc_guc_id(struct xe_guc *guc, struct xe_exec_queue *q)
> @@ -335,8 +335,8 @@ static int alloc_guc_id(struct xe_guc *guc, struct xe_exec_queue *q)
>   		ret = bitmap_find_free_region(bitmap, GUC_ID_NUMBER_MLRC,
>   					      order_base_2(q->width));
>   	} else {
> -		ret = ida_simple_get(&guc->submission_state.guc_ids, 0,
> -				     GUC_ID_NUMBER_SLRC, GFP_NOWAIT);
> +		ret = ida_alloc_max(&guc->submission_state.guc_ids,
> +				    GUC_ID_NUMBER_SLRC - 1, GFP_NOWAIT);
>   	}
>   	if (ret < 0)
>   		return ret;

Hi,

gentle reminder.

All patches to remove the ida_simple API have been sent.
And Matthew Wilcox seems happy with the on going work. (see [1])

Based on next-20240220
$git grep ida_simple_get | wc -l
36

https://elixir.bootlin.com/linux/v6.8-rc3/A/ident/ida_simple_get
50

https://elixir.bootlin.com/linux/v6.7.4/A/ident/ida_simple_get
81

Thanks
CJ

[1]: https://lore.kernel.org/all/ZaqruGVz734zjxrZ@casper.infradead.org/
Lucas De Marchi Feb. 20, 2024, 8:34 p.m. UTC | #2
On Sun, Jan 14, 2024 at 04:09:16PM +0100, Christophe JAILLET wrote:
>ida_alloc() and ida_free() should be preferred to the deprecated
>ida_simple_get() and ida_simple_remove().
>
>Note that the upper limit of ida_simple_get() is exclusive, but the one of
>ida_alloc_max() is inclusive. So a -1 has been added when needed.
>
>Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>


Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>

Lucas De Marchi

>---
> drivers/gpu/drm/xe/xe_guc_submit.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
>diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c b/drivers/gpu/drm/xe/xe_guc_submit.c
>index 21ac68e3246f..11ffacd1dd58 100644
>--- a/drivers/gpu/drm/xe/xe_guc_submit.c
>+++ b/drivers/gpu/drm/xe/xe_guc_submit.c
>@@ -311,7 +311,7 @@ static void __release_guc_id(struct xe_guc *guc, struct xe_exec_queue *q, u32 xa
> 				      q->guc->id - GUC_ID_START_MLRC,
> 				      order_base_2(q->width));
> 	else
>-		ida_simple_remove(&guc->submission_state.guc_ids, q->guc->id);
>+		ida_free(&guc->submission_state.guc_ids, q->guc->id);
> }
>
> static int alloc_guc_id(struct xe_guc *guc, struct xe_exec_queue *q)
>@@ -335,8 +335,8 @@ static int alloc_guc_id(struct xe_guc *guc, struct xe_exec_queue *q)
> 		ret = bitmap_find_free_region(bitmap, GUC_ID_NUMBER_MLRC,
> 					      order_base_2(q->width));
> 	} else {
>-		ret = ida_simple_get(&guc->submission_state.guc_ids, 0,
>-				     GUC_ID_NUMBER_SLRC, GFP_NOWAIT);
>+		ret = ida_alloc_max(&guc->submission_state.guc_ids,
>+				    GUC_ID_NUMBER_SLRC - 1, GFP_NOWAIT);
> 	}
> 	if (ret < 0)
> 		return ret;
>-- 
>2.43.0
>
Lucas De Marchi Feb. 20, 2024, 8:39 p.m. UTC | #3
On Tue, Feb 20, 2024 at 02:34:53PM -0600, Lucas De Marchi wrote:
>On Sun, Jan 14, 2024 at 04:09:16PM +0100, Christophe JAILLET wrote:
>>ida_alloc() and ida_free() should be preferred to the deprecated
>>ida_simple_get() and ida_simple_remove().
>>
>>Note that the upper limit of ida_simple_get() is exclusive, but the one of
>>ida_alloc_max() is inclusive. So a -1 has been added when needed.
>>
>>Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
>
>
>Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>

just noticed we already have CI results for this. Applied to
drm-xe-next, thanks.

Lucas De Marchi

>
>Lucas De Marchi
>
>>---
>>drivers/gpu/drm/xe/xe_guc_submit.c | 6 +++---
>>1 file changed, 3 insertions(+), 3 deletions(-)
>>
>>diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c b/drivers/gpu/drm/xe/xe_guc_submit.c
>>index 21ac68e3246f..11ffacd1dd58 100644
>>--- a/drivers/gpu/drm/xe/xe_guc_submit.c
>>+++ b/drivers/gpu/drm/xe/xe_guc_submit.c
>>@@ -311,7 +311,7 @@ static void __release_guc_id(struct xe_guc *guc, struct xe_exec_queue *q, u32 xa
>>				      q->guc->id - GUC_ID_START_MLRC,
>>				      order_base_2(q->width));
>>	else
>>-		ida_simple_remove(&guc->submission_state.guc_ids, q->guc->id);
>>+		ida_free(&guc->submission_state.guc_ids, q->guc->id);
>>}
>>
>>static int alloc_guc_id(struct xe_guc *guc, struct xe_exec_queue *q)
>>@@ -335,8 +335,8 @@ static int alloc_guc_id(struct xe_guc *guc, struct xe_exec_queue *q)
>>		ret = bitmap_find_free_region(bitmap, GUC_ID_NUMBER_MLRC,
>>					      order_base_2(q->width));
>>	} else {
>>-		ret = ida_simple_get(&guc->submission_state.guc_ids, 0,
>>-				     GUC_ID_NUMBER_SLRC, GFP_NOWAIT);
>>+		ret = ida_alloc_max(&guc->submission_state.guc_ids,
>>+				    GUC_ID_NUMBER_SLRC - 1, GFP_NOWAIT);
>>	}
>>	if (ret < 0)
>>		return ret;
>>-- 
>>2.43.0
>>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/xe/xe_guc_submit.c b/drivers/gpu/drm/xe/xe_guc_submit.c
index 21ac68e3246f..11ffacd1dd58 100644
--- a/drivers/gpu/drm/xe/xe_guc_submit.c
+++ b/drivers/gpu/drm/xe/xe_guc_submit.c
@@ -311,7 +311,7 @@  static void __release_guc_id(struct xe_guc *guc, struct xe_exec_queue *q, u32 xa
 				      q->guc->id - GUC_ID_START_MLRC,
 				      order_base_2(q->width));
 	else
-		ida_simple_remove(&guc->submission_state.guc_ids, q->guc->id);
+		ida_free(&guc->submission_state.guc_ids, q->guc->id);
 }
 
 static int alloc_guc_id(struct xe_guc *guc, struct xe_exec_queue *q)
@@ -335,8 +335,8 @@  static int alloc_guc_id(struct xe_guc *guc, struct xe_exec_queue *q)
 		ret = bitmap_find_free_region(bitmap, GUC_ID_NUMBER_MLRC,
 					      order_base_2(q->width));
 	} else {
-		ret = ida_simple_get(&guc->submission_state.guc_ids, 0,
-				     GUC_ID_NUMBER_SLRC, GFP_NOWAIT);
+		ret = ida_alloc_max(&guc->submission_state.guc_ids,
+				    GUC_ID_NUMBER_SLRC - 1, GFP_NOWAIT);
 	}
 	if (ret < 0)
 		return ret;