Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp682190pxb; Mon, 7 Feb 2022 23:15:35 -0800 (PST) X-Google-Smtp-Source: ABdhPJxHtIDFd0X0j7xmrvOLrbIurjSBsONHRelZ39gmJM2Bg8/3TvugnkK6QPuK8xtCYXj8DoLI X-Received: by 2002:a17:902:8345:: with SMTP id z5mr173917pln.61.1644304535449; Mon, 07 Feb 2022 23:15:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644304535; cv=none; d=google.com; s=arc-20160816; b=ZJJ8GiR74mcw8OoCxyAYgSYV+KeW+pXKPDfLkuNa2c/vyyqhgu3x1XKXkONeq0BaXX UdadmqVlG+n7Hio2JeMJg7vrEgAlTkiGPVx9eoqOtL4oDw0yu9t1IMgGolqJuIz5vH7n 49fj+sBTMEz623JR3+VNgyfG1PEhgLNWlD7KIYQYlW7XaxbIhRoMues0xQInyCiPB2K1 1aQG3hWl3eDf6f5shM7501ZSbiTXTGGeyYM4xNbENyjZ9sOo7TcuFI5a5obdQ5OUSV53 ciOt7XxTxL9Bhqoz690PHiFXDIuOZl+FZyyV0tQjx/h2FaHYt+KA28UfI/QJbXukCZER E/tQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=heukEZR8/N+VkINXKeSUL40WFrvlSlsh4NM9xsZE9u4=; b=bp0oWN5ohEmuaQR/mEb6S0dUTfsM2crJ3eh44ZS98CSqJUwF7DyrRwI3Oo+J3zSC1y hChOM+atgd5pxzQwDjTP3+JH1095MMrb9M1Vh6v3kryS0809L76aoDL1+vI+2ne65B4N 9iQxc6xs97LIbFzgLAKJhx6tymBkYSHu2c3+DgA6KYcO+HpmJzuQMM8sbqnh1gvxe1Hf nf4znUo2tjwe/Gjdv87w2Z7hZo5hfB69hl8noGDaj9NNn9uCc4+xXPUQFQZ0MY8s7aSC 5G7mApU+oD/6wGk7bDndwGZPK7xptPFc2nx4VkCtH5mqlCqf9rmZcu715sggdrWMX1AY LuZA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a4si11503112plp.381.2022.02.07.23.15.21; Mon, 07 Feb 2022 23:15:35 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234626AbiBGUsl (ORCPT + 99 others); Mon, 7 Feb 2022 15:48:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58094 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234676AbiBGUsj (ORCPT ); Mon, 7 Feb 2022 15:48:39 -0500 Received: from smtp.smtpout.orange.fr (smtp08.smtpout.orange.fr [80.12.242.130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 61EB5C043182 for ; Mon, 7 Feb 2022 12:48:27 -0800 (PST) Received: from pop-os.home ([90.126.236.122]) by smtp.orange.fr with ESMTPA id HAvvnm18huvBOHAvwn6qGe; Mon, 07 Feb 2022 21:48:25 +0100 X-ME-Helo: pop-os.home X-ME-Auth: YWZlNiIxYWMyZDliZWIzOTcwYTEyYzlhMmU3ZiQ1M2U2MzfzZDfyZTMxZTBkMTYyNDBjNDJlZmQ3ZQ== X-ME-Date: Mon, 07 Feb 2022 21:48:25 +0100 X-ME-IP: 90.126.236.122 From: Christophe JAILLET To: "Md. Haris Iqbal" , Jack Wang , Jens Axboe Cc: linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET , linux-block@vger.kernel.org Subject: [PATCH v2] block/rnbd: Remove a useless mutex Date: Mon, 7 Feb 2022 21:48:19 +0100 Message-Id: <7f9eccd8b1fce1bac45ac9b01a78cf72f54c0a61.1644266862.git.christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org According to lib/idr.c, The IDA handles its own locking. It is safe to call any of the IDA functions without synchronisation in your code. so the 'ida_lock' mutex can just be removed. It is here only to protect some ida_simple_get()/ida_simple_remove() calls. While at it, switch to ida_alloc_XXX()/ida_free() instead to ida_simple_get()/ida_simple_remove(). The latter is deprecated and more verbose. Signed-off-by: Christophe JAILLET --- drivers/block/rnbd/rnbd-clt.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/drivers/block/rnbd/rnbd-clt.c b/drivers/block/rnbd/rnbd-clt.c index 9a880d559ab8..1f63f308eb39 100644 --- a/drivers/block/rnbd/rnbd-clt.c +++ b/drivers/block/rnbd/rnbd-clt.c @@ -23,7 +23,6 @@ MODULE_LICENSE("GPL"); static int rnbd_client_major; static DEFINE_IDA(index_ida); -static DEFINE_MUTEX(ida_lock); static DEFINE_MUTEX(sess_lock); static LIST_HEAD(sess_list); @@ -55,9 +54,7 @@ static void rnbd_clt_put_dev(struct rnbd_clt_dev *dev) if (!refcount_dec_and_test(&dev->refcount)) return; - mutex_lock(&ida_lock); - ida_simple_remove(&index_ida, dev->clt_device_id); - mutex_unlock(&ida_lock); + ida_free(&index_ida, dev->clt_device_id); kfree(dev->hw_queues); kfree(dev->pathname); rnbd_clt_put_sess(dev->sess); @@ -1460,10 +1457,8 @@ static struct rnbd_clt_dev *init_dev(struct rnbd_clt_session *sess, goto out_alloc; } - mutex_lock(&ida_lock); - ret = ida_simple_get(&index_ida, 0, 1 << (MINORBITS - RNBD_PART_BITS), - GFP_KERNEL); - mutex_unlock(&ida_lock); + ret = ida_alloc_max(&index_ida, 1 << (MINORBITS - RNBD_PART_BITS), + GFP_KERNEL); if (ret < 0) { pr_err("Failed to initialize device '%s' from session %s, allocating idr failed, err: %d\n", pathname, sess->sessname, ret); -- 2.32.0