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 |
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/
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 >
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 --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;
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(-)