Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp1401209iog; Thu, 16 Jun 2022 05:45:38 -0700 (PDT) X-Google-Smtp-Source: AGRyM1v4VQS4RD1mI/54W4fj46BLNf/+GpKFdhyOXY9TSO0CbOmgn0azTeGtJXkZ9OBMVwli9j9b X-Received: by 2002:a05:6a00:1801:b0:51c:1001:6241 with SMTP id y1-20020a056a00180100b0051c10016241mr4738973pfa.81.1655383538196; Thu, 16 Jun 2022 05:45:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655383538; cv=none; d=google.com; s=arc-20160816; b=loameHiKLVAImkOQJb2YGaDXyz3aAbxqrUxSCPJIsTIR2kjgCwp+hL45Cq6v6oAN2Y 4OAN0ard5k1z7PQfyI5wKQE+OtXMS8wzRgckttaipwQhIKKRbaG+hf20mIGbYAMPYCnx I6Orgnn3ItUmuwvWWtCUN3mnWyW4gmbsnRnwtbXPTUMT9P2puNGkv3pHm0y1kpQw9++/ u7JsII9znrDg1dTYTBTUdiMjAgvUaQoIMGSoWKKo4Qd0z9NwbvfylI6PLHqsyhOz2++9 /la0Nxx30huHxH3qZ3mMFUyyWBrxTPLLFk3WDhqkaRoaaL4kgpEo0Kx6AIPxWHJDdR4j NX9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:to:from; bh=nrtSpKd+VN8GT0Nypf6hC1/Cx6LPmEbHnlLNdLkn9YI=; b=OC747qjz6CrS0/ZtKFsqahCURX++vCwTRDedhlI09iX/DQPlMXJttLnFH4klC/zBji yb3jYhQNVqnkzSowN1tEkx893xOP8Wh0U1T8C7jBoIFL/1vBU0YUgGJDlT8KzrWu7NGX QwvuZ/mTqsVPn9gOMGJiSH551M7t9tUVWBS1ESLgS8c3nrofYSMwKKbZQJu5HBdvoKmt jfMNClLzWhrEi42L4Szgy0t+s7xZYii49JfR5qkKvTQbzN5dyoSHUQAo9oYU75kTJC0T SptJaKzQicftDHMIF9Ux9+GsWmS0oOz92O9WB7Yz2mCnPcwsIVylzZiiKyuLM9qoCf8e /sxg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a20-20020a170902b59400b001624d7f36acsi2208239pls.592.2022.06.16.05.45.21; Thu, 16 Jun 2022 05:45:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1376947AbiFPMcw (ORCPT + 99 others); Thu, 16 Jun 2022 08:32:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42552 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229708AbiFPMcv (ORCPT ); Thu, 16 Jun 2022 08:32:51 -0400 Received: from SHSQR01.spreadtrum.com (unknown [222.66.158.135]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8748B1CFC4; Thu, 16 Jun 2022 05:32:48 -0700 (PDT) Received: from SHSend.spreadtrum.com (bjmbx01.spreadtrum.com [10.0.64.7]) by SHSQR01.spreadtrum.com with ESMTPS id 25GCUq8Y095041 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NO); Thu, 16 Jun 2022 20:30:52 +0800 (CST) (envelope-from zhaoyang.huang@unisoc.com) Received: from bj03382pcu.spreadtrum.com (10.0.74.65) by BJMBX01.spreadtrum.com (10.0.64.7) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Thu, 16 Jun 2022 20:30:53 +0800 From: "zhaoyang.huang" To: Jens Axboe , Mel Gorman , Zhaoyang Huang , , , Subject: [RFC PATCHv2] block: set bdi congested when no tag available Date: Thu, 16 Jun 2022 20:30:31 +0800 Message-ID: <1655382631-3037-1-git-send-email-zhaoyang.huang@unisoc.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.0.74.65] X-ClientProxiedBy: SHCAS01.spreadtrum.com (10.0.1.201) To BJMBX01.spreadtrum.com (10.0.64.7) X-MAIL: SHSQR01.spreadtrum.com 25GCUq8Y095041 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Zhaoyang Huang In previous version, block layer will set bdi to be congested when get_request fail, which may throttle direct_reclaim. Move them back under current blk-mq design. Signed-off-by: Zhaoyang Huang --- v2: simplify the code --- --- block/blk-mq-tag.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c index 995336a..0cbc445 100644 --- a/block/blk-mq-tag.c +++ b/block/blk-mq-tag.c @@ -11,6 +11,7 @@ #include #include +#include #include "blk.h" #include "blk-mq.h" #include "blk-mq-sched.h" @@ -126,6 +127,8 @@ unsigned int blk_mq_get_tag(struct blk_mq_alloc_data *data) if (tag != BLK_MQ_NO_TAG) goto found_tag; + set_bdi_congested(data->q->disk->bdi,BLK_RW_SYNC); + set_bdi_congested(data->q->disk->bdi,BLK_RW_ASYNC); if (data->flags & BLK_MQ_REQ_NOWAIT) return BLK_MQ_NO_TAG; @@ -190,6 +193,8 @@ unsigned int blk_mq_get_tag(struct blk_mq_alloc_data *data) blk_mq_put_tag(tags, data->ctx, tag + tag_offset); return BLK_MQ_NO_TAG; } + clear_bdi_congested(data->q->disk->bdi,BLK_RW_SYNC); + clear_bdi_congested(data->q->disk->bdi,BLK_RW_ASYNC); return tag + tag_offset; } -- 1.9.1