Received: by 2002:ac0:950e:0:0:0:0:0 with SMTP id f14csp958482imc; Sat, 16 Mar 2019 23:15:14 -0700 (PDT) X-Google-Smtp-Source: APXvYqzVcfA+6ghNW/v85gHFtVnpYq5dooO/hyPidId7bsDxJ4c5r/qDiW3NQooHmW8Of/3cqD/F X-Received: by 2002:a63:d04f:: with SMTP id s15mr11754362pgi.80.1552803314814; Sat, 16 Mar 2019 23:15:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552803314; cv=none; d=google.com; s=arc-20160816; b=kQWqbFKpUQoME+D0haDXggnngBCddvV5Mav9h2WduJ7+4flzDKFyF5H+P1mwMkFvED v4k2NRTLpttAGEEfArINkE0HkVADBDIvIejPKG052rxzMtgmuFJ6pkiQo74dxIW4ZQLt sG9Jxh2w+B1pImc43SdhCnskMUE+bhWOReNCbEwx98Yot4e0yLaOa3hl/auOLarDzmc3 njWIlx9ngbfGIEDLPZjun3TMfKyqsbDl2fBavqbBCJ5sIoTtVf132TRjmfUZJRVG7kbh gJO0TWujISaSXy5K1n52ZURhVNf6/c7RyId+UMn7/bE46jAUN496ZMgCRdeoZsu/K1ED P1Ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=OsmxGvxHwRSGZ+/emJfD/r6bzJZ56d0CKBLKDddlMoo=; b=lUAkvn+KAQaRScqd2qBa1LjWFopQ5ho+1b0KRArUEG02+pp7rhrlqwQSvsq42lN5qx nwpRdE4HkASWkHNOFSEFzCl/tVt0UEQCvDU22liXod2A5i6GiCEWLh8zhJg/Emtox56k JGJhBHF2vBPvylninqJwDYG9tDqkFhVNQXviblPfikRW74ZMOBYrG7GYC6QuIJXZcm0N rJKZ2s3xdeCVNEofTONDY/UqVeoCYzrZYmRQamDLx1tDbQXQacHl6qTaMi3PvmGSp+09 +WHmN49ntF2PN4CqwR8vOyvQ7SM98eHIpOh8gXQHrNuMeDJ3CtCjfO+K4ctlXx9nX/we tdxg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=j772X62a; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q23si6003704plr.79.2019.03.16.23.14.58; Sat, 16 Mar 2019 23:15:14 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=j772X62a; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726122AbfCQGOW (ORCPT + 99 others); Sun, 17 Mar 2019 02:14:22 -0400 Received: from mail-wm1-f67.google.com ([209.85.128.67]:55386 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725903AbfCQGOV (ORCPT ); Sun, 17 Mar 2019 02:14:21 -0400 Received: by mail-wm1-f67.google.com with SMTP id 4so9934818wmf.5; Sat, 16 Mar 2019 23:14:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=OsmxGvxHwRSGZ+/emJfD/r6bzJZ56d0CKBLKDddlMoo=; b=j772X62alTSLQMGqgME+WRNrSnmScpMqcpuj3MsYKw9/b0KyLtcMGR7RJFjebJvQZM ZypMsTI9omWNFIq+IzVjR7XYhElKE5pkav9XCXnZ84/nXCxHmsLLqBRG2FkpPAsF4GGK O5j0eo4EZ1CQ4OyhZ81ce4yy+/vmT3v2Se9HuIXHw1pE1tmZQPM69UOFcgkoR2wEGgCs 0/7xaBTiFyELxhNeqQxz5NWcx5ZfHYrtn35P7vWO8kKUZX+gwPtycYR1zfr7/GSrjKy8 XY7lAMSUq8IG2nmpAtsgah2xuYKiEpwooQ69SXJkdQLyFiKoxS4aEq75Ob/xRcQYQ0Mk hKjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=OsmxGvxHwRSGZ+/emJfD/r6bzJZ56d0CKBLKDddlMoo=; b=fNRZWbv1fxq/QigeamQGWa5HgrOz6XABzAB6YbS8G6WJ8slltGwyLaE+lUjJGOqf7h WmtCRbY8Zi/zgaHo6Qyc7d/mnWWkmdfkVNilkCwFXgWNm4QeV5OeZg88DSR8z4bg45/N GZwhMDlpHeSgfpWGraF1HNLbLKMU5sixEPFDMD88m4qaHAZTY98NrtT7eV8ljMrr3TO6 LkGBhKImg+SXCL2o1+4r6nFT2dIcGBJoh6o4TH/8KWEyloEqlFSstHX9B5yY0eoaYrST WpUNUidIApKpl+Z6BetWXqqMz59+WyvtZwx+zy61vXZgpMLWl4vN0fIkVLXPQuW9Wog9 /KhQ== X-Gm-Message-State: APjAAAV0d55XL+sY6ISna7ZtIBP92gam0Y5s67jf7HgIsRdtHcB1xVbZ 5KtUToowBsT/rqvcJp/bE/H3uzoKfaU/GOiWde8= X-Received: by 2002:a1c:ef1a:: with SMTP id n26mr7354603wmh.67.1552803259678; Sat, 16 Mar 2019 23:14:19 -0700 (PDT) MIME-Version: 1.0 References: <1552640264-26101-1-git-send-email-jianchao.w.wang@oracle.com> <1552640264-26101-2-git-send-email-jianchao.w.wang@oracle.com> In-Reply-To: <1552640264-26101-2-git-send-email-jianchao.w.wang@oracle.com> From: Ming Lei Date: Sun, 17 Mar 2019 14:14:06 +0800 Message-ID: Subject: Re: [PATCH 1/8] blk-mq: get rid of the synchronize_rcu in __blk_mq_update_nr_hw_queues To: Jianchao Wang Cc: Jens Axboe , Christoph Hellwig , Johannes Thumshirn , Hannes Reinecke , Josef Bacik , Bart Van Assche , Sagi Grimberg , Keith Busch , jsmart2021@gmail.com, linux-block , linux-nvme , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Mar 15, 2019 at 5:07 PM Jianchao Wang wrote: > > In commit 530ca2c (blk-mq: Allow blocking queue tag iter callbacks), > we try to get a non-zero q_usage_counter to avoid access hctxs that > being modified. So the synchronize_rcu is useless and should be > removed. > > Signed-off-by: Jianchao Wang > --- > block/blk-mq-tag.c | 4 +--- > block/blk-mq.c | 4 ---- > 2 files changed, 1 insertion(+), 7 deletions(-) > > diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c > index 2089c6c..b792537 100644 > --- a/block/blk-mq-tag.c > +++ b/block/blk-mq-tag.c > @@ -384,9 +384,7 @@ void blk_mq_queue_tag_busy_iter(struct request_queue *q, busy_iter_fn *fn, > /* > * __blk_mq_update_nr_hw_queues() updates nr_hw_queues and queue_hw_ctx > * while the queue is frozen. So we can use q_usage_counter to avoid > - * racing with it. __blk_mq_update_nr_hw_queues() uses > - * synchronize_rcu() to ensure this function left the critical section > - * below. > + * racing with it. > */ > if (!percpu_ref_tryget(&q->q_usage_counter)) > return; > diff --git a/block/blk-mq.c b/block/blk-mq.c > index 9437a5e..07584a9 100644 > --- a/block/blk-mq.c > +++ b/block/blk-mq.c > @@ -3208,10 +3208,6 @@ static void __blk_mq_update_nr_hw_queues(struct blk_mq_tag_set *set, > list_for_each_entry(q, &set->tag_list, tag_set_list) > blk_mq_freeze_queue(q); > /* > - * Sync with blk_mq_queue_tag_busy_iter. > - */ > - synchronize_rcu(); > - /* > * Switch IO scheduler to 'none', cleaning up the data associated > * with the previous scheduler. We will switch back once we are done > * updating the new sw to hw queue mappings. > -- > 2.7.4 > Reviewed-by: Ming Lei Thanks, Ming Lei