From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A0FE4C2BA4C for ; Wed, 26 Jan 2022 08:34:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Zhld679OtRHf8+7VQTmFxSv+4G0lijmMBnc3vJ5uEPc=; b=TjZGL/d7mjvRQAZPoiuETVq60o fx+c7IgTQ/MtJZwtCijOCsNrcIB9oahbFh7ujawx8qLxbaCcbLhXzi/VV7uB5j2TDRwgDWwNg0Xot TCJxl2DrgL1HZ3G01ivMPt7ycF73i3/V77l7gmJX0hAk5rdpPHM3uA2PLXmeWJBVtv/8qYLT5zDN9 sLksPDOoBbEm76uCyH97MZ0Ha+4zdtNj8Y1LvJLC413tmBAF2D1gii8Wz+3q1MMFgz6YLJ9MrTPQJ EtS2f3YDErIucOWB12e6mJiJAitYBvsRR2j2tQxba3SMOVzcKzrdkXHuU4YktgOAB0uKU4qWIkkEy SPl0VyIg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nCdku-00Akyc-QO; Wed, 26 Jan 2022 08:34:16 +0000 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nCdkn-00Akwq-Nz for linux-nvme@lists.infradead.org; Wed, 26 Jan 2022 08:34:11 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1643186048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Zhld679OtRHf8+7VQTmFxSv+4G0lijmMBnc3vJ5uEPc=; b=L+Ej13PghpVUCQ8W92wdUWEJ1yld4LLfT6R1OeJTvTxEiP+WV+9UqNJVevXqnybft969Tv xNjtu0s6eMXxdr9Yabqz6IaAqgasIseTyQl13JM67nOgJiku2oH7LG5DJEFwKBtLmCLZZu 3G/gOAf/Ux3ojrnYCpGh1V+A/3vfBrA= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-655-lfgIWFVTNhyTV7iEVOOU9Q-1; Wed, 26 Jan 2022 03:34:04 -0500 X-MC-Unique: lfgIWFVTNhyTV7iEVOOU9Q-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7CC201083F60; Wed, 26 Jan 2022 08:34:03 +0000 (UTC) Received: from T590 (ovpn-8-26.pek2.redhat.com [10.72.8.26]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B52337A226; Wed, 26 Jan 2022 08:33:59 +0000 (UTC) Date: Wed, 26 Jan 2022 16:33:54 +0800 From: Ming Lei To: Christoph Hellwig Cc: Jens Axboe , "Martin K . Petersen" , linux-block@vger.kernel.org, linux-nvme@lists.infradead.org, linux-scsi@vger.kernel.org Subject: Re: [PATCH V2 05/13] block: only account passthrough IO from userspace Message-ID: References: <20220122111054.1126146-1-ming.lei@redhat.com> <20220122111054.1126146-6-ming.lei@redhat.com> <20220124130555.GD27269@lst.de> <20220125061634.GA26495@lst.de> <20220125071906.GA27674@lst.de> <20220126055003.GA21089@lst.de> <20220126081052.GA23154@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220126081052.GA23154@lst.de> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220126_003409_885264_84A285C1 X-CRM114-Status: GOOD ( 29.77 ) X-BeenThere: linux-nvme@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-nvme" Errors-To: linux-nvme-bounces+linux-nvme=archiver.kernel.org@lists.infradead.org On Wed, Jan 26, 2022 at 09:10:52AM +0100, Christoph Hellwig wrote: > On Wed, Jan 26, 2022 at 03:21:04PM +0800, Ming Lei wrote: > > > I think the right way would be to just remove this branch entirely. > > > This means we only account bios with a block_device, which implies > > > they have a gendisk. > > > > That will not account userspace IO, and people may complain. > > > > We can just account passthrough request from userspace by the patch > > in my last email. > > Let's take a step back: what I/O do we want to account, and how > do we want to archive that? FS IO, and passthrough IO from userspace at least, since that is what user cares. Also the bdev/disk is guaranteed to be live when this userspace passthrough IO is inflight. > > Assuming accounting is enabled: > > - current mainline accounts all I/O one queues that have a gendisk > - your original patch accounts file system I/O and some passthrough I/O > that has a special flag set The special flag is just for recognizing userspace passthrough IO. > > Dropping the conditional to grab a bdev from the queue leaves us with > the following rule: > > - all I/O that has a bio and bdev is accounted. This requires > passthrough I/O to explicitly set the bdev in case we haven't > done so, and it requires them to have a bio at all That is basically to make bio->bi_bdev points to part0, and the problem is that you have to make sure that part0 won't be released when this request is inflight. > > I guess you are worried about the latter conditionin that we stop > accounting for no data transfer passthrough commands? No, I meant that bio->bi_bdev isn't setup yet for passthrough request, and not sure that can be done easily. Thanks, Ming