From patchwork Wed Jan 25 13:44:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mel Gorman X-Patchwork-Id: 13115652 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E8162C54E94 for ; Wed, 25 Jan 2023 13:45:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 835306B0075; Wed, 25 Jan 2023 08:45:22 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7E6846B0078; Wed, 25 Jan 2023 08:45:22 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6ADC86B007E; Wed, 25 Jan 2023 08:45:22 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 5BF986B0075 for ; Wed, 25 Jan 2023 08:45:22 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 2C62AC0746 for ; Wed, 25 Jan 2023 13:45:22 +0000 (UTC) X-FDA: 80393443284.16.5A75F93 Received: from outbound-smtp25.blacknight.com (outbound-smtp25.blacknight.com [81.17.249.193]) by imf14.hostedemail.com (Postfix) with ESMTP id 4C61810000D for ; Wed, 25 Jan 2023 13:45:20 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf14.hostedemail.com: domain of mgorman@techsingularity.net designates 81.17.249.193 as permitted sender) smtp.mailfrom=mgorman@techsingularity.net ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674654320; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bLWsjn14X33upIrHmANmDBz9DJQXfXX59tK6m2PYat4=; b=krJTm4Xe4OUnJo4R3lTRR5Mj+DR2rE74rHJqT4JFHAf4OlOvKX+uvvnp0fDMl9j3H5XznP /Z6RJqpYMp6tEn/8K4Rg1p5YfjoelFkclLgB+zVjmpEGEFl0rSQvy660hTDH9D7VybkvTv qxLa+i9aB/2mmWDke4JpyTPbMTXmvEk= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf14.hostedemail.com: domain of mgorman@techsingularity.net designates 81.17.249.193 as permitted sender) smtp.mailfrom=mgorman@techsingularity.net ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674654320; a=rsa-sha256; cv=none; b=PrPNFromKCbu90b71m0pwB+Sn2e4b2/S4EozD68/jy6xpWjRJBl6+9IkE1FRXwJhXzI6DZ zvcbcqDFisB6dNyR5m9TL43wGmNHK3M0mqqgtRs4QCQRDBlJrQ7NpjWJLn6kyTWa7/+4y3 XlB7jRoRKoFakUumHKWIdCBOioLjPec= Received: from mail.blacknight.com (pemlinmail05.blacknight.ie [81.17.254.26]) by outbound-smtp25.blacknight.com (Postfix) with ESMTPS id BF0A742020 for ; Wed, 25 Jan 2023 13:45:18 +0000 (GMT) Received: (qmail 21935 invoked from network); 25 Jan 2023 13:45:18 -0000 Received: from unknown (HELO morpheus.112glenside.lan) (mgorman@techsingularity.net@[84.203.198.246]) by 81.17.254.9 with ESMTPA; 25 Jan 2023 13:45:18 -0000 From: Mel Gorman To: Vlastimil Babka Cc: Andrew Morton , Jiri Slaby , Maxim Levitsky , Michal Hocko , Pedro Falcato , Paolo Bonzini , Chuyi Zhou , Linux-MM , LKML , Mel Gorman Subject: [PATCH 3/4] mm, compaction: Finish scanning the current pageblock if requested Date: Wed, 25 Jan 2023 13:44:33 +0000 Message-Id: <20230125134434.18017-4-mgorman@techsingularity.net> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20230125134434.18017-1-mgorman@techsingularity.net> References: <20230125134434.18017-1-mgorman@techsingularity.net> MIME-Version: 1.0 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 4C61810000D X-Rspam-User: X-Stat-Signature: ya5wtmobhecanewqakzcg3gpjjj4iotw X-HE-Tag: 1674654320-327943 X-HE-Meta: U2FsdGVkX1+1HTIuFlwQYi0F43U9NEC9xDyPHvdNfjONPtcvLlNxWM9ySVzxR1zwtaBVuv4d4TWhSRcf9Lt+TUEo4ZqQQarvu8Ql90OYcIYdEgKWriwUM/VpORu0IXVZwfbD7RV3s6Q7NrwL5jFcCMOJBblWM2Bx7gLbGzIaAuuE3lDjg4GoZvf2ygoxNxf6rEZQ4Ha8GxGosD01j8GLK3KXyfdTMUHaWW8NPsUATCGCpdIqeFYSKqd5s9kGW0Y5JuuxUIW8LTE/uojfEAlmevGx3CRyDrj3VJW6EVoWZr140Q/mt4KG1rvfebQ1OkIk8xWNDevJgmeR+9pPPA3xR/uNtLgQNrzB+PaopHxuCg8cuCkRmEUFdypFI2uouHDZ5e74fNPXi3ajkz3aOGul7MEA2OTp1uo2M4UgkeHYdzkuEkZ6vKCw5cMFcZlRozEacqSD6E1SAiVQeCLf2SFv2nQumflZWu2zdVJO7hoxKUCMWt3JZ38oy38EdYRgfp/gHH1Z94uTm7AZdvxR80fHa0W9TUUqHDY5n3OtJCiW3kkZOQHP0P7T94xJnI82WEHWcnpIMMVv0NNNXFMCbpnLXZ12PEJIJaMj3J7NlRbVxjSjDnyll22u0B0sMpaxC/agBPpILDUEHZRhS770AWlDZyLWojcWEjuUeZDmAnN8tT1vp23XbdEWxDJp0Oy2+RfGLrj4y7y4G1nmB4Yef0YgfmGweg+GYvuUzDHK25ZwbXE1/yFSfjQSaR0+gv8cQu76uWePmE1kLi8KmeJnOKZyvizvsvmqLguWWVkzn5tNv+ydzkwM5ZAbv8R4tTbMjZXs7BVBIWv0dRzxFz6lZB5XgJRh0aFA44qAbL/Z/KXmAFHvCYD7Y0y9FY3I/fpqPRpsy1nWroqwyK2XPkjYCogH4bYiD54tP5wVSPRm72ZcxvUyxB8lInkrgFETdsLhJVgNgrsBsIrZ19jZCxHjsHk B+8Snfv3 EOc4tVjr4QrB0gdxjT9TSIVboif0l7KaQnUnZb4+qQTIzO3xve8fJSaTEBaKaEo31SEvIcFnv3wtppE9kaoW/rPsEcOQ5QJIiS7bh/rgbHpl9nac27ieEZcQd7MfImP2nzVOvm3xfCj9Bol0ovD4DnjOq4V7nGru7DQEfo41JeOGfYN+IO40ZEnoSkwseizz1TIAqpWwqTfY0hvLfdSHYoJGhONFLbQHyZm5OetDyxEhVifLRK5klwZwWxql3jCXQLNeVq8ll9PeXQLsM6Fcw15LzW4ZPq4Nmv9opKeMQcw9wvF0= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: cc->finish_pageblock is set when the current pageblock should be rescanned but fast_find_migrateblock can select an alternative block. Disable fast_find_migrateblock when the current pageblock scan should be completed. Signed-off-by: Mel Gorman Acked-by: Vlastimil Babka --- mm/compaction.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/mm/compaction.c b/mm/compaction.c index 28711a21a8a2..4b3a0238879c 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -1762,6 +1762,13 @@ static unsigned long fast_find_migrateblock(struct compact_control *cc) if (cc->ignore_skip_hint) return pfn; + /* + * If the pageblock should be finished then do not select a different + * pageblock. + */ + if (cc->finish_pageblock) + return pfn; + /* * If the migrate_pfn is not at the start of a zone or the start * of a pageblock then assume this is a continuation of a previous