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 X-Spam-Level: X-Spam-Status: No, score=-2.3 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DF683C10F14 for ; Thu, 10 Oct 2019 10:05:32 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C049E21920 for ; Thu, 10 Oct 2019 10:05:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387451AbfJJKFb (ORCPT ); Thu, 10 Oct 2019 06:05:31 -0400 Received: from verein.lst.de ([213.95.11.211]:57353 "EHLO verein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727770AbfJJKFb (ORCPT ); Thu, 10 Oct 2019 06:05:31 -0400 Received: by verein.lst.de (Postfix, from userid 2407) id DE1A268C65; Thu, 10 Oct 2019 12:05:26 +0200 (CEST) Date: Thu, 10 Oct 2019 12:05:26 +0200 From: Christoph Hellwig To: Logan Gunthorpe Cc: linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org, linux-block@vger.kernel.org, linux-fsdevel@vger.kernel.org, Christoph Hellwig , Sagi Grimberg , Keith Busch , Jens Axboe , Chaitanya Kulkarni , Max Gurtovoy , Stephen Bates Subject: Re: [PATCH v9 10/12] block: don't check blk_rq_is_passthrough() in blk_do_io_stat() Message-ID: <20191010100526.GA27209@lst.de> References: <20191009192530.13079-1-logang@deltatee.com> <20191009192530.13079-12-logang@deltatee.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191009192530.13079-12-logang@deltatee.com> User-Agent: Mutt/1.5.17 (2007-11-01) Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org > @@ -319,7 +319,7 @@ static struct request *blk_mq_rq_ctx_init(struct blk_mq_alloc_data *data, > rq->cmd_flags = op; > if (data->flags & BLK_MQ_REQ_PREEMPT) > rq->rq_flags |= RQF_PREEMPT; > - if (blk_queue_io_stat(data->q)) > + if (blk_queue_io_stat(data->q) && !blk_rq_is_passthrough(rq)) > rq->rq_flags |= RQF_IO_STAT; This needs a comment why we don't account passthrough requests by default. And I'm really curious about the answer, because I don't know it myself. > * a) it's attached to a gendisk, and > * b) the queue had IO stats enabled when this request was started, and > - * c) it's a file system request > + * c) it's a file system request (RQF_IO_STAT will not be set otherwise) c) should just go away now based on your changes. > static inline bool blk_do_io_stat(struct request *rq) > { > return rq->rq_disk && > - (rq->rq_flags & RQF_IO_STAT) && > - !blk_rq_is_passthrough(rq); > + (rq->rq_flags & RQF_IO_STAT); The check can be collapsed onto a single line now.