From mboxrd@z Thu Jan 1 00:00:00 1970 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 8F45ED41D44 for ; Tue, 12 Nov 2024 01:24:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 224496B00B4; Mon, 11 Nov 2024 20:24:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1D35C6B00B5; Mon, 11 Nov 2024 20:24:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 073D76B00B6; Mon, 11 Nov 2024 20:24:41 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id DD55F6B00B4 for ; Mon, 11 Nov 2024 20:24:40 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 4D9B014029A for ; Tue, 12 Nov 2024 01:24:40 +0000 (UTC) X-FDA: 82775697018.10.E2D4078 Received: from out30-100.freemail.mail.aliyun.com (out30-100.freemail.mail.aliyun.com [115.124.30.100]) by imf08.hostedemail.com (Postfix) with ESMTP id 61F92160018 for ; Tue, 12 Nov 2024 01:24:07 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=xTRHySBj; dmarc=pass (policy=none) header.from=linux.alibaba.com; spf=pass (imf08.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.100 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731374591; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=FAh8i+btsDEtj/FoB55DOxNk/QmA0qDobXAPdZ9QGRM=; b=UA7TjGXuMM5ZMjsGVc6UDh63qa6Seb0x7Jgzmx0ahqWzcnd0aWHDMTV1V3jfgKtZXiGZlL jcNTuTczRaVkaURwO4XexCA5i7cMRwEt2Na6rI3R5qpZr2W23n8gfgsq/eqykvgytGFZ62 Uzyi12yQDJH6661EGpHYXfj7Y6qyM1I= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=xTRHySBj; dmarc=pass (policy=none) header.from=linux.alibaba.com; spf=pass (imf08.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.100 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731374591; a=rsa-sha256; cv=none; b=Y2+PnJq7kc3m3Z9ByHQnZzML5KxRwBLLSYJhe3rglF7NpDOk988kzlgt0cELaopI0bOJwf sDk9hC8pG9oMMxaupjMSKxRQ6B6MaqXec3gIjxV9J/qbUCz3b6bSrqKxuUPYTRZu+D9SFQ f3ntPTwyTDrCjagS1YJGr4lkKwjsWZQ= DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1731374672; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type; bh=FAh8i+btsDEtj/FoB55DOxNk/QmA0qDobXAPdZ9QGRM=; b=xTRHySBj0xMiXO3ibpkLo7q4ihW9ieV5UAtMma0JrGniFG2rlWqa++PxQ6Iu8pJqcm+V11PGTLGAOd41LxLdWLiYNThpaVaNosNUuKCoAmT00Ciu37O/R9FVO3B/b9od2rUPyueKr38vrGZLe7Naf6V5B2piWxrVAQ0jEeyC5M0= Received: from 30.74.144.120(mailfrom:baolin.wang@linux.alibaba.com fp:SMTPD_---0WJEyE-C_1731374669 cluster:ay36) by smtp.aliyun-inc.com; Tue, 12 Nov 2024 09:24:30 +0800 Message-ID: <055703d7-1434-42fb-8048-add21a9bd44c@linux.alibaba.com> Date: Tue, 12 Nov 2024 09:24:28 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] mm/compaction: fix the total_isolated in strict mode To: Qiang Liu , akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20241102201621.95291-1-liuq131@chinatelecom.cn> From: Baolin Wang In-Reply-To: <20241102201621.95291-1-liuq131@chinatelecom.cn> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 61F92160018 X-Stat-Signature: emy1fkkf1mhny7r5ht8c7qcn8wqboocn X-HE-Tag: 1731374647-875476 X-HE-Meta: U2FsdGVkX1+kcAoYmdSe5QUFmX4f12n8QIHUi1SLGdEFy//O6NOfzVBFgAh6rFyfaHOb5C2uCDm0+eiFKWT1YakaKJx91uQDvjjo8E8X+EMtPJTcStUXsclkdUNptVJ8sp1yq8f2UFHwZTS1fTlLIgzWa8WDnESuB+waafnYFfbFNG0wkP+mwM7QiSF7JCJnjmWatmbFoz8Pq2zsk8bw8MrE3JUVO9VZSBolJkqsad9Zihq0jC9TtbGh9Uuywr4m5f7qClRS9m8JXPcAYALbSGecCoRz0elN4ZjZ75WUkgaBP9ksAlw0vzYsqRN1CHB1kyMTckr3rPecPQUbOGDf11nzv2ES/nmLPT62i7ln7Poe2SRT/wZetevCvNv40WnLdxRV21jTu8KsAR+NsP/9mmtkPuZYUU3k23PeneNQVZU4uwGkmySk9COH/FXxwDB4es6M1NwXAq3Gdx+8oxoQXshAUdKtB3jZ0HiXKkiixwbK5NOShgK5SQRdehAdMrgy/2m1M00Inymyu0tHn9SInxOXu4Fd13LxPXX3n+HQBL0CKyGcX9nK2wh5Wpf9WwJkTIa4b+tIkb+4EGHra6yI0MOmxjyGAKxwouLU5dUpdWydk39Srr+oCqqyzHrgOgm4kss3EKF9ziBB6GqibYKNMZ8YGLQgiMyo6dSE52z9NHv0h3F+rNVL3dkm9aTXYWBgQcE6s0rp6RUuMmKL0BsFjabZmqlfUxsRD8K4aNsgVov+6fUYwcMtg/fSlBp2AO2smeZIP2sk/hQZ9YAubzd+cvNXfsLSuY6GmappnR46juDczNkgn+FyOSYQ4rV64g2ztISfq+z/iUwJrmxFiglCULkFXikpgsT6I4s+8k2/+4umYx4+CiYid68GhQ+iEqaM0xov4Oms8nrCNGrPOaIqQ+ZsKrDPPJZFXIjkhZNdNEX2RTFQE3I+a/KacmM00lSn0Fy5Y8aWVQpotJfwgKm 9iz5qmID bjIYk5P/D4rZtJlrGD7xrl47X00yFT59PYM2nLVN89QRq8p8vIYC6Ha0ubIpthn3aFiDZNBF/4Rvrj1QOqALSIebOHMD2TDapMXiW33nmgvSUw9OCLEhotgA/PV5DVTS5eJqArbJmokvmQaaibhONx5xXet7Wfq8NwbG9WuzhFBB/wQDgPN62KTuKvABDF4bh+10WCdT5OK3AimkSbhzjkf0f40VBt7pcyhXSXc+FRi+0icu/cTI5O3uLeyhMeiOCyIcYOkOx0rn/Jljyv6Sd5amxBy2QonFSO/9asPJqGl4Xz4CIEerPge1VwSftc+mZWwuu 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: List-Subscribe: List-Unsubscribe: On 2024/11/3 04:16, Qiang Liu wrote: > If the last cycle reads bogus compound_order() and blockpfn > end_pfn occurs, if blockpfn > end_pfn occurs, we will reset the blockpfn, right? /* * Be careful to not go outside of the pageblock. */ if (unlikely(blockpfn > end_pfn)) blockpfn = end_pfn; So how this can happen? > it is possible that total_isolated will be less than nr_scanned. In this case, > strict mode should return 0, but the “if (strict && blockpfn < end_pfn)” > statement cannot recognize this situation > > Signed-off-by: Qiang Liu > --- > mm/compaction.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/compaction.c b/mm/compaction.c > index a2b16b08cbbf..6009f5d1021a 100644 > --- a/mm/compaction.c > +++ b/mm/compaction.c > @@ -699,7 +699,7 @@ static unsigned long isolate_freepages_block(struct compact_control *cc, > * pages requested were isolated. If there were any failures, 0 is > * returned and CMA will fail. > */ > - if (strict && blockpfn < end_pfn) > + if (strict && (blockpfn < end_pfn || total_isolated != nr_scanned)) > total_isolated = 0; > > cc->total_free_scanned += nr_scanned;