From nobody Mon Feb 9 04:31:32 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id AFFADC04A6A for ; Sat, 29 Jul 2023 09:43:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231774AbjG2Jno (ORCPT ); Sat, 29 Jul 2023 05:43:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50420 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231148AbjG2Jnk (ORCPT ); Sat, 29 Jul 2023 05:43:40 -0400 Received: from dggsgout11.his.huawei.com (dggsgout11.his.huawei.com [45.249.212.51]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 93B162727 for ; Sat, 29 Jul 2023 02:43:38 -0700 (PDT) Received: from mail02.huawei.com (unknown [172.30.67.153]) by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4RCfhP6JR6z4f3p0y for ; Sat, 29 Jul 2023 17:43:33 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.124.27]) by APP1 (Coremail) with SMTP id cCh0CgDHMy5D38RkAQcpOQ--.25635S3; Sat, 29 Jul 2023 17:43:34 +0800 (CST) From: Kemeng Shi To: linux-mm@kvack.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org Cc: baolin.wang@linux.alibaba.com, mgorman@techsingularity.net, willy@infradead.org, david@redhat.com, shikemeng@huaweicloud.com Subject: [PATCH 1/5] mm/compaction: allow blockpfn outside of pageblock for high order buddy page Date: Sun, 30 Jul 2023 01:43:50 +0800 Message-Id: <20230729174354.2239980-2-shikemeng@huaweicloud.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20230729174354.2239980-1-shikemeng@huaweicloud.com> References: <20230729174354.2239980-1-shikemeng@huaweicloud.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: cCh0CgDHMy5D38RkAQcpOQ--.25635S3 X-Coremail-Antispam: 1UD129KBjvJXoW7KrW8Ar1kWryDXFyfWryxAFb_yoW8KryDpa 47K3W29F1DuayYvFy7JrWkuF1jkwsYyF4jyrW5Kr18ZF9Yg3Z2k3sFyr1jvryjqr1fAFZ0 vr4DKFZ7CrsrZa7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUBE14x267AKxVW5JVWrJwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2jI8I6cxK62vIxIIY0VWUZVW8XwA2048vs2IY02 0E87I2jVAFwI0_Jr4l82xGYIkIc2x26xkF7I0E14v26r1I6r4UM28lY4IEw2IIxxk0rwA2 F7IY1VAKz4vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xIIjx v20xvEc7CjxVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2 z280aVCY1x0267AKxVW0oVCq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0V AKzVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1l Ox8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErc IFxwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v2 6r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jw0_GFylIxkGc2 Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_ Gr0_Cr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMI IF0xvEx4A2jsIEc7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0pRxhLUUUUUU = X-CM-SenderInfo: 5vklyvpphqwq5kxd4v5lfo033gof0z/ X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Commit 9fcd6d2e052ee ("mm, compaction: skip compound pages by order in free scanner") skiped compound pages to save iterations and limit blockpfn to reach outside of page block in case of bogus compound_order. While this also limit pfnblock outside page block in case a buddy page with order higher than page block is found. After this, isolate_freepages_range will fail unexpectedly as it will fail to isolate the page block which was isolated successfully by high order buddy page in previous page block and abort the free page isolation. Fix this by allow blockpfn outside of pageblock in case of high order buddy page. Fixes: 9fcd6d2e052ee ("mm, compaction: skip compound pages by order in free= scanner") Signed-off-by: Kemeng Shi --- mm/compaction.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mm/compaction.c b/mm/compaction.c index 6841c0496223..d1d28d57e5bd 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -681,8 +681,10 @@ static unsigned long isolate_freepages_block(struct co= mpact_control *cc, /* * There is a tiny chance that we have read bogus compound_order(), * so be careful to not go outside of the pageblock. + * Allow blockpfn outside pageblock in normal case that we isolate + * buddy page with order more than pageblock order. */ - if (unlikely(blockpfn > end_pfn)) + if (unlikely(blockpfn > end_pfn) && total_isolated <=3D pageblock_nr_page= s) blockpfn =3D end_pfn; =20 trace_mm_compaction_isolate_freepages(*start_pfn, blockpfn, @@ -1418,7 +1420,7 @@ fast_isolate_around(struct compact_control *cc, unsig= ned long pfn) isolate_freepages_block(cc, &start_pfn, end_pfn, &cc->freepages, 1, false= ); =20 /* Skip this pageblock in the future as it's full or nearly full */ - if (start_pfn =3D=3D end_pfn && !cc->no_set_skip_hint) + if (start_pfn >=3D end_pfn && !cc->no_set_skip_hint) set_pageblock_skip(page); } =20 @@ -1687,7 +1689,7 @@ static void isolate_freepages(struct compact_control = *cc) block_end_pfn, freelist, stride, false); =20 /* Update the skip hint if the full pageblock was scanned */ - if (isolate_start_pfn =3D=3D block_end_pfn) + if (isolate_start_pfn >=3D block_end_pfn) update_pageblock_skip(cc, page, block_start_pfn); =20 /* Are enough freepages isolated? */ --=20 2.30.0 From nobody Mon Feb 9 04:31:32 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9D621C001DC for ; Sat, 29 Jul 2023 09:43:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231787AbjG2Jnr (ORCPT ); Sat, 29 Jul 2023 05:43:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50422 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229997AbjG2Jnk (ORCPT ); Sat, 29 Jul 2023 05:43:40 -0400 Received: from dggsgout12.his.huawei.com (dggsgout12.his.huawei.com [45.249.212.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1F1E52728 for ; Sat, 29 Jul 2023 02:43:39 -0700 (PDT) Received: from mail02.huawei.com (unknown [172.30.67.153]) by dggsgout12.his.huawei.com (SkyGuard) with ESMTP id 4RCfhN4Fwsz4f3nwR for ; Sat, 29 Jul 2023 17:43:32 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.124.27]) by APP1 (Coremail) with SMTP id cCh0CgDHMy5D38RkAQcpOQ--.25635S4; Sat, 29 Jul 2023 17:43:35 +0800 (CST) From: Kemeng Shi To: linux-mm@kvack.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org Cc: baolin.wang@linux.alibaba.com, mgorman@techsingularity.net, willy@infradead.org, david@redhat.com, shikemeng@huaweicloud.com Subject: [PATCH 2/5] mm/compaction: set compact_cached_free_pfn correctly in update_pageblock_skip Date: Sun, 30 Jul 2023 01:43:51 +0800 Message-Id: <20230729174354.2239980-3-shikemeng@huaweicloud.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20230729174354.2239980-1-shikemeng@huaweicloud.com> References: <20230729174354.2239980-1-shikemeng@huaweicloud.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: cCh0CgDHMy5D38RkAQcpOQ--.25635S4 X-Coremail-Antispam: 1UD129KBjvdXoW7Jw1kCr17WFW3KFWxWrykXwb_yoWfGrb_GF 1IyFn8K3W2v39xZ3ZrJw4Syry7Kr48Crn5Ww15Jry7Z3yqvF4kXanrJwnxXrn8XFZrurnx Gw1kuF18Gr4a9jkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUbqAYFVCjjxCrM7AC8VAFwI0_Wr0E3s1l1xkIjI8I6I8E6xAIw20E Y4v20xvaj40_Wr0E3s1l1IIY67AEw4v_Jr0_Jr4l87I20VAvwVAaII0Ic2I_JFv_Gryl82 xGYIkIc2x26280x7IE14v26r15M28IrcIa0xkI8VCY1x0267AKxVW8JVW5JwA2ocxC64kI II0Yj41l84x0c7CEw4AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26F1j6w1UM28EF7 xvwVC0I7IYx2IY6xkF7I0E14v26r4UJVWxJr1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2 z4x0Y4vEx4A2jsIEc7CjxVAFwI0_GcCE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4 xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v2 6r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6I AqYI8I648v4I1l42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAq x4xG67AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r1q6r 43MIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF 7I0E14v26r4j6F4UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxV WUJVW8JwCI42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjTR QNVDUUUUU X-CM-SenderInfo: 5vklyvpphqwq5kxd4v5lfo033gof0z/ X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" We will set skip to page block of block_start_pfn, it's more reasonable to set compact_cached_free_pfn to page block before the block_start_pfn. Signed-off-by: Kemeng Shi Reviewed-by: Baolin Wang --- mm/compaction.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mm/compaction.c b/mm/compaction.c index d1d28d57e5bd..4a784872565a 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -1690,7 +1690,8 @@ static void isolate_freepages(struct compact_control = *cc) =20 /* Update the skip hint if the full pageblock was scanned */ if (isolate_start_pfn >=3D block_end_pfn) - update_pageblock_skip(cc, page, block_start_pfn); + update_pageblock_skip(cc, page, block_start_pfn - + pageblock_nr_pages); =20 /* Are enough freepages isolated? */ if (cc->nr_freepages >=3D cc->nr_migratepages) { --=20 2.30.0 From nobody Mon Feb 9 04:31:32 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id F10E7C04E69 for ; Sat, 29 Jul 2023 09:43:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231766AbjG2Jnn (ORCPT ); Sat, 29 Jul 2023 05:43:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50410 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229483AbjG2Jnj (ORCPT ); Sat, 29 Jul 2023 05:43:39 -0400 Received: from dggsgout11.his.huawei.com (dggsgout11.his.huawei.com [45.249.212.51]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 676922701 for ; Sat, 29 Jul 2023 02:43:38 -0700 (PDT) Received: from mail02.huawei.com (unknown [172.30.67.153]) by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4RCfhR0xxwz4f403y for ; Sat, 29 Jul 2023 17:43:35 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.124.27]) by APP1 (Coremail) with SMTP id cCh0CgDHMy5D38RkAQcpOQ--.25635S5; Sat, 29 Jul 2023 17:43:35 +0800 (CST) From: Kemeng Shi To: linux-mm@kvack.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org Cc: baolin.wang@linux.alibaba.com, mgorman@techsingularity.net, willy@infradead.org, david@redhat.com, shikemeng@huaweicloud.com Subject: [PATCH 3/5] mm/compaction: merge end_pfn boundary check in isolate_freepages_range Date: Sun, 30 Jul 2023 01:43:52 +0800 Message-Id: <20230729174354.2239980-4-shikemeng@huaweicloud.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20230729174354.2239980-1-shikemeng@huaweicloud.com> References: <20230729174354.2239980-1-shikemeng@huaweicloud.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: cCh0CgDHMy5D38RkAQcpOQ--.25635S5 X-Coremail-Antispam: 1UD129KBjvJXoW7JF4kWr1rWF4kWryDJF4ruFg_yoW8Jrykp3 47GF1xWr1kuayYvFy7X3s8Zr15Cw4kKF4UArWUGF1rAFyFkF97K3sayryDZFyjqw1xZrZ0 vrsFkFyxt3WUZa7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUBE14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2jI8I6cxK62vIxIIY0VWUZVW8XwA2048vs2IY02 0E87I2jVAFwI0_JrWl82xGYIkIc2x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2 F7IY1VAKz4vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xIIjx v20xvEc7CjxVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2 z280aVCY1x0267AKxVW0oVCq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0V AKzVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1l Ox8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErc IFxwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v2 6r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jw0_GFylIxkGc2 Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_ Gr0_Cr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMI IF0xvEx4A2jsIEc7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0pRPEf5UUUUU = X-CM-SenderInfo: 5vklyvpphqwq5kxd4v5lfo033gof0z/ X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Kemeng Shi Merge the end_pfn boundary check for single page block forward and multiple page blocks forward to avoid do twice boundary check for multiple page blocks forward. Signed-off-by: Kemeng Shi Reviewed-by: Baolin Wang --- mm/compaction.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/mm/compaction.c b/mm/compaction.c index 4a784872565a..65791a74c5e8 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -740,8 +740,6 @@ isolate_freepages_range(struct compact_control *cc, /* Protect pfn from changing by isolate_freepages_block */ unsigned long isolate_start_pfn =3D pfn; =20 - block_end_pfn =3D min(block_end_pfn, end_pfn); - /* * pfn could pass the block_end_pfn if isolated freepage * is more than pageblock order. In this case, we adjust @@ -750,9 +748,10 @@ isolate_freepages_range(struct compact_control *cc, if (pfn >=3D block_end_pfn) { block_start_pfn =3D pageblock_start_pfn(pfn); block_end_pfn =3D pageblock_end_pfn(pfn); - block_end_pfn =3D min(block_end_pfn, end_pfn); } =20 + block_end_pfn =3D min(block_end_pfn, end_pfn); + if (!pageblock_pfn_to_page(block_start_pfn, block_end_pfn, cc->zone)) break; --=20 2.30.0 From nobody Mon Feb 9 04:31:32 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E2959C04E69 for ; Sat, 29 Jul 2023 09:43:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231796AbjG2Jnv (ORCPT ); Sat, 29 Jul 2023 05:43:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50424 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231684AbjG2Jnk (ORCPT ); Sat, 29 Jul 2023 05:43:40 -0400 Received: from dggsgout12.his.huawei.com (dggsgout12.his.huawei.com [45.249.212.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6CCB535A3 for ; Sat, 29 Jul 2023 02:43:39 -0700 (PDT) Received: from mail02.huawei.com (unknown [172.30.67.153]) by dggsgout12.his.huawei.com (SkyGuard) with ESMTP id 4RCfhP2P7cz4f3nwX for ; Sat, 29 Jul 2023 17:43:33 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.124.27]) by APP1 (Coremail) with SMTP id cCh0CgDHMy5D38RkAQcpOQ--.25635S6; Sat, 29 Jul 2023 17:43:35 +0800 (CST) From: Kemeng Shi To: linux-mm@kvack.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org Cc: baolin.wang@linux.alibaba.com, mgorman@techsingularity.net, willy@infradead.org, david@redhat.com, shikemeng@huaweicloud.com Subject: [PATCH 4/5] mm/compaction: remove unnecessary cursor page in isolate_freepages_block Date: Sun, 30 Jul 2023 01:43:53 +0800 Message-Id: <20230729174354.2239980-5-shikemeng@huaweicloud.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20230729174354.2239980-1-shikemeng@huaweicloud.com> References: <20230729174354.2239980-1-shikemeng@huaweicloud.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: cCh0CgDHMy5D38RkAQcpOQ--.25635S6 X-Coremail-Antispam: 1UD129KBjvJXoW7WrWxAFW3WF17CFWkXF1UKFg_yoW8Ww47pF yjkw1IyF40g345uFy7t3ykCr17Grs8KanrCr4fJrWrZFyftFyxZry2yr1UCrW8XrZrurZa 93yDKF97Kan5JaUanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUPY14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2jI8I6cxK62vIxIIY0VWUZVW8XwA2048vs2IY02 0E87I2jVAFwI0_JF0E3s1l82xGYIkIc2x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0 rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6x IIjxv20xvEc7CjxVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xv wVC2z280aVCY1x0267AKxVW0oVCq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFc xC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_ Gr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2 IErcIFxwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E 14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jw0_GFylIx kGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAF wI0_Gr0_Cr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r 4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x0pRvJPtU UUUU= X-CM-SenderInfo: 5vklyvpphqwq5kxd4v5lfo033gof0z/ X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The cursor is only used for page forward currently. We can simply move page forward directly to remove unnecessary cursor. Signed-off-by: Kemeng Shi Reviewed-by: Baolin Wang --- mm/compaction.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/mm/compaction.c b/mm/compaction.c index 65791a74c5e8..cfb661f4ce23 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -589,7 +589,7 @@ static unsigned long isolate_freepages_block(struct com= pact_control *cc, bool strict) { int nr_scanned =3D 0, total_isolated =3D 0; - struct page *cursor; + struct page *page; unsigned long flags =3D 0; spinlock_t *locked =3D NULL; unsigned long blockpfn =3D *start_pfn; @@ -599,12 +599,11 @@ static unsigned long isolate_freepages_block(struct c= ompact_control *cc, if (strict) stride =3D 1; =20 - cursor =3D pfn_to_page(blockpfn); + page =3D pfn_to_page(blockpfn); =20 /* Isolate free pages. */ - for (; blockpfn < end_pfn; blockpfn +=3D stride, cursor +=3D stride) { + for (; blockpfn < end_pfn; blockpfn +=3D stride, page +=3D stride) { int isolated; - struct page *page =3D cursor; =20 /* * Periodically drop the lock (if held) regardless of its @@ -628,7 +627,7 @@ static unsigned long isolate_freepages_block(struct com= pact_control *cc, =20 if (likely(order <=3D MAX_ORDER)) { blockpfn +=3D (1UL << order) - 1; - cursor +=3D (1UL << order) - 1; + page +=3D (1UL << order) - 1; nr_scanned +=3D (1UL << order) - 1; } goto isolate_fail; @@ -665,7 +664,7 @@ static unsigned long isolate_freepages_block(struct com= pact_control *cc, } /* Advance to the end of split page */ blockpfn +=3D isolated - 1; - cursor +=3D isolated - 1; + page +=3D isolated - 1; continue; =20 isolate_fail: --=20 2.30.0 From nobody Mon Feb 9 04:31:32 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D9C99C001DC for ; Sat, 29 Jul 2023 09:43:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231816AbjG2Jnt (ORCPT ); Sat, 29 Jul 2023 05:43:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50426 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231686AbjG2Jnk (ORCPT ); Sat, 29 Jul 2023 05:43:40 -0400 Received: from dggsgout11.his.huawei.com (dggsgout11.his.huawei.com [45.249.212.51]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8A22C35A8 for ; Sat, 29 Jul 2023 02:43:39 -0700 (PDT) Received: from mail02.huawei.com (unknown [172.30.67.153]) by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4RCfhR2rb2z4f3pJP for ; Sat, 29 Jul 2023 17:43:35 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.124.27]) by APP1 (Coremail) with SMTP id cCh0CgDHMy5D38RkAQcpOQ--.25635S7; Sat, 29 Jul 2023 17:43:36 +0800 (CST) From: Kemeng Shi To: linux-mm@kvack.org, linux-kernel@vger.kernel.org, akpm@linux-foundation.org Cc: baolin.wang@linux.alibaba.com, mgorman@techsingularity.net, willy@infradead.org, david@redhat.com, shikemeng@huaweicloud.com Subject: [PATCH 5/5] mm/compaction: remove unnecessary "else continue" at end of loop in isolate_freepages_block Date: Sun, 30 Jul 2023 01:43:54 +0800 Message-Id: <20230729174354.2239980-6-shikemeng@huaweicloud.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20230729174354.2239980-1-shikemeng@huaweicloud.com> References: <20230729174354.2239980-1-shikemeng@huaweicloud.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: cCh0CgDHMy5D38RkAQcpOQ--.25635S7 X-Coremail-Antispam: 1UD129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73 VFW2AGmfu7bjvjm3AaLaJ3UjIYCTnIWjp_UUUOb7AC8VAFwI0_Wr0E3s1l1xkIjI8I6I8E 6xAIw20EY4v20xvaj40_Wr0E3s1l1IIY67AEw4v_Jr0_Jr4l87I20VAvwVAaII0Ic2I_JF v_Gryl82xGYIkIc2x26280x7IE14v26r126s0DM28IrcIa0xkI8VCY1x0267AKxVW5JVCq 3wA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26F 1j6w1UM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4UJVWxJr1l84ACjcxK6I8E87Iv67AK xVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_GcCE3s1le2I262IYc4CY6c8Ij28IcV AaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0E x4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwACjI 8F5VA0II8E6IAqYI8I648v4I1l42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_ Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17 CE14v26r1q6r43MIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_JFI_Gr1lIxAIcVC0 I7IYx2IY6xkF7I0E14v26r4j6F4UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I 8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJbIYCTnIWIevJa73 UjIFyTuYvjTRKfOwUUUUU X-CM-SenderInfo: 5vklyvpphqwq5kxd4v5lfo033gof0z/ X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" There is no behavior change to remove "else continue" code at end of scan l= oop. Just remove it to make code cleaner. Signed-off-by: Kemeng Shi Reviewed-by: Baolin Wang --- mm/compaction.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/mm/compaction.c b/mm/compaction.c index cfb661f4ce23..d38297018077 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -670,9 +670,6 @@ static unsigned long isolate_freepages_block(struct com= pact_control *cc, isolate_fail: if (strict) break; - else - continue; - } =20 compact_unlock_irqrestore(&locked, flags); --=20 2.30.0