From patchwork Fri Jan 11 11:08:42 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mauricio Faria de Oliveira X-Patchwork-Id: 1023522 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43bg9Q3wMvz9sBQ; Fri, 11 Jan 2019 22:09:14 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1ghugV-0007VW-Ie; Fri, 11 Jan 2019 11:09:07 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.86_2) (envelope-from ) id 1ghugT-0007SW-AY for kernel-team@lists.ubuntu.com; Fri, 11 Jan 2019 11:09:05 +0000 Received: from mail-qt1-f200.google.com ([209.85.160.200]) by youngberry.canonical.com with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.76) (envelope-from ) id 1ghugS-0004xX-1x for kernel-team@lists.ubuntu.com; Fri, 11 Jan 2019 11:09:04 +0000 Received: by mail-qt1-f200.google.com with SMTP id t18so16292361qtj.3 for ; Fri, 11 Jan 2019 03:09:04 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=2t178K93bRPzZb7WfVVpZQ7CX1WlvhtbX+daiHT6CKY=; b=QhcsjAZ2KJR2stscNd2zJ8RRpoQ2+Hjrm5akFVzSQIcUK+nhlFqIxRgRIcqQvmAviS JazH4QQh5yIxgpfLdMywZblp3Tp+z4fjyT5eGoFP/TEHArg/ilgE/kPaI/WFdpYXkFYk 9T09u1D3Kjlw1BwBbLlTdR8oqzY4mR8AuibWldmYXYCHxB9xc9xSa2BcQSFBd/nxgFXu LXram8lT7G95kx7xQtji3RAdH0KkcpqDq2hx0IPjazD69rktcLex8H+n0sSamVpAvTEA /mR9OpNO1EOnrPJC6uERg1N77vL3cvUQA/uV8WmEI4bVjQaG768c8VropptJTt0T+Z+5 wgpA== X-Gm-Message-State: AJcUukcBW+xKOKbSboDVD0Iw+/VPVm4GK/N3pUwvYq7Xo6ke9fOJvtFw h9ss7WU96KzTLuacs7inGM2UYMOKFI5b79RrmDog7nkn9i9eJmkp6Laz+2CAl2RYuqWWhR2yU7u Ul4V3qcrROY3+MZ+zauy20cLy+OF1AET7LDcETrQZDw== X-Received: by 2002:a37:b703:: with SMTP id h3mr12168082qkf.33.1547204942993; Fri, 11 Jan 2019 03:09:02 -0800 (PST) X-Google-Smtp-Source: ALg8bN69jahVXSZuEd8cyPzCpknCV8P3HtgziT745H5ln8X3a0hzZfkTnP3IV8Bmyg5kZzD7ee4MaA== X-Received: by 2002:a37:b703:: with SMTP id h3mr12168075qkf.33.1547204942829; Fri, 11 Jan 2019 03:09:02 -0800 (PST) Received: from localhost.localdomain ([177.181.227.3]) by smtp.gmail.com with ESMTPSA id x202sm35844345qka.67.2019.01.11.03.09.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Jan 2019 03:09:01 -0800 (PST) From: Mauricio Faria de Oliveira To: kernel-team@lists.ubuntu.com Subject: [SRU C][PATCH v2 5/6] blk-wbt: abstract out end IO completion handler Date: Fri, 11 Jan 2019 09:08:42 -0200 Message-Id: <20190111110843.18042-6-mfo@canonical.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190111110843.18042-1-mfo@canonical.com> References: <20190111110843.18042-1-mfo@canonical.com> X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Jens Axboe BugLink: https://bugs.launchpad.net/bugs/1810998 Prep patch for calling the handler from a different context, no functional changes in this patch. Tested-by: Agarwal, Anchal Signed-off-by: Jens Axboe (backported from commit 061a5427530633de93ace4ef001b99961984af62) [mfo: backport: __wbt_done(): - keep signature (not static; parameters; no 'rqos') - remove the cast to 'rwb' from 'rqos' (it doesn't exist).] Signed-off-by: Mauricio Faria de Oliveira --- block/blk-wbt.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/block/blk-wbt.c b/block/blk-wbt.c index d4f7a1bc1056..fe20486bd9b4 100644 --- a/block/blk-wbt.c +++ b/block/blk-wbt.c @@ -144,15 +144,11 @@ static void rwb_wake_all(struct rq_wb *rwb) } } -void __wbt_done(struct rq_wb *rwb, enum wbt_flags wb_acct) +static void wbt_rqw_done(struct rq_wb *rwb, struct rq_wait *rqw, + enum wbt_flags wb_acct) { - struct rq_wait *rqw; int inflight, limit; - if (!(wb_acct & WBT_TRACKED)) - return; - - rqw = get_rq_wait(rwb, wb_acct); inflight = atomic_dec_return(&rqw->inflight); /* @@ -190,6 +186,17 @@ void __wbt_done(struct rq_wb *rwb, enum wbt_flags wb_acct) } } +void __wbt_done(struct rq_wb *rwb, enum wbt_flags wb_acct) +{ + struct rq_wait *rqw; + + if (!(wb_acct & WBT_TRACKED)) + return; + + rqw = get_rq_wait(rwb, wb_acct); + wbt_rqw_done(rwb, rqw, wb_acct); +} + /* * Called on completion of a request. Note that it's also called when * a request is merged, when the request gets freed.