drivers/dma/idxd/cdev.c | 5 ----- 1 file changed, 5 deletions(-)
ida_alloc()/ida_free() don't need any mutex, so remove this one.
It was introduced by commit e6fd6d7e5f0f ("dmaengine: idxd: add a device to
represent the file opened").
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
See:
https://elixir.bootlin.com/linux/v6.11.2/source/lib/idr.c#L375
https://elixir.bootlin.com/linux/v6.11.2/source/lib/idr.c#L484
---
drivers/dma/idxd/cdev.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/drivers/dma/idxd/cdev.c b/drivers/dma/idxd/cdev.c
index 57f1bf2ab20b..ff94ee892339 100644
--- a/drivers/dma/idxd/cdev.c
+++ b/drivers/dma/idxd/cdev.c
@@ -28,7 +28,6 @@ struct idxd_cdev_context {
* global to avoid conflict file names.
*/
static DEFINE_IDA(file_ida);
-static DEFINE_MUTEX(ida_lock);
/*
* ictx is an array based off of accelerator types. enum idxd_type
@@ -123,9 +122,7 @@ static void idxd_file_dev_release(struct device *dev)
struct idxd_device *idxd = wq->idxd;
int rc;
- mutex_lock(&ida_lock);
ida_free(&file_ida, ctx->id);
- mutex_unlock(&ida_lock);
/* Wait for in-flight operations to complete. */
if (wq_shared(wq)) {
@@ -284,9 +281,7 @@ static int idxd_cdev_open(struct inode *inode, struct file *filp)
}
idxd_cdev = wq->idxd_cdev;
- mutex_lock(&ida_lock);
ctx->id = ida_alloc(&file_ida, GFP_KERNEL);
- mutex_unlock(&ida_lock);
if (ctx->id < 0) {
dev_warn(dev, "ida alloc failure\n");
goto failed_ida;
--
2.47.0
On Sat, 02 Nov 2024 12:46:04 +0100, Christophe JAILLET wrote:
> ida_alloc()/ida_free() don't need any mutex, so remove this one.
>
> It was introduced by commit e6fd6d7e5f0f ("dmaengine: idxd: add a device to
> represent the file opened").
>
>
Applied, thanks!
[1/1] dmaengine: idxd: Remove a useless mutex
commit: 8d0191a6020e325a1c9730539dd2f0c03d71d9b4
Best regards,
--
~Vinod
On 11/2/24 4:46 AM, Christophe JAILLET wrote:
> ida_alloc()/ida_free() don't need any mutex, so remove this one.
>
> It was introduced by commit e6fd6d7e5f0f ("dmaengine: idxd: add a device to
> represent the file opened").
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
> ---
> See:
> https://elixir.bootlin.com/linux/v6.11.2/source/lib/idr.c#L375
> https://elixir.bootlin.com/linux/v6.11.2/source/lib/idr.c#L484
> ---
> drivers/dma/idxd/cdev.c | 5 -----
> 1 file changed, 5 deletions(-)
>
> diff --git a/drivers/dma/idxd/cdev.c b/drivers/dma/idxd/cdev.c
> index 57f1bf2ab20b..ff94ee892339 100644
> --- a/drivers/dma/idxd/cdev.c
> +++ b/drivers/dma/idxd/cdev.c
> @@ -28,7 +28,6 @@ struct idxd_cdev_context {
> * global to avoid conflict file names.
> */
> static DEFINE_IDA(file_ida);
> -static DEFINE_MUTEX(ida_lock);
>
> /*
> * ictx is an array based off of accelerator types. enum idxd_type
> @@ -123,9 +122,7 @@ static void idxd_file_dev_release(struct device *dev)
> struct idxd_device *idxd = wq->idxd;
> int rc;
>
> - mutex_lock(&ida_lock);
> ida_free(&file_ida, ctx->id);
> - mutex_unlock(&ida_lock);
>
> /* Wait for in-flight operations to complete. */
> if (wq_shared(wq)) {
> @@ -284,9 +281,7 @@ static int idxd_cdev_open(struct inode *inode, struct file *filp)
> }
>
> idxd_cdev = wq->idxd_cdev;
> - mutex_lock(&ida_lock);
> ctx->id = ida_alloc(&file_ida, GFP_KERNEL);
> - mutex_unlock(&ida_lock);
> if (ctx->id < 0) {
> dev_warn(dev, "ida alloc failure\n");
> goto failed_ida;
On 11/2/24 04:46, Christophe JAILLET wrote:
> ida_alloc()/ida_free() don't need any mutex, so remove this one.
>
> It was introduced by commit e6fd6d7e5f0f ("dmaengine: idxd: add a device to
> represent the file opened").
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Fenghua Yu <fenghua.yu@intel.com>
Thanks.
-Fenghua
> ---
> See:
> https://elixir.bootlin.com/linux/v6.11.2/source/lib/idr.c#L375
> https://elixir.bootlin.com/linux/v6.11.2/source/lib/idr.c#L484
> ---
> drivers/dma/idxd/cdev.c | 5 -----
> 1 file changed, 5 deletions(-)
>
> diff --git a/drivers/dma/idxd/cdev.c b/drivers/dma/idxd/cdev.c
> index 57f1bf2ab20b..ff94ee892339 100644
> --- a/drivers/dma/idxd/cdev.c
> +++ b/drivers/dma/idxd/cdev.c
> @@ -28,7 +28,6 @@ struct idxd_cdev_context {
> * global to avoid conflict file names.
> */
> static DEFINE_IDA(file_ida);
> -static DEFINE_MUTEX(ida_lock);
>
> /*
> * ictx is an array based off of accelerator types. enum idxd_type
> @@ -123,9 +122,7 @@ static void idxd_file_dev_release(struct device *dev)
> struct idxd_device *idxd = wq->idxd;
> int rc;
>
> - mutex_lock(&ida_lock);
> ida_free(&file_ida, ctx->id);
> - mutex_unlock(&ida_lock);
>
> /* Wait for in-flight operations to complete. */
> if (wq_shared(wq)) {
> @@ -284,9 +281,7 @@ static int idxd_cdev_open(struct inode *inode, struct file *filp)
> }
>
> idxd_cdev = wq->idxd_cdev;
> - mutex_lock(&ida_lock);
> ctx->id = ida_alloc(&file_ida, GFP_KERNEL);
> - mutex_unlock(&ida_lock);
> if (ctx->id < 0) {
> dev_warn(dev, "ida alloc failure\n");
> goto failed_ida;
© 2016 - 2026 Red Hat, Inc.