Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp4321781img; Tue, 26 Mar 2019 07:18:27 -0700 (PDT) X-Google-Smtp-Source: APXvYqxUMP4f0IGMkdiLnsteGTbXxpeaWvqdbYqM1NS+0FuZSpOocRA/CNSjVqek3E+FLLkJhRwA X-Received: by 2002:aa7:8453:: with SMTP id r19mr2672515pfn.44.1553609907850; Tue, 26 Mar 2019 07:18:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553609907; cv=none; d=google.com; s=arc-20160816; b=ZgebqiNSFWLM9TPTR0e2VOIjTtqJc+wJVDD8kmWlqj8JOqBKQxsSSfCxYHyEwdYmtp ugK8d3YEkBdkSlmMAr+9c3Igso6YB9HUCi/D2SBJV4+cB1ocaI0n/9P8FSw4LIVePFnU 8CTAzhmjLl2uD7nt4pk9vejMj+ZxmoCKbLDl+huQB1s8tLiEMBL5C61DqUZ0C/Ia4Zu/ EpB2MDAiPqDNpmf8tNjQr9nHTIyooKcg6y77fdRYYSmrKt5FppA1zj+LnKkmm5K61fvl RfLHI5BBOexwn5u3mJW7r/o2dVS+mzqE0j7xiIg4nWvK8QXhJa8wK7OdMtTavXw5Z8TL oAqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=9aPTWbji5R5ZFrlaEGImvL5Rga/Q6axt0J4jjzESFQY=; b=HARidoemCTxDk876HqldUPrJ08/qyFxieJLbssC5eAyOtzm6aAR9CL1QQVWTEJyB/j 9PHsqwDfg6gfCL7ITDlNe0q0oII86Wqr8xT47KLLpoQx5QNXBzSJBuR5qN/8q0nJUCMa 3MFSA5mQB/ob3vh2imCtz6LtxaBw+CHOwg0ofSSINVapvcEzABxojB84gTF1Ud9PpsIi EHzZSE3U86/ginzb/FVRK9rfYszAVmTnEYGhJirfMDlbOwhCuVIiskrPsn6LvzrIYLhO 4i3PgF7Cy6KncUTndUFU7KyP+g8X02dCJLNBXCVottoKSKVgl1RCNF5xbczIgxGOfCbR wDmA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b=XVVr9M6G; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t13si15750211pgp.271.2019.03.26.07.18.11; Tue, 26 Mar 2019 07:18:27 -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=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b=XVVr9M6G; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731501AbfCZOR1 (ORCPT + 99 others); Tue, 26 Mar 2019 10:17:27 -0400 Received: from mail-it1-f193.google.com ([209.85.166.193]:34542 "EHLO mail-it1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726261AbfCZOR1 (ORCPT ); Tue, 26 Mar 2019 10:17:27 -0400 Received: by mail-it1-f193.google.com with SMTP id l4so2911703ite.1 for ; Tue, 26 Mar 2019 07:17:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=9aPTWbji5R5ZFrlaEGImvL5Rga/Q6axt0J4jjzESFQY=; b=XVVr9M6GRXnnRp709mtgCpeG4Dh0V3FcL6dc+bI6uCLvGQTyhVXHPpqsGadiETLOna S2Ie0PIcujwWIVfuKGSWhwG1PTmmYELqKpFGJv+rvZ36bm6UYkFk3/jiDk6F3Ms6nh0d KaZH45CQQatgEk9MuAjHFte0NGurvP39cNEfFnb/AmExGEoqNiC2ohqXkQ498rN1vU4a qkWZTqwKP2J6rsemYC7heQZjzuLq3QH5Lgkhnl9f6Mlmtd8T+bYDn+J3aoV4TYYs6Ib6 8Lv7HjNyMNTj2r53Bi7tqBALdYrJlYet+RGxI6F9o9Cf/3Deuev0O/9i2ATSGRGfS1Xc Rcog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=9aPTWbji5R5ZFrlaEGImvL5Rga/Q6axt0J4jjzESFQY=; b=YyZmGY8jnbFdSgYd9CJ7f9dzoUdB3JjEW6RPnn/6bui/78H+TgjNObzqPxtqn91W37 QhBcDeLg2Q8GJQyacKbx0EzNOQ4mygo7nMZd19vgmPfQVffeC9GUNqK6WDwjrz9cC5gi oReadLOMjc4yrbCy7KiB+jvtge0Af+Hn2XG+pWdWke/SRfhEwiwi0H0FQxwB7JVsYdW6 ahtwIdm00no5VVlC84IGrSAq4X+mLI9454YJmQKXo3nThzVGcZnJqiGGFaaraTIN2tUw 0XHmxR3pao5vGuWKc07zR/ATywuvaXGbs5ymJWikdqK3TPne3DFLrb/7XZwX0lo1R/4K DZEA== X-Gm-Message-State: APjAAAWD0U5wfubrVosDPg2JOHjETYhqkWyQgKNdDfeEW1WQJSDSRpU2 NHYlp+LuQzbwiJ5UnPJnxL6tfQ== X-Received: by 2002:a02:9831:: with SMTP id t46mr20707845jaj.140.1553609846220; Tue, 26 Mar 2019 07:17:26 -0700 (PDT) Received: from [192.168.1.158] ([216.160.245.98]) by smtp.gmail.com with ESMTPSA id f132sm8188593ioa.76.2019.03.26.07.17.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 26 Mar 2019 07:17:24 -0700 (PDT) Subject: Re: [PATCH V2 8/8] blk-mq: remove blk_mq_tagset_busy_iter To: Hannes Reinecke , "jianchao.wang" Cc: linux-block@vger.kernel.org, jsmart2021@gmail.com, sagi@grimberg.me, josef@toxicpanda.com, linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org, keith.busch@intel.com, jthumshirn@suse.de, hch@lst.de, bvanassche@acm.org References: <1553492318-1810-1-git-send-email-jianchao.w.wang@oracle.com> <1553492318-1810-9-git-send-email-jianchao.w.wang@oracle.com> <47fe0e2a-f427-0e3e-e15b-a9e2bffb502f@suse.de> <15fa9443-776b-bb75-0e20-538609d34eba@suse.de> From: Jens Axboe Message-ID: <5b5442f9-eb31-c7fa-822b-9e7b1a1d188c@kernel.dk> Date: Tue, 26 Mar 2019 08:17:23 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 MIME-Version: 1.0 In-Reply-To: <15fa9443-776b-bb75-0e20-538609d34eba@suse.de> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 3/25/19 2:25 AM, Hannes Reinecke wrote: > On 3/25/19 8:37 AM, jianchao.wang wrote: >> Hi Hannes >> >> On 3/25/19 3:18 PM, Hannes Reinecke wrote: >>> On 3/25/19 6:38 AM, Jianchao Wang wrote: >>>> As nobody uses blk_mq_tagset_busy_iter, remove it. >>>> >>>> Signed-off-by: Jianchao Wang >>>> --- >>>> block/blk-mq-tag.c | 95 -------------------------------------------------- >>>> include/linux/blk-mq.h | 2 -- >>>> 2 files changed, 97 deletions(-) >>>> >>> Please, don't. >>> >>> I'm currently implementing reserved commands for SCSI and reworking >>> the SCSI error handling where I rely on this interface quite >>> heavily. >> >> >> blk_mq_tagset_busy_iter could access some stale requests which maybe >> freed due to io scheduler switching, request_queue cleanup (shared >> tagset) when there is someone submits io and gets driver tag. When io >> scheduler attached, even quiesce request_queue won't work. >> >> If this patchset is accepted, blk_mq_tagset_busy_iter could be >> replaced with blk_mq_queue_inflight_tag_iter which needs to be >> invoked by every request_queue that shares the tagset. >> > The point is, at that time I do _not_ have a request queue to work > with. > > Most SCSI drivers have a host-wide shared tagset, which is used by all > request queues on that host. Iterating over the shared tagset is far > more efficient than to traverse over all devices and the attached > request queues. > > If I had to traverse all request queues I would need to add additional > locking to ensure this traversal is race-free, making it a really > cumbersome interface to use. > > Plus the tagset iter is understood to be used only in cases where I/O > is stopped from the upper layers (ie no new I/O will be submitted). > So here we only need to protect against I/O being completed, which is > not what this patchset is about. > > So my objection still stands: Please, don't. We can't just keep an interface that's hard to use correctly just because you have something pending for that. Jianchao has good suggestions for you on how to proceed. -- Jens Axboe