From patchwork Wed Oct 26 07:30:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Loehle X-Patchwork-Id: 11093 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp109524wru; Wed, 26 Oct 2022 00:34:37 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7o6EYZKvaUXOl1+DeyQqVsLcvYTV+Bwl0zhpcQTr1IgpBrOPwhJkP2bIuOFD2ioyf2nwl5 X-Received: by 2002:a17:907:97c1:b0:791:98b8:9ab8 with SMTP id js1-20020a17090797c100b0079198b89ab8mr35261820ejc.425.1666769676925; Wed, 26 Oct 2022 00:34:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666769676; cv=none; d=google.com; s=arc-20160816; b=dOQj1LI9Onmvwja6mSp2YQJj1JINurTLCEjJRMbONHK28SqBSK3cwS6+TTfGe5C1tu nH3aND+TwkFiJRp4EV2fda0Lx4F/VpO+B+/K2drcs5paI3mOYit33lgJHXSwEo5QSXG3 9mKXVwH7qC9jUJYt+OhyOfw0SX7By4oSFFXDaIoqhoV7Nb8qrAqarW0YNE3G3HlPHKb8 s/GLMQnCynY91rj/h2lNRBjudhamJnhCLA2QyUKSImb/FE+a9uSeauxgHL16shYxD8Iq vfxm8PYkdG/06q5AJUYi74HPOZNT+Ltng/9qwq6E9um4fqCpzLpgv2StugcEr9QKI+Dc EYKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:message-id:date:thread-index :thread-topic:subject:cc:to:from; bh=tDtMSaB3sGZ230TenMHwYV55sqVSu2qOXLya7B38jh8=; b=xwsKFazxm0PdWsXO1Zp/vhuuMDIfGQRYm6iAl7P4pk/cs+7fbV4IcPgtawNkcOGdDi afGyB/X3zOlH7IuCrX9rEhMVZzp19UHtANtRVOAkSmZrSGwtorjUw9GZjwtXv4jjfBTh a0JmHHecJpkExHOFwmpL+GMgkAF2si62UPJZNPS7ssncFWjL6VVCRKF1IAsWEh2IhfBH /7zdNQni8dD8aqC5djscbQpBzHcyimfNoTIXXA0LOdjjEz3ne/e2sRczZpE/lOZkR+BR uGwOGd6Eesk58wAjrt+BsklWvGaQXcyV9ZDgKWVwgSfHgfEBD3gxvGBgjF5H1GnYjP1t yFNg== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=hyperstone.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f12-20020a0564021e8c00b0045a22a21abesi958868edf.299.2022.10.26.00.34.12; Wed, 26 Oct 2022 00:34:36 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=hyperstone.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233134AbiJZHa5 convert rfc822-to-8bit (ORCPT + 99 others); Wed, 26 Oct 2022 03:30:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37330 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233076AbiJZHax (ORCPT ); Wed, 26 Oct 2022 03:30:53 -0400 Received: from mail4.swissbit.com (mail4.swissbit.com [176.95.1.100]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0D0366EF07; Wed, 26 Oct 2022 00:30:42 -0700 (PDT) Received: from mail4.swissbit.com (localhost [127.0.0.1]) by DDEI (Postfix) with ESMTP id A2AFD122BF0; Wed, 26 Oct 2022 09:30:40 +0200 (CEST) Received: from mail4.swissbit.com (localhost [127.0.0.1]) by DDEI (Postfix) with ESMTP id 91580122BE9; Wed, 26 Oct 2022 09:30:40 +0200 (CEST) X-TM-AS-ERS: 10.149.2.42-127.5.254.253 X-TM-AS-SMTP: 1.0 ZXguc3dpc3NiaXQuY29t Y2xvZWhsZUBoeXBlcnN0b25lLmNvbQ== X-DDEI-TLS-USAGE: Used Received: from ex.swissbit.com (unknown [10.149.2.42]) by mail4.swissbit.com (Postfix) with ESMTPS; Wed, 26 Oct 2022 09:30:40 +0200 (CEST) Received: from sbdeex04.sbitdom.lan (10.149.2.42) by sbdeex04.sbitdom.lan (10.149.2.42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.9; Wed, 26 Oct 2022 09:30:40 +0200 Received: from sbdeex04.sbitdom.lan ([fe80::2047:4968:b5a0:1818]) by sbdeex04.sbitdom.lan ([fe80::2047:4968:b5a0:1818%9]) with mapi id 15.02.1118.009; Wed, 26 Oct 2022 09:30:40 +0200 From: =?iso-8859-1?q?Christian_L=F6hle?= To: "axboe@kernel.dk" , "ulf.hansson@linaro.org" , "linux-mmc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-block@vger.kernel.org" CC: Avri Altman , "adrian.hunter@intel.com" , "vincent.whitchurch@axis.com" , =?iso-8859-1?q?Christian_L=F6hle?= Subject: [PATCH 1/3] block: Requeue req as head if driver touched it Thread-Topic: [PATCH 1/3] block: Requeue req as head if driver touched it Thread-Index: AdjpDEQm2rub+3iRTPCN7zrgvOwESA== Date: Wed, 26 Oct 2022 07:30:39 +0000 Message-ID: <22aa78389c9b4613841716c5b7bd89aa@hyperstone.com> Accept-Language: en-US, de-DE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.153.3.46] MIME-Version: 1.0 X-TMASE-Version: DDEI-5.1-9.0.1002-27224.006 X-TMASE-Result: 10-1.026300-10.000000 X-TMASE-MatchedRID: mIinBA9F1pwet1TxvngNg/ZNLVgVojn/9v33UW8WNYDIgofMgahPrb8F Hrw7frluf146W0iUu2s1Wh0fHDSsUWm8qwfvyPv4Y6Gjtu6/t30yCs+pWvwBI5soi2XrUn/JExk bqSDWgw8UGm4zriL0oQtuKBGekqUpI/NGWt0UYPDdxPQXTiv8E731jVRFyIDgbQoGqwZjwmkJeO MxPAANXY4TDtwwKftL X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 X-TMASE-INERTIA: 0-0;;;; X-TMASE-XGENCLOUD: e041678b-49f7-43a8-9ecd-1c6d54a9d864-0-0-200-0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747734680923018371?= X-GMAIL-MSGID: =?utf-8?q?1747734680923018371?= In case the driver set RQF_DONTPREP flag, requeue the request as head as it is likely that the backing storage already had a request to an adjacent region, so getting the requeued request out as soon as possible may give us some performance benefit. Signed-off-by: Christian Loehle Reviewed-by: Ulf Hansson Signed-off-by: Christian Loehle --- block/blk-mq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/blk-mq.c b/block/blk-mq.c index 33292c01875d..d863c826fb23 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -1429,7 +1429,7 @@ static void blk_mq_requeue_work(struct work_struct *work) * merge. */ if (rq->rq_flags & RQF_DONTPREP) - blk_mq_request_bypass_insert(rq, false, false); + blk_mq_request_bypass_insert(rq, true, false); else blk_mq_sched_insert_request(rq, true, false, false); } From patchwork Wed Oct 26 07:30:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Loehle X-Patchwork-Id: 11095 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp109878wru; Wed, 26 Oct 2022 00:35:37 -0700 (PDT) X-Google-Smtp-Source: AMsMyM65GU3lmCbZrGq7sKCnh7c8Zjkq+0AbwNByB3phd+jVNMNZ+Q9bYOuWy97mynxQJH4SuJnQ X-Received: by 2002:a17:907:7d8b:b0:7ad:69fa:f50d with SMTP id oz11-20020a1709077d8b00b007ad69faf50dmr2521043ejc.330.1666769736970; Wed, 26 Oct 2022 00:35:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666769736; cv=none; d=google.com; s=arc-20160816; b=qat/Z/8kmPpcKhKYNs0AV21xJ+/HpCAcXki2ESuttGED99PT9bvUYSh4eMrnKho+BG AMIGFHNvaysDvjn1ZCrHc3A1EnY9gwJu2i7HtEEwOgyY/dO//6WA3lGCsxn9CVlvl2mB fJzIP12XjMj7h9IcK9Km4F4BHcf8ajUR0mimrHNXwYnZSqp3afj/ZRKkpna3+oLNkX5E y4mgnQv3O5/XycQZXJjN14ESWmVpfQqy06CBytkLIdVdSlgRIZ31kVgT0w1mYbR+yR6c H3caFBu9n5fOJcHvQhr68beZehxaKXWLQ4pguKdHIX2dWqkmMo51xXPejn+RYqo/w3wD G3yA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:message-id:date:thread-index :thread-topic:subject:cc:to:from; bh=LL3rhHTwA5hDo5o94UpXaQlhVriBWEqVsRq+1sdgGoA=; b=HXnJ9+SnoWblHunuAATcd2yIySUBMehwX5ZeTX1q4pav7Y4kyKgmhBYQMmnqlQy5Sf rdzszrPHkz7EbH6F11HaS8r7pupyEYKKxsp6FqU+cJAebTzW7co9EhenODF8r0Rj+Sew p4GlZOIOviPSXMNBWG7C1hoJsP1AqQOYBpqDRIzP1g85Km+QaKBSsVHlCGJoocxb5Ijx VgIJDzPnAJWk14W8KMpEVTbKJA1T5FD+Sk8xMTwsFOEKqT2jvMqX2Hec2T1iuXCbNu8A g3Zuj6bMC45nfGxpVNNd86kZvG/MdStN1BYw1Uk8krOC+3F9gsxzQ9T/zMaXwcA8f5P7 MxNg== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=hyperstone.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id dp21-20020a170906c15500b007ac60b83407si4883422ejc.725.2022.10.26.00.35.10; Wed, 26 Oct 2022 00:35:36 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=hyperstone.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233163AbiJZHbH convert rfc822-to-8bit (ORCPT + 99 others); Wed, 26 Oct 2022 03:31:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37738 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233074AbiJZHa4 (ORCPT ); Wed, 26 Oct 2022 03:30:56 -0400 Received: from mail3.swissbit.com (mail3.swissbit.com [176.95.1.57]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B4A73645E7; Wed, 26 Oct 2022 00:30:45 -0700 (PDT) Received: from mail3.swissbit.com (localhost [127.0.0.1]) by DDEI (Postfix) with ESMTP id 81D5746300B; Wed, 26 Oct 2022 09:30:43 +0200 (CEST) Received: from mail3.swissbit.com (localhost [127.0.0.1]) by DDEI (Postfix) with ESMTP id 6FF30462F57; Wed, 26 Oct 2022 09:30:43 +0200 (CEST) X-TM-AS-ERS: 10.149.2.42-127.5.254.253 X-TM-AS-SMTP: 1.0 ZXguc3dpc3NiaXQuY29t Y2xvZWhsZUBoeXBlcnN0b25lLmNvbQ== X-DDEI-TLS-USAGE: Used Received: from ex.swissbit.com (unknown [10.149.2.42]) by mail3.swissbit.com (Postfix) with ESMTPS; Wed, 26 Oct 2022 09:30:43 +0200 (CEST) Received: from sbdeex04.sbitdom.lan (10.149.2.42) by sbdeex04.sbitdom.lan (10.149.2.42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.9; Wed, 26 Oct 2022 09:30:43 +0200 Received: from sbdeex04.sbitdom.lan ([fe80::2047:4968:b5a0:1818]) by sbdeex04.sbitdom.lan ([fe80::2047:4968:b5a0:1818%9]) with mapi id 15.02.1118.009; Wed, 26 Oct 2022 09:30:43 +0200 From: =?iso-8859-1?q?Christian_L=F6hle?= To: "axboe@kernel.dk" , "ulf.hansson@linaro.org" , "linux-mmc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-block@vger.kernel.org" CC: Avri Altman , "adrian.hunter@intel.com" , "vincent.whitchurch@axis.com" , =?iso-8859-1?q?Christian_L=F6hle?= Subject: [PATCH 2/3] mmc: block: Limit queue size for consecutive requeues Thread-Topic: [PATCH 2/3] mmc: block: Limit queue size for consecutive requeues Thread-Index: AdjpDFCUhEcLNslaTyCpqjy/WRFg1Q== Date: Wed, 26 Oct 2022 07:30:42 +0000 Message-ID: <3dd3f33e5cc44657bcc2ebedc6d9dd2f@hyperstone.com> Accept-Language: en-US, de-DE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.153.3.46] MIME-Version: 1.0 X-TMASE-Version: DDEI-5.1-9.0.1002-27224.006 X-TMASE-Result: 10--5.836500-10.000000 X-TMASE-MatchedRID: mIinBA9F1pwet1TxvngNgwzi9ePw0R3QajzNTFMlQCO+qOvnr0wlxY16 Nb+wd14Qbl983Sq5pJeLZQCmElUWARFCTluKaxHxTuctSpiuWyUUi4Ehat05499RlPzeVuQQghU rQpNGkuDi8zVgXoAltnS4vQrt84k3IAcCikR3vq/6y90BhXIDKmClRxG2GXwUzMjDTijVc9B9M7 imkCdZsOPwTp3D3CU0 X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 X-TMASE-INERTIA: 0-0;;;; X-TMASE-XGENCLOUD: 0c6dfd2d-d8dd-4e82-a8ba-67a22aba986d-0-0-200-0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747734743519611221?= X-GMAIL-MSGID: =?utf-8?q?1747734743519611221?= In case mmcblk relies on requeueing to fulfill block layer requests due to hardware or driver restricting the max_blk_count to 1 also limit the hardware queue size to 1 to get consecutive accesses instead of a round-robin on all queued reads. See SDHCI_QUIRK_NO_MULTIBLOCK for such a restriction. Signed-off-by: Christian Loehle --- drivers/mmc/core/queue.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/mmc/core/queue.c b/drivers/mmc/core/queue.c index fefaa901b50f..3a20f3933502 100644 --- a/drivers/mmc/core/queue.c +++ b/drivers/mmc/core/queue.c @@ -425,6 +425,8 @@ struct gendisk *mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card) if (host->cqe_enabled && !host->hsq_enabled) mq->tag_set.queue_depth = min_t(int, card->ext_csd.cmdq_depth, host->cqe_qdepth); + else if (host->max_blk_count == 1) + mq->tag_set.queue_depth = 1; else mq->tag_set.queue_depth = MMC_QUEUE_DEPTH; mq->tag_set.numa_node = NUMA_NO_NODE; From patchwork Wed Oct 26 07:30:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Loehle X-Patchwork-Id: 11094 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp109675wru; Wed, 26 Oct 2022 00:35:04 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7OTTo/o2yq+u4izbwvLclSPYS1oypa9hr+xhSGudwv+amEq0VBq16/SKkAF0rjxiBfadfA X-Received: by 2002:a17:90a:64c3:b0:212:d67d:a034 with SMTP id i3-20020a17090a64c300b00212d67da034mr2769622pjm.55.1666769703918; Wed, 26 Oct 2022 00:35:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666769703; cv=none; d=google.com; s=arc-20160816; b=hxbxs8+UayRW+96ysnMlaabJUh2gn2d/O6WiIkYEXdmOKHCnpYwS+XziqRxEaSRisP dBE8+N1NOuLv0Te0nPsr617u03zhoIK2uRNvLm2UaX8fA0Rfite7OBfCfBx0BaZW4kg5 bcYZnXZsXMPUa921poFtkU2XaxiLCyfX2zyYOL1KqAME+td1YT2SIcQrGk1Sggu6IXa4 JUyfmqahJ4ab+1Ngpa4K9qszUsrrcCeJj+u35E1Uf2/kkCaGtr/AmSVE5E2HEY32I0MQ sCSSM/VjmVQLf1d19Pjg7sJ0s+Rz1QCURZXIcC5P9ukUmH1PQmH/GtAQerS2GHplYp+D XF8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:message-id:date:thread-index :thread-topic:subject:cc:to:from; bh=ruYLWTy64WU0toxM5Yfj6ZJXVH1vhcTARFueZwjOlx4=; b=WV2x5tHMM0raR+wZ82De3TuRfTWcA5DB8C8aYHsdvQ3gMawVwy+bapvHdzAzUHrs3O rhEy/mX0rysouOPUqKOdNoDLa745qIUhp7r3v7s403EKkeEU/iTsmdMxqFM4+ixqfGom RC6dUMNPWlOv1UDMZ8UsJpRmXCQRMJe/WYNNIhBIQGS8F8Dld/7qPwmbJHYNoLx+n9gp qhFjlSb6dYioHpxqn/i0LVTVSquGByreUuzOVSj8byXZdBSyyaPUH0oUStXSrpY4K2LD FAshPpoEKVtG6TTDjA8Z/cSYxujR0Gza36pp+AO4g933gUziqTifGc5gDQRbC5S/aiPe qp8g== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=hyperstone.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y4-20020a17090322c400b0016f5e7d0febsi6985880plg.244.2022.10.26.00.34.50; Wed, 26 Oct 2022 00:35:03 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=hyperstone.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233111AbiJZHbD convert rfc822-to-8bit (ORCPT + 99 others); Wed, 26 Oct 2022 03:31:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37412 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233096AbiJZHay (ORCPT ); Wed, 26 Oct 2022 03:30:54 -0400 Received: from mail5.swissbit.com (mail5.swissbit.com [148.251.244.252]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 769D779682; Wed, 26 Oct 2022 00:30:47 -0700 (PDT) Received: from mail5.swissbit.com (localhost [127.0.0.1]) by DDEI (Postfix) with ESMTP id AA6F83A1CC8; Wed, 26 Oct 2022 09:30:45 +0200 (CEST) Received: from mail5.swissbit.com (localhost [127.0.0.1]) by DDEI (Postfix) with ESMTP id 9BD3D3A19AE; Wed, 26 Oct 2022 09:30:45 +0200 (CEST) X-TM-AS-ERS: 10.149.2.42-127.5.254.253 X-TM-AS-SMTP: 1.0 ZXguc3dpc3NiaXQuY29t Y2xvZWhsZUBoeXBlcnN0b25lLmNvbQ== X-DDEI-TLS-USAGE: Used Received: from ex.swissbit.com (sbdeex04.sbitdom.lan [10.149.2.42]) by mail5.swissbit.com (Postfix) with ESMTPS; Wed, 26 Oct 2022 09:30:45 +0200 (CEST) Received: from sbdeex04.sbitdom.lan (10.149.2.42) by sbdeex04.sbitdom.lan (10.149.2.42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.9; Wed, 26 Oct 2022 09:30:45 +0200 Received: from sbdeex04.sbitdom.lan ([fe80::2047:4968:b5a0:1818]) by sbdeex04.sbitdom.lan ([fe80::2047:4968:b5a0:1818%9]) with mapi id 15.02.1118.009; Wed, 26 Oct 2022 09:30:45 +0200 From: =?iso-8859-1?q?Christian_L=F6hle?= To: "axboe@kernel.dk" , "ulf.hansson@linaro.org" , "linux-mmc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-block@vger.kernel.org" CC: Avri Altman , "adrian.hunter@intel.com" , "vincent.whitchurch@axis.com" , =?iso-8859-1?q?Christian_L=F6hle?= Subject: [PATCH 3/3] mmc: block: Requeue on block size restrictions Thread-Topic: [PATCH 3/3] mmc: block: Requeue on block size restrictions Thread-Index: AdjpDHb57shE0br7QqOZ9olY8otAMg== Date: Wed, 26 Oct 2022 07:30:44 +0000 Message-ID: Accept-Language: en-US, de-DE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.153.3.46] MIME-Version: 1.0 X-TMASE-Version: DDEI-5.1-9.0.1002-27224.006 X-TMASE-Result: 10--5.321200-10.000000 X-TMASE-MatchedRID: 9886Ub8IUanFkQpHLCk4oQXtykVcrvpNqf/efKFN1nDVjNsehGf0vVkI Tz82Kc4AioDiaHUgJaTMdqKz1jxx8S/7QU2czuUNA9lly13c/gFHyz3bB5kG52fIvzHS0qU76bn ve26xmNDsq6KOq5NL8H8mA3sDDq0AtVC7UY1n6yI7AFczfjr/7GCs+UIIAXsCzZ/ZSwfkDNqvOj krw6MD5tw3n/ubs2J3W7oWrwszBSc= X-TMASE-SNAP-Result: 1.821001.0001-0-1-22:0,33:0,34:0-0 X-TMASE-INERTIA: 0-0;;;; X-TMASE-XGENCLOUD: eac11117-5080-402d-a60f-b2191784507e-0-0-200-0 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747734708708789317?= X-GMAIL-MSGID: =?utf-8?q?1747734708708789317?= The block layer does not conform to all our sector count restrictions, so requeue in case we had to modify the number of blocks sent instead of going through the normal completion. Note that the normal completion used before does not lead to a bug, this change is just the nicer thing to do. An example of such a restriction is max_blk_count = 1 and 512 blksz, but the block layer continues to use requests of size PAGE_SIZE. Signed-off-by: Christian Loehle --- drivers/mmc/core/block.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c index 54cd009aee50..c434d3964880 100644 --- a/drivers/mmc/core/block.c +++ b/drivers/mmc/core/block.c @@ -1519,8 +1519,10 @@ static void mmc_blk_cqe_req_done(struct mmc_request *mrq) /* * Block layer timeouts race with completions which means the normal * completion path cannot be used during recovery. + * Also do not use it if we had to modify the block count to satisfy + * host controller needs. */ - if (mq->in_recovery) + if (mq->in_recovery || mrq->data->blocks != blk_rq_sectors(req)) mmc_blk_cqe_complete_rq(mq, req); else if (likely(!blk_should_fake_timeout(req->q))) blk_mq_complete_request(req); @@ -2051,8 +2053,10 @@ static void mmc_blk_hsq_req_done(struct mmc_request *mrq) /* * Block layer timeouts race with completions which means the normal * completion path cannot be used during recovery. + * Also do not use it if we had to modify the block count to satisfy + * host controller needs. */ - if (mq->in_recovery) + if (mq->in_recovery || mrq->data->blocks != blk_rq_sectors(req)) mmc_blk_cqe_complete_rq(mq, req); else if (likely(!blk_should_fake_timeout(req->q))) blk_mq_complete_request(req); @@ -2115,8 +2119,10 @@ static void mmc_blk_mq_post_req(struct mmc_queue *mq, struct request *req, /* * Block layer timeouts race with completions which means the normal * completion path cannot be used during recovery. + * Also do not use it if we had to modify the block count to satisfy + * host controller needs. */ - if (mq->in_recovery) { + if (mq->in_recovery || mrq->data->blocks != blk_rq_sectors(req)) { mmc_blk_mq_complete_rq(mq, req); } else if (likely(!blk_should_fake_timeout(req->q))) { if (can_sleep)