From patchwork Wed May 9 09:08:47 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Omar Sandoval X-Patchwork-Id: 10388819 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id F3B8360170 for ; Wed, 9 May 2018 09:09:05 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E315A28B9C for ; Wed, 9 May 2018 09:09:05 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D7FB328D9B; Wed, 9 May 2018 09:09:05 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7AEE828B9C for ; Wed, 9 May 2018 09:09:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934224AbeEIJJE (ORCPT ); Wed, 9 May 2018 05:09:04 -0400 Received: from mail-pf0-f195.google.com ([209.85.192.195]:33244 "EHLO mail-pf0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934189AbeEIJJC (ORCPT ); Wed, 9 May 2018 05:09:02 -0400 Received: by mail-pf0-f195.google.com with SMTP id f20so16526082pfn.0 for ; Wed, 09 May 2018 02:09:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=osandov-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=1ys7QjKVniTEHExcqyFX5BoF1nSZFTB0tCyHSQhe8ko=; b=vYLpc2chd1B+HGGy3yaWM8E9FflrmeAb70nVuAtQNcKHBnsk5bdsjZEvtUAhHvJg1D WlFEZLxiLYt/l0jFi1FBABKuWq78MoQUdWT1K0szb8bs0s4KB0L1bAEVu2ie60UTNzEt rPa6sAO+OBEPT+JglqMkRKMXPHWNIQ39SNKwYfJ+a8RXpplc+jVnDpuqKNqPImj1NCOA YmKl3mI1MeOBNDWKcqWf9bxuyoZzOBj31jPPY8c8E2yiAJoZZ+07Y6FxoUWVm7NWKzyW y/4w+9RVCBkTBzpleXWICIRIToaxge3cOtvsJdCKGBdO9CRozU0WOpkp5vHoBxY36NlM x9Iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=1ys7QjKVniTEHExcqyFX5BoF1nSZFTB0tCyHSQhe8ko=; b=i1sD63vKAQiTUmvYWi517jOSeI1brMEAjG71hRb/tEhfsT+uxM3z/oUjlJ0UzdtHS4 UvIx4nXdN4mXIpW+PBqU4oD6Cqvj75BbTXUh53jf3oyH31CU0n4msp7Gt7NsFPrEnWC+ sgMwoxqrev+iORksnFR1Ai2ITJr9GyflgLrLLJ123RpXEE8UXV4uZigiMKJWR6h2W8ow LBv2lF6FzS1svh8cOQ9BQUgoy81fC3Ii/1L+pKzg8JSq9KreT7VhkH2mzMw7f6+nKuIY b3kNYQDNk7F9sm2Pyu7Vq9/CG50nyR+aWE8BdL4zq8yCoXpGBZA6gfXVuaRG/LsvUX+T F9kQ== X-Gm-Message-State: ALQs6tBxu42reUn+LHIOApwx0UXP7O98PS9xo+xBrsyji9mUbyAe8/RM 7HdVVJ8Cl4nJ7p/jLB6jmgA2YSI/1aM= X-Google-Smtp-Source: AB8JxZr6Cnp5P9JG3BgCvgKNov7remLmfiT9PPzFSjAJxyPV5LnUPOovpT2K+OT4Tcu/4PsYBHAu9w== X-Received: by 2002:a63:5f0e:: with SMTP id t14-v6mr33731682pgb.94.1525856941902; Wed, 09 May 2018 02:09:01 -0700 (PDT) Received: from vader.hsd1.wa.comcast.net ([2601:602:8800:a9a9:e6a7:a0ff:fe0b:c9a8]) by smtp.gmail.com with ESMTPSA id s17sm60429576pfi.165.2018.05.09.02.09.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 09 May 2018 02:09:00 -0700 (PDT) From: Omar Sandoval To: linux-block@vger.kernel.org Cc: Jens Axboe , kernel-team@fb.com Subject: [PATCH v3 1/7] block: move some wbt helpers to blk-wbt.c Date: Wed, 9 May 2018 02:08:47 -0700 Message-Id: X-Mailer: git-send-email 2.17.0 In-Reply-To: References: In-Reply-To: References: Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Omar Sandoval A few helpers are only used from blk-wbt.c, so move them there, and put wbt_track() behind the CONFIG_BLK_WBT typedef. This is in preparation for changing how the wbt flags are tracked. Signed-off-by: Omar Sandoval --- block/blk-wbt.c | 20 ++++++++++++++++++++ block/blk-wbt.h | 33 ++++++++------------------------- 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/block/blk-wbt.c b/block/blk-wbt.c index a7a724580033..450cffa85dfb 100644 --- a/block/blk-wbt.c +++ b/block/blk-wbt.c @@ -29,6 +29,26 @@ #define CREATE_TRACE_POINTS #include +static inline void wbt_clear_state(struct blk_issue_stat *stat) +{ + stat->stat &= ~BLK_STAT_RES_MASK; +} + +static inline enum wbt_flags wbt_stat_to_mask(struct blk_issue_stat *stat) +{ + return (stat->stat & BLK_STAT_RES_MASK) >> BLK_STAT_RES_SHIFT; +} + +static inline bool wbt_is_tracked(struct blk_issue_stat *stat) +{ + return (stat->stat >> BLK_STAT_RES_SHIFT) & WBT_TRACKED; +} + +static inline bool wbt_is_read(struct blk_issue_stat *stat) +{ + return (stat->stat >> BLK_STAT_RES_SHIFT) & WBT_READ; +} + enum { /* * Default setting, we'll scale up (to 75% of QD max) or down (min 1) diff --git a/block/blk-wbt.h b/block/blk-wbt.h index d6a125e49db5..5bdae205e5df 100644 --- a/block/blk-wbt.h +++ b/block/blk-wbt.h @@ -35,31 +35,6 @@ enum { WBT_STATE_ON_MANUAL = 2, }; -static inline void wbt_clear_state(struct blk_issue_stat *stat) -{ - stat->stat &= ~BLK_STAT_RES_MASK; -} - -static inline enum wbt_flags wbt_stat_to_mask(struct blk_issue_stat *stat) -{ - return (stat->stat & BLK_STAT_RES_MASK) >> BLK_STAT_RES_SHIFT; -} - -static inline void wbt_track(struct blk_issue_stat *stat, enum wbt_flags wb_acct) -{ - stat->stat |= ((u64) wb_acct) << BLK_STAT_RES_SHIFT; -} - -static inline bool wbt_is_tracked(struct blk_issue_stat *stat) -{ - return (stat->stat >> BLK_STAT_RES_SHIFT) & WBT_TRACKED; -} - -static inline bool wbt_is_read(struct blk_issue_stat *stat) -{ - return (stat->stat >> BLK_STAT_RES_SHIFT) & WBT_READ; -} - struct rq_wait { wait_queue_head_t wait; atomic_t inflight; @@ -113,6 +88,11 @@ static inline unsigned int wbt_inflight(struct rq_wb *rwb) #ifdef CONFIG_BLK_WBT +static inline void wbt_track(struct blk_issue_stat *stat, enum wbt_flags flags) +{ + stat->stat |= ((u64)flags) << BLK_STAT_RES_SHIFT; +} + void __wbt_done(struct rq_wb *, enum wbt_flags); void wbt_done(struct rq_wb *, struct blk_issue_stat *); enum wbt_flags wbt_wait(struct rq_wb *, struct bio *, spinlock_t *); @@ -131,6 +111,9 @@ u64 wbt_default_latency_nsec(struct request_queue *); #else +static inline void wbt_track(struct blk_issue_stat *stat, enum wbt_flags flags) +{ +} static inline void __wbt_done(struct rq_wb *rwb, enum wbt_flags flags) { }