From nobody Fri Oct 2 01:07:50 2026 Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 474B543CEFE for ; Thu, 6 Aug 2026 16:21:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786033283; cv=none; b=aWqIXY+/hzZACcewl3f8YHc5KTp9mR+PUUaT8brDFOJeSGyUeMPb8k997xAedZOagy52eOSKTBSS3ci3WWWM0KN/LX1UrICbbjVACbDBk+A1pLhiMTFSN3rk5o3pbtpnUs838nfu+zbhxxOMNZm04xiwbBy7I/QsSY8SibTNw1I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786033283; c=relaxed/simple; bh=uGJt65PlftCW5oaUl0gPKwRz+euxiOXtgwMgtOoA+II=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=s1NoZyMtXMu6d9HwTjFQ9cTqhmz3G8LGoBxYoaxkawwrMb5uU+stAjT4B5mGSIuGBtnU6kn5ujSwtGCSMg+zE1a75pIrt9r8MEkjJJ6ja600IRo3EzI9KxxOtDGfevE/97591StCJRiivg46xACklxyU+FRyEwZCSjBz5ZhKGzQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Pu2JIPg2; arc=none smtp.client-ip=209.85.210.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Pu2JIPg2" Received: by mail-pf1-f179.google.com with SMTP id d2e1a72fcca58-8485ef63b68so3437335b3a.1 for ; Thu, 06 Aug 2026 09:21:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786033282; x=1786638082; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=OV2ia1JQIR9t4BY0Y1KbMPnG4hxTayzchKqwFyoORUg=; b=Pu2JIPg2zOupMrjcn5okNrK+oFVIdQXZ6OQSW59QN59QkcR6dpyYjyIAiL9WPnX0/s ovOeljE9/qlIqvyIJWyvMnrcA1vFx+LcQv+WIHyh5qfeonfrRkwwmOS/84pHhHqcx0gn 7wtPmQ2uFqoal+aDr2PxpqlEbZEmsUKN8SfOd4lkO2x1OEKSlyH0Da1gD1F9xCMhNdsy Lj2CpigyjGJZtQy/1xIhULc6GpUBSEyL5KSnmQVsCGd9m8CzPScMpiVZm8h2PSRMx0Nl 3muPGfBtAzdzRIdeCr5miMdb0Vqozvn4uCCtGFgBq2Zl8hZEZfSpIYPikhhEHm1T+tcw eLRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786033282; x=1786638082; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=OV2ia1JQIR9t4BY0Y1KbMPnG4hxTayzchKqwFyoORUg=; b=S/LyscYXHAVNSMx/qVJ1ufG+O/FUgWNT99WHFAYKt1QRO8qQPsKH5eQPa+N5TpwOKs XrSzYkpzfiJcRIwBFTE0XNrE2uH4c5CuDAunbyV2Bgj6J8c5hyN2xbSIDNg5LBOTqDd6 szMqIF4TS8qSghdS3LFscJ2M62vA69U0nD9dEL5o0ZKN5cpqhx+jyX6U+KVMyPESKQFp 57vTXhwchywAgbmp7PKpOkggAt7FohDh3G6bA1ECXlrtUslhPzj8NsOAwaB8BkViU53j NTeBUP1I7XDyunZfL/M+Bwbq4448hK/qH0TbXSfzm2+/nMHxhcMNuEvECorZMavgUquq 8JDw== X-Gm-Message-State: AOJu0Yz7wf/xjh67/KnMEOtwQF8N/Yi4QmVaLDwUH3wiFvkiUWvDQqUs l79MwlRWzaKTh8GjYhGGiY/6JQryz0bCjXolgPnBFyl94tcUBbhj7hj4 X-Gm-Gg: AR+sD13RqNe/bmTfFJyoXqlWHquQ/x+6dYqQHwGzRKwbS52nMBUlZdqS3HjCr4Xn32B DEfs1AH2rGe1KQPzVDoisQ74DTog1j2pqLRh/VRPYzswlhr6RP5YIeTJ/enIWKzSAa3VrJV/SdX JK+z398yoKpld1Ym3DlaT//YcvmU8FoCAbdweBd1S7ULVE9p2+mG8LK9qSFv9v0W/tBlevhRzTM E0gPfcDNoFkZWJHHKBYRuIFB6H/OnXylTzY7QuGQQLCCeW2atcKa9RbSJIuckbGx9EpxJNSDARP FOsjYUABHcARXiXMZ2yGiTAY1gZghTA5Bo9ZROOCR4YR9i3CUGQVtlTEpzHSME5VpRdiQBu1MdA TlzFeMV8kHLastlpln7rYF6Q4N3QCSwkM2T2hk9uCiY+lMEDYeitOekYdeI1z0PS5O0DvbdVB/7 xCssEszi8XeuEJhdx2iy02JLTTj/DZhVzg4TgFz0Ocx8vRiM4TkcbuZGY= X-Received: by 2002:a05:6a00:2d0b:b0:848:4d1a:9554 with SMTP id d2e1a72fcca58-84f2e0ed972mr17580183b3a.38.1786033281571; Thu, 06 Aug 2026 09:21:21 -0700 (PDT) Received: from ubuntu.. ([110.9.142.4]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84f459b66e6sm1662739b3a.40.2026.08.06.09.21.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Aug 2026 09:21:20 -0700 (PDT) From: Sang-Heon Jeon To: Mike Rapoport , Andrew Morton Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH v2 1/5] mm/mm_init: fold adjust_zone_range_for_zone_movable() into its only caller Date: Fri, 7 Aug 2026 01:20:52 +0900 Message-ID: <20260806162100.313965-2-ekffu200098@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260806162100.313965-1-ekffu200098@gmail.com> References: <20260806162100.313965-1-ekffu200098@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" adjust_zone_range_for_zone_movable() adjusts zone_start_pfn and zone_end_pfn. It is only called from zone_spanned_pages_in_node(), which adjusts the same two values before and after the call. This makes the code harder to follow. Fold the helper into the caller to make the code clearer. No functional change. Signed-off-by: Sang-Heon Jeon --- mm/mm_init.c | 64 ++++++++++++++++++++++------------------------------ 1 file changed, 27 insertions(+), 37 deletions(-) diff --git a/mm/mm_init.c b/mm/mm_init.c index eb53c327210b..30d3125951f0 100644 --- a/mm/mm_init.c +++ b/mm/mm_init.c @@ -1124,41 +1124,6 @@ void __ref memmap_init_zone_device(struct zone *zone, } #endif =20 -/* - * The zone ranges provided by the architecture do not include ZONE_MOVABLE - * because it is sized independent of architecture. Unlike the other zones, - * the starting point for ZONE_MOVABLE is not fixed. It may be different - * in each node depending on the size of each node and how evenly kernelco= re - * is distributed. This helper function adjusts the zone ranges - * provided by the architecture for a given node by using the end of the - * highest usable zone for ZONE_MOVABLE. This preserves the assumption that - * zones within a node are in order of monotonic increases memory addresses - */ -static void __init adjust_zone_range_for_zone_movable(int nid, - unsigned long zone_type, - unsigned long node_end_pfn, - unsigned long *zone_start_pfn, - unsigned long *zone_end_pfn) -{ - /* Only adjust if ZONE_MOVABLE is on this node */ - if (zone_movable_pfn[nid]) { - /* Size ZONE_MOVABLE */ - if (zone_type =3D=3D ZONE_MOVABLE) { - *zone_start_pfn =3D zone_movable_pfn[nid]; - *zone_end_pfn =3D min(node_end_pfn, - arch_zone_highest_possible_pfn[movable_zone]); - - /* Adjust for ZONE_MOVABLE starting within this range */ - } else if (*zone_start_pfn < zone_movable_pfn[nid] && - *zone_end_pfn > zone_movable_pfn[nid]) { - *zone_end_pfn =3D zone_movable_pfn[nid]; - - /* Check if this whole range is within ZONE_MOVABLE */ - } else if (*zone_start_pfn >=3D zone_movable_pfn[nid]) - *zone_start_pfn =3D *zone_end_pfn; - } -} - /* * Return the number of holes in a range on a node. If nid is MAX_NUMNODES, * then all holes in the requested range will be accounted for. @@ -1208,6 +1173,15 @@ static unsigned long __init zone_absent_pages_in_nod= e(int nid, /* * Return the number of pages a zone spans in a node, including holes * present_pages =3D zone_spanned_pages_in_node() - zone_absent_pages_in_n= ode() + * + * The zone ranges provided by the architecture do not include ZONE_MOVABLE + * because it is sized independent of architecture. Unlike the other zones, + * the starting point for ZONE_MOVABLE is not fixed. It may be different + * in each node depending on the size of each node and how evenly kernelco= re + * is distributed. The zone ranges provided by the architecture are adjust= ed + * for a given node by using the end of the highest usable zone for + * ZONE_MOVABLE. This preserves the assumption that zones within a node are + * in order of monotonic increases memory addresses */ static unsigned long __init zone_spanned_pages_in_node(int nid, unsigned long zone_type, @@ -1222,8 +1196,24 @@ static unsigned long __init zone_spanned_pages_in_no= de(int nid, /* Get the start and end of the zone */ *zone_start_pfn =3D clamp(node_start_pfn, zone_low, zone_high); *zone_end_pfn =3D clamp(node_end_pfn, zone_low, zone_high); - adjust_zone_range_for_zone_movable(nid, zone_type, node_end_pfn, - zone_start_pfn, zone_end_pfn); + + /* Only adjust if ZONE_MOVABLE is on this node */ + if (zone_movable_pfn[nid]) { + /* Size ZONE_MOVABLE */ + if (zone_type =3D=3D ZONE_MOVABLE) { + *zone_start_pfn =3D zone_movable_pfn[nid]; + *zone_end_pfn =3D min(node_end_pfn, + arch_zone_highest_possible_pfn[movable_zone]); + + /* Adjust for ZONE_MOVABLE starting within this range */ + } else if (*zone_start_pfn < zone_movable_pfn[nid] && + *zone_end_pfn > zone_movable_pfn[nid]) { + *zone_end_pfn =3D zone_movable_pfn[nid]; + + /* Check if this whole range is within ZONE_MOVABLE */ + } else if (*zone_start_pfn >=3D zone_movable_pfn[nid]) + *zone_start_pfn =3D *zone_end_pfn; + } =20 /* Check that this node has pages within the zone's required range */ if (*zone_end_pfn < node_start_pfn || *zone_start_pfn > node_end_pfn) --=20 2.43.0 From nobody Fri Oct 2 01:07:50 2026 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D801D47D959 for ; Thu, 6 Aug 2026 16:21:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786033286; cv=none; b=R3dFd3cE9KhWRtHHc8SHr7VSfOqRrF4F4LMVPe7+AxQWl2FaKszZAV8qcoLGruMmejNO4X8C1dzMdAqklwpdjqjFhxzYMXMMd9bNZrqtBgbXAnbmYw/qolGk4jKd/znUVBTCEPBWfp8Q8GupemD0xM2zb/W8J700kWIUrh+IcBg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786033286; c=relaxed/simple; bh=9ND80rM6iQy+umjOFBR6T3bLs8J0tJgzPUdrhBFwFPg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KGgh+43+LOGWgynnH3g5QfyvyhzlnG+ZtuB+XAQK0u3uNU8ihGMQB+DmJHOq/Yhb/XTnuw6ERK2O/xRJfzu6L/13DMjV4mKzW3rnazlLsMLtvNM43dxhJ8xrjvYZmCIm/omyjROWWecoOCU/JDKbkrVft0x1ZRQWTcFUrbZZGUg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Y6K+PFIn; arc=none smtp.client-ip=209.85.210.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Y6K+PFIn" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-8487088510aso3350962b3a.0 for ; Thu, 06 Aug 2026 09:21:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786033284; x=1786638084; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=OOsPNiSoAq7GDP6w7OV2SllTzHTsJDcUCUwEW3O7ycA=; b=Y6K+PFInox0wUByRhfDfFjcIuAD2OCgsgt8jhNrMzqP5GMIz8MijRD6Rwx8HxdzQyU 4yyo0EP8GW1hvEmyUT/5jQKTyb/pHa982qyY8RQ4dixLtqWzZmdVUgOASXVrMTX09APO d1Rkdsp8txrYa/OOpg2u/AFB1BqFEP/u52I9PDASH3WpFN8LXDf64RD2NpRNpskaQGsp QneyINwwk5AJqMh6boSvux/SsOO4eXMS6oUygFUXX6T23TgN1p2vFhKTAe8/HXEZqYea CDJ+RIOoZBY0RLhYz7wSMkvxaNEcjjHG5Nb5YZQ6w6C+KmD0UY0QbP1oxCxrS6174p4M HWIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786033284; x=1786638084; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=OOsPNiSoAq7GDP6w7OV2SllTzHTsJDcUCUwEW3O7ycA=; b=YCyP5Xy9WZN/jAylVpqhdp1N4CpcZYZY6GaQlfFbk3CDhA5w1W1O5pw49wwGNs17EA H69n2SK+UPen8jS6B08RhIek8K891aD0hQTlpKEbk4VbH/3OB7NNB23h1A39NzfbT79F 6//pVSgBmrG6fwHhdp9q59XmcJpSfYj1gjxcHMeuYyaQKiqz6A48s3u3GRKSr+wYPxx6 ErvRVPmNIEjNhd4tN9WI3/rnUQopyrG9NYorjf5dN5FtsZw8/m5fIHWRrwczEQ1tYxJt aGWUW38uqTPPHYxq2P7z77foIgPnRdiVgwCJ+RZN6xPNdOSXox7adyvudTNwQ1uTto4o xWKw== X-Gm-Message-State: AOJu0YzOuUBEM+d7rVtngVzUfMI+e0JIWGj18RhcfQ8zbQYioIqSYbux lc2fIWIXJZZR4bMJ7/UlAl2f4Vl3b5UJNluBAuIoqDVqstrAtibVYMB5 X-Gm-Gg: AR+sD13w/jA9TiKRZr3GYKYhx9U9KOPoZtD0D6QwDf6L5Zt8lXtK+B0gED/XVrQwfmk opDhd5vjEr61V9DXlmDFCWdth3kMScaEstH6waL1qhaOOrZCP40Wyb9qYV1l3mr2Oe5kuoYDpq+ 79rMg81IBSJB/3fyUNCXzOsRfQnww0HI9Dvb5OTzKy7IWs/p9fTPOHr5EKNXLeRASNn2OfWKKJm lE3t/rseE1nuJQV0qoPjqHn3jg2oAgDL2N9x/bQPH8e9dmJP00F2GyS/akaLY5NueUx1uoDwrQv l/F9cL5do7zekaVyIXNmnvPs/AX/AdT5wocJTIL/sTAdOkgSghgEl1YvzwmrywZWOuAeR3rNhlZ waV50VH7mpXQiuWBiARP+1m8+bE9NsV37wlJ/6RoVA4Md4aFQJ3/Gir6276vDpEzWvSr/7YowyK bLrHHVypqHODpjrK7Vax3ytF9SS/Q3neGU56rF+kp2zM6nkHvwnrx8xWQ= X-Received: by 2002:a05:6a00:bd02:b0:848:8619:c149 with SMTP id d2e1a72fcca58-84f2dff7881mr17875881b3a.2.1786033283870; Thu, 06 Aug 2026 09:21:23 -0700 (PDT) Received: from ubuntu.. ([110.9.142.4]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84f459b66e6sm1662739b3a.40.2026.08.06.09.21.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Aug 2026 09:21:23 -0700 (PDT) From: Sang-Heon Jeon To: Mike Rapoport , Andrew Morton Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH v2 2/5] mm/mm_init: remove redundant clamping in zone_spanned_pages_in_node() Date: Fri, 7 Aug 2026 01:20:53 +0900 Message-ID: <20260806162100.313965-3-ekffu200098@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260806162100.313965-1-ekffu200098@gmail.com> References: <20260806162100.313965-1-ekffu200098@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Clamping *zone_end_pfn to node_end_pfn has no effect, because *zone_end_pfn <=3D node_end_pfn is guaranteed at that point. 1. If zone_movable_pfn[nid] !=3D 0 && zone_type =3D=3D ZONE_MOVABLE, *zone_end_pfn =3D min(node_end_pfn, ...) <=3D node_end_pfn. 2. Else If zone_movable_pfn[nid] !=3D 0 && *zone_start_pfn < zone_movable_pfn[nid] < *zone_end_pfn, *zone_end_pfn =3D zone_movable_pfn[nid]. The condition requires the clamped *zone_start_pfn and *zone_end_pfn to differ, which cannot happen when node_end_pfn < zone_low. So zone_movable_pfn[nid] < clamped *zone_end_pfn =3D min(node_end_pfn, zone_high) <=3D node_end_pfn. 3. Else *zone_end_pfn =3D clamp(node_end_pfn, zone_low, zone_high) a. If node_end_pfn >=3D zone_low, *zone_end_pfn =3D min(node_end_pfn, zone_high) <=3D node_end_pfn. b. If node_end_pfn < zone_low, *zone_start_pfn =3D zone_low > node_end_pfn, so the function returns 0 before the clamping is executed. So remove it. No functional change. Signed-off-by: Sang-Heon Jeon --- mm/mm_init.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mm/mm_init.c b/mm/mm_init.c index 30d3125951f0..bdc15de0a62a 100644 --- a/mm/mm_init.c +++ b/mm/mm_init.c @@ -1219,8 +1219,7 @@ static unsigned long __init zone_spanned_pages_in_nod= e(int nid, if (*zone_end_pfn < node_start_pfn || *zone_start_pfn > node_end_pfn) return 0; =20 - /* Move the zone boundaries inside the node if necessary */ - *zone_end_pfn =3D min(*zone_end_pfn, node_end_pfn); + /* Move the zone start inside the node if necessary */ *zone_start_pfn =3D max(*zone_start_pfn, node_start_pfn); =20 /* Return the spanned pages */ --=20 2.43.0 From nobody Fri Oct 2 01:07:50 2026 Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1F7B7483820 for ; Thu, 6 Aug 2026 16:21:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786033290; cv=none; b=PCbLhMNrAiqACLdr05CqBpSdkN5YLo+wlhRUbRIL7ptUmrwL2vzQxuvwrIUQmk1hpMf4l4rMZsm5VraOhk5z7WpvGyPCefge2zDvM3UDnmtzg9fvP8UykVv+p/nVIlpVIxSh4HUIjIpH6hW2BKcV3ulU761VFRa9QfpNjs/EPhg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786033290; c=relaxed/simple; bh=AmE5+ppjhnHWG3atDjIHPwJR+SNZgEEPJcZMZaHCQS8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=a0p606p7s5NUXH7ESuSGqym+pa5RFdukpBsoG9SAC8z4fCPz091bCnRNAhZYdtc2XnRjeZ332oFxBwo02qagjwxqr8SEFeeUYA7EqjZFYO+5zLr35ShpUcEQjRgN281vb4qpqdhv6fRrO7is7YTreRXxc0rRV47NPalqc05bInc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=d3WZPZW6; arc=none smtp.client-ip=209.85.210.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="d3WZPZW6" Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-84e0688b7e8so2312721b3a.1 for ; Thu, 06 Aug 2026 09:21:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786033286; x=1786638086; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Siy56LUg0D3k/aJEZkR3M4GURDeHhGcCXphn6iQtEPY=; b=d3WZPZW6nuQZYkDyUiV6W7T4rMLHMgBY4lH2g0wqOniWNbyNZFZQEetF/N1fA+fvwm Q4p/5dFtGR0e/twD9V6HUm4fIiODu6NVZXATMecf9Jd6e8voD0Sjoj1ZBmR7eilEBeKc UKN0+5gwoKamIKo7X4ROh1kHm7hMa1+3JV7klhp3FVB+LruS8ygjmqmi0NoenzYrG4Eb TFoVx6egOGW/2rBASPnFOa0Utg0NzMuu7GshpTtycHYKnxZOT59iLt82kdx/cH5Q5bbU qd2QM3vFzttLXoYQ7AkjGrYRRaA/EpzYq2jN6V4McjS3bN32ASBTqoRLno3vvNDBRa0l vCxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786033286; x=1786638086; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=Siy56LUg0D3k/aJEZkR3M4GURDeHhGcCXphn6iQtEPY=; b=MPf5hYXuanj8p5QwhXPVCWB+ofpp7y/zuQ8Ha86N2CuyUAtd8NnIHVFLsVICDIWl0+ NPrK5PJj46S3RKUs4mYNBrcuJmtNnZiGqZMAn5/q/yj7GiDwMdS5BSb3RTsnGAICoRj3 Dg4b/IgrMP546juwcjFgNtrcyDws7monsVDOPWQ85EdhmPvFmY0x+lfyhbNc7YpfJ76a zibe64R3f/uo2+lkrGRduS0Um6e6bFlpt9LoYSoEg5BD5NdTO9nEQh79WssI2R05+VsW aFmjJk+kT51uzJBRM8ooj9HFwyIfGAAu0V0XKrbwKFoKdgq71mR1p76jT0fegjKgthWH j0cg== X-Gm-Message-State: AOJu0YyA/qB1KwnV9Sv4/gajUPxztnW6NkvF9Ooq5qB4er+PjeBERSmy xbN+GyQIKQwZxVNPyJy+O2aieB0bGGgGnVTVXFEi1khPMofqb12Dvuz5 X-Gm-Gg: AR+sD11wvbNyZ7DORvK+FSgpeGzYk7emiLkaSX8U5ICMMKwI/afXfqSwcnmNbr+aUwC 0yx1JatpaN4n0CwMnvDOCVowOOTb022GekaA4pkR8mLivwMl/58+u8XMBDvu4NrcDdDZNErQp4t ifxxZ+xmY2vSK8oopo0yfma3ZYnlLqXHnxWBqXIkry9ABRVGX1YqKILao7ogl2GRuXU04i9Yvx4 fAk+rVhmjFaQDFxCnPZcWQ4R20ILARvwqjMxi964rEhZbE/HgHcerM60HhGxqIbNmQoHbprt2XX gUQTwY93jjjOMYyKcv8kMMEVK1RTLmKs85p58KpsDz0Qu1B5Aruw6XvoE0HIwa3KiZiCknTpoq2 sC2TvNE7y+C1ROmnF1zt/nLPlk8n8cMHjhzQp9Ixgq7lZf9TziIDxxRR6n6aIRHv035xh8Xj9WX ZkqPurQgNX8U/IVI98y35wzl2pefj1ZoGOlTCafFni+NuauU2qLEYzhDnG X-Received: by 2002:a05:6a00:4ace:b0:84e:e741:175e with SMTP id d2e1a72fcca58-84f2e0294f3mr19717547b3a.31.1786033286323; Thu, 06 Aug 2026 09:21:26 -0700 (PDT) Received: from ubuntu.. ([110.9.142.4]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84f459b66e6sm1662739b3a.40.2026.08.06.09.21.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Aug 2026 09:21:25 -0700 (PDT) From: Sang-Heon Jeon To: Mike Rapoport , Andrew Morton Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH v2 3/5] mm/mm_init: move the range check and clamping inside ZONE_MOVABLE branch Date: Fri, 7 Aug 2026 01:20:54 +0900 Message-ID: <20260806162100.313965-4-ekffu200098@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260806162100.313965-1-ekffu200098@gmail.com> References: <20260806162100.313965-1-ekffu200098@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Outside the ZONE_MOVABLE branch the check and the clamping have no effect, because every branch ends with one of the following. - *zone_start_pfn =3D=3D *zone_end_pfn, so the function returns 0 anyway. - node_start_pfn <=3D *zone_start_pfn <=3D *zone_end_pfn <=3D node_end_pfn, so the check does not return 0 and max(*zone_start_pfn, node_start_pfn) is always *zone_start_pfn. The branches set *zone_start_pfn and *zone_end_pfn as follows. 1. If zone_movable_pfn[nid] !=3D 0 && zone_type =3D=3D ZONE_MOVABLE, *zone_start_pfn =3D zone_movable_pfn[nid] and *zone_end_pfn =3D min(node_end_pfn, ...). 2. Else If zone_movable_pfn[nid] !=3D 0 && *zone_start_pfn < zone_movable_pfn[nid] < *zone_end_pfn, *zone_end_pfn =3D zone_movable_pfn[nid]. The condition requires the clamped *zone_start_pfn and *zone_end_pfn to differ, which cannot happen when node_end_pfn < zone_low or node_start_pfn > zone_high. So *zone_start_pfn =3D max(node_start_pfn, zone_low) >=3D node_start_pfn, and zone_movable_pfn[nid] < clamped *zone_end_pfn =3D min(node_end_pfn, zone_high) <=3D node_end_pfn. So node_start_pfn <=3D *zone_start_pfn < *zone_end_pfn <=3D node_end_pfn. 3. Else If zone_movable_pfn[nid] !=3D 0 && *zone_start_pfn >=3D zone_movable_pfn[nid], *zone_start_pfn =3D *zone_end_pfn. 4. Else *zone_start_pfn =3D clamp(node_start_pfn, zone_low, zone_high) and *zone_end_pfn =3D clamp(node_end_pfn, zone_low, zone_high) a. If node_end_pfn < zone_low, *zone_start_pfn =3D *zone_end_pfn =3D zone_low. b. If node_start_pfn > zone_high, *zone_start_pfn =3D *zone_end_pfn =3D zone_high. c. If node_end_pfn >=3D zone_low && node_start_pfn <=3D zone_high, node_start_pfn <=3D *zone_start_pfn <=3D *zone_end_pfn <=3D node_end_pfn. So move both inside the ZONE_MOVABLE branch. No functional change. Signed-off-by: Sang-Heon Jeon --- mm/mm_init.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/mm/mm_init.c b/mm/mm_init.c index bdc15de0a62a..fa6b5977261f 100644 --- a/mm/mm_init.c +++ b/mm/mm_init.c @@ -1205,6 +1205,14 @@ static unsigned long __init zone_spanned_pages_in_no= de(int nid, *zone_end_pfn =3D min(node_end_pfn, arch_zone_highest_possible_pfn[movable_zone]); =20 + /* Check that this node has pages within the zone's required range */ + if (*zone_end_pfn < node_start_pfn || + *zone_start_pfn > node_end_pfn) + return 0; + + /* Move the zone start inside the node if necessary */ + *zone_start_pfn =3D max(*zone_start_pfn, node_start_pfn); + /* Adjust for ZONE_MOVABLE starting within this range */ } else if (*zone_start_pfn < zone_movable_pfn[nid] && *zone_end_pfn > zone_movable_pfn[nid]) { @@ -1215,13 +1223,6 @@ static unsigned long __init zone_spanned_pages_in_no= de(int nid, *zone_start_pfn =3D *zone_end_pfn; } =20 - /* Check that this node has pages within the zone's required range */ - if (*zone_end_pfn < node_start_pfn || *zone_start_pfn > node_end_pfn) - return 0; - - /* Move the zone start inside the node if necessary */ - *zone_start_pfn =3D max(*zone_start_pfn, node_start_pfn); - /* Return the spanned pages */ return *zone_end_pfn - *zone_start_pfn; } --=20 2.43.0 From nobody Fri Oct 2 01:07:50 2026 Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9EA7C483815 for ; Thu, 6 Aug 2026 16:21:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786033291; cv=none; b=t/VCNnCAb65yrU4+eNCPcjf/QsNokHa7xXmaUVZuBLHTdIk3whd91rycx6EqbXjV/lsr11XUJSg30hP6QDdVM0+Nmopqu90BHoLTP8LibFuxjdZIDtIkdHecBYOPQWaSi07jKikGJMfXgbUppj5Jwi9YfIbisbt/aw0/U06Jlc4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786033291; c=relaxed/simple; bh=c3JoUvSYYKufJPNMfU86+d3yFYYS7qIXh/WSIPNpyA4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=GaEV75UzFfJu3GFsFJkeekz3Tx5gRgo7AE3OC/nBf9hZZ+HDBz6iW4bk2UDdpMWh67LQhgx2ip2wee2G0Ba0iDj8ICPjRxsmDvLQ/QVJvk1xoet27N3dBEPVLGV/xErWFh9KMRm/1Fs2yhOvZuA9s+YIOENJ3XVcQ6xsC4diA08= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=UfcOng3S; arc=none smtp.client-ip=209.85.210.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="UfcOng3S" Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-84a652535dcso1650724b3a.3 for ; Thu, 06 Aug 2026 09:21:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786033289; x=1786638089; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=T6npjExn2aWGhVHz/W3QatfKtmyYiEDddeJgsZ3mtq8=; b=UfcOng3Sj/ctSDnj/61HfKx67d3357lJqGf+NTk6CDALxM6dhvLFVd/Hx/avjoVbSH 9FoeoU5H4SKOxpTgCyrtfuG7vLKpbIX53E7wKVI8s8d1O0g3T3LGeO5a5DvYmYqh/VAM 9rpV0rC9gETeWx9M7fCykz6gUQvkFa0yRv8NyFU1io7JSF+RA5x363zp2F5kJ3Q3B7t8 hhHlRaFl9jEpbQPPgYrjMCdx0mTYsPrbNGrk+VSGePecZYWlpiFzmPkbh7HynZ74fCk0 DmYMInoadLjl4CVkJU4jjyF8ZDDjdR1s3/bhXTCsIUB84Hw2fkRQE+40YYjPIRCpAvQa rp8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786033289; x=1786638089; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=T6npjExn2aWGhVHz/W3QatfKtmyYiEDddeJgsZ3mtq8=; b=W1uo5LdpggxU5CrZC+uTD9a0KHSXw1+AdfelkBwIIdZZPAKQ8TThGs76ixCem6fAk+ R8mN1ei8H2tB+FlFttAWWlTCkz0yebNs5hqL2HHLpsL+IqKZapvuHjx/d84JxV+R2TV8 lSDyg3u6DIpDD5PDMwTScAPnX5lcCYhc7kf60ekxQ+sR3Df2OecGy1i2o3KYfS2ecHH7 wjP/z8qQHYzsVuW+lwnHCPOlt70OLDqzkidcrWh8UxNewl+LQZfCjpXJGktzuZ0Qw3cv LbkwD2aRyuUv9Tf8joHA1bOfU9PrDbOXuQeg2CU9hWlkSRfhYE3aB4nCaVHeCOEzdwj1 7JRA== X-Gm-Message-State: AOJu0YxufxK6/zKWlFQcfT5VhhZ2PhiEXZ3q+pCY6c6NViVRrX6EXJE7 aO/HNoMuHrEV6I28/zg+DHAocUnFD9Je+geMTnK+OJYSWOQAvB0A9mLH X-Gm-Gg: AR+sD128nXervL08axaxW/hJx7mhNQnPrPVh9j851JwL9M4vTm7gJNADNeNH2+1Uj3Z zXFoJU4GkJXD4x2nw9G/vsggNqVDBXY5SHlEImOena3iEYRywjgeEczuK44jg5AVRQzfCF6+eF1 PLThW/jah7gtQvCmyfwCoAxAmrpv2OKkuT7c6RZcNkg82oLaaEv9x04IP/mGWKOR77DBMk3f8A7 Kv02d6vHs9n3wSL3PrFIv0sRobJhcMSR6dGiKZl+l/f7HKY2WSVdMjpgPuWdOEDVVNTGfM/7BP1 tDxUgRPOCXMIt2G2rlL+J8okmG5vOx15NkowkwpDHq2vRWmsa3T/SA19NztGfcQJCTql+kom2cI WSjFCieLv7lo4HYrRkBqP8J0ZaCEera+pMyZIA1q3k5LYsPOWpe4+2CpKfa8QStFiaRUqgPLC+K FvfKqNivKpR/I1Hizf+xBYvzFZOW2Lnz9/J7/qRt19wDaiWSiRhbGKBBM= X-Received: by 2002:a05:6a00:1388:b0:845:dbdc:8652 with SMTP id d2e1a72fcca58-84f2e014143mr17907713b3a.2.1786033288591; Thu, 06 Aug 2026 09:21:28 -0700 (PDT) Received: from ubuntu.. ([110.9.142.4]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84f459b66e6sm1662739b3a.40.2026.08.06.09.21.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Aug 2026 09:21:27 -0700 (PDT) From: Sang-Heon Jeon To: Mike Rapoport , Andrew Morton Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH v2 4/5] mm/mm_init: use min() when adjusting for ZONE_MOVABLE Date: Fri, 7 Aug 2026 01:20:55 +0900 Message-ID: <20260806162100.313965-5-ekffu200098@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260806162100.313965-1-ekffu200098@gmail.com> References: <20260806162100.313965-1-ekffu200098@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Outside the ZONE_MOVABLE branch, the two branches set *zone_start_pfn and *zone_end_pfn as follows. 1. If *zone_start_pfn < zone_movable_pfn[nid], *zone_end_pfn ends up as min(*zone_end_pfn, zone_movable_pfn[nid]). a. If *zone_end_pfn > zone_movable_pfn[nid], *zone_end_pfn =3D zone_movable_pfn[nid]. b. If *zone_end_pfn <=3D zone_movable_pfn[nid], *zone_end_pfn is unchanged. 2. Else *zone_start_pfn >=3D zone_movable_pfn[nid] and the whole range is within ZONE_MOVABLE, so *zone_start_pfn =3D *zone_end_pfn. So use min() to simplify the conditions. No functional change. Signed-off-by: Sang-Heon Jeon --- mm/mm_init.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mm/mm_init.c b/mm/mm_init.c index fa6b5977261f..27f454edbebb 100644 --- a/mm/mm_init.c +++ b/mm/mm_init.c @@ -1213,14 +1213,14 @@ static unsigned long __init zone_spanned_pages_in_n= ode(int nid, /* Move the zone start inside the node if necessary */ *zone_start_pfn =3D max(*zone_start_pfn, node_start_pfn); =20 - /* Adjust for ZONE_MOVABLE starting within this range */ - } else if (*zone_start_pfn < zone_movable_pfn[nid] && - *zone_end_pfn > zone_movable_pfn[nid]) { - *zone_end_pfn =3D zone_movable_pfn[nid]; + /* This range starts below ZONE_MOVABLE */ + } else if (*zone_start_pfn < zone_movable_pfn[nid]) { + *zone_end_pfn =3D min(*zone_end_pfn, zone_movable_pfn[nid]); =20 - /* Check if this whole range is within ZONE_MOVABLE */ - } else if (*zone_start_pfn >=3D zone_movable_pfn[nid]) + /* This whole range is within ZONE_MOVABLE */ + } else { *zone_start_pfn =3D *zone_end_pfn; + } } =20 /* Return the spanned pages */ --=20 2.43.0 From nobody Fri Oct 2 01:07:50 2026 Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6ACE347A0DC for ; Thu, 6 Aug 2026 16:21:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786033294; cv=none; b=D18CmqGZtZax6bEyiUDw920rO35ghWGaKHflWDge8XiKq389JsWYUMzQqE6bfcdyRU2PJZWnMeQ3dn+SMhbLbyqwAeE0mm+N5/dBBnICNxV7usISvDqA6pZuOv1WlRyRiwY/rnDLG5kpdl8sB49c/4FoLRffzlDxzcoCn17+8vE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786033294; c=relaxed/simple; bh=BtIhWpcD4jx/UBt3NU5E6NXRP26Z42urhyUgnVAhPhI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=N1YRHgrP9A2pAJEPZC5/MRerGK2l9rKqWQvtTrZ0DXvGnBiA1eq7u4Yfvji5Oc7BnuTYhPW1qCZXSpRMBGm7Nr+rt1OlkBRm37hOCwKhQNDin0kDXefL1mPSeLpio1oFme0o34oUA22XqV4FcvZgWAYi9xum66iApSTYbzVq7R0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=COlYOSRe; arc=none smtp.client-ip=209.85.215.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="COlYOSRe" Received: by mail-pg1-f175.google.com with SMTP id 41be03b00d2f7-c9eefcf9175so2207967a12.3 for ; Thu, 06 Aug 2026 09:21:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786033291; x=1786638091; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=nnHRaA/5R5s9aZOS569tdN3FNz3hlxbEkvfjm317fS4=; b=COlYOSRelmxAKLYoM9wWsKdL3EMqys2CqmQ+QlL6kkaNING7ISsliUJYvmbTcv1MS9 rYPM14BvGmflbQkfGTRtztbRsQ+AtWL7mlLmHZl52g7r5n9MlgYlXDLdF9qSuQ26foYo zL7gtS57DJFlhrQuQuFMPflrwrAJXzxZziJSs2kVt5ctyCDH7O/INfbZyjwzw4xd9ier k/yabsIXYDsik3NTcds32XEAX9NgKJAzp1wXQUyb7cxgbTJvTT9a4zJtushlpD8tNQYd XHtqApE0XtSdpGVY966D5Z6GI2NqPiOMKxSF4RbKlH70EoNe9abxOgerKokOSIemz+oH FeYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786033291; x=1786638091; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=nnHRaA/5R5s9aZOS569tdN3FNz3hlxbEkvfjm317fS4=; b=CZAARvduryzIyZKOJ2TQojpF8pJanJHTp4lKh3QvQHHp6wtF00N9jsysvKRvus8k0W wGTSjX+h3AWJBT55QIqv+gnvfPPiJL+ZQYMzY3uasnwtr7CpwAzUNa7NQu11jKuMp3KQ GasNW0dwNrLTsg/zJ6E5vp4GvF+6nHd+7+7VOtpm+imaXFbRPkgw+9CnhSVC5f9sfFHB MQkOe7pUuqa/1Sc468y27HBGLTuLRUXslCn7ANlOvESc+a6L98No/FFZM1ZDIhRhRKnk I48l+lxmvmaqUQZIoooymLTli3AP5Pwq8rb1kdO6uS1cVDf+7N8FubOgjAS6cJ1ZKf9/ sLRg== X-Gm-Message-State: AOJu0Yx/+IdTChCKowZsiWkz+5NiDlvxMPk23vSUhv33SGdPjV0H0+4O q+xK3D8EDP/8Xm9JBsp2yFeaRofNMLEezRaCdDBlZZXhSS89z+Ah17Wc X-Gm-Gg: AR+sD12lQDHwl2xLBr6HkhhG6ZU33cRJDbJdqmHDu1JajLJit8kbbN0cTWR/yY1u6qu XYWhZ0egk4EteBGRsImBJpoDV9gn2LhzV1Qnlhccwvk/7RUj8y6T80V+MNGdPmviQSnqSB0sArh KaJ+b67FJxEZAqDjMFs8qKJ7Fy912eErmd064Pa5TNZoYQ1Ex9rmlwQuGVEPXbC49D8+/QF2+iZ W/FP4sQdnPWplKfiDY2hWcp3FE6HZvnT8I+Qr2lkmOKe8pNTWRjqLOvi8yGnzl8CQQFpR54u8Wd aXwzW6JF7qdU5/OxKKwoiOwACUwupRudkN1HTdR0lGCz4rGh2cwc0ts/08dGENnZfMAGINAPw2x jIbnOusGMSpzaZCZmFWnpRbx2Ji4oY+mT/UrpaNu7bQwge9C9BxR55X+PpiOM7QUnWb6oKrs3N6 dcamFHucU8y2J+t7JmwKReIhtYckMC7C4JQl2CIQR1DTY5+D9Tg3AZAzA= X-Received: by 2002:aa7:88d2:0:b0:847:8650:69cd with SMTP id d2e1a72fcca58-84f2e0eda51mr16720422b3a.33.1786033291353; Thu, 06 Aug 2026 09:21:31 -0700 (PDT) Received: from ubuntu.. ([110.9.142.4]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84f459b66e6sm1662739b3a.40.2026.08.06.09.21.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Aug 2026 09:21:30 -0700 (PDT) From: Sang-Heon Jeon To: Mike Rapoport , Andrew Morton Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH v2 5/5] mm/mm_init: clean up zone_spanned_pages_in_node() Date: Fri, 7 Aug 2026 01:20:56 +0900 Message-ID: <20260806162100.313965-6-ekffu200098@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260806162100.313965-1-ekffu200098@gmail.com> References: <20260806162100.313965-1-ekffu200098@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Extract zone_movable_pfn[nid], which is used four times, into a local variable, and return early to reduce the indentation level. No functional change. Signed-off-by: Sang-Heon Jeon --- mm/mm_init.c | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/mm/mm_init.c b/mm/mm_init.c index 27f454edbebb..ab445111a846 100644 --- a/mm/mm_init.c +++ b/mm/mm_init.c @@ -1192,37 +1192,40 @@ static unsigned long __init zone_spanned_pages_in_n= ode(int nid, { unsigned long zone_low =3D arch_zone_lowest_possible_pfn[zone_type]; unsigned long zone_high =3D arch_zone_highest_possible_pfn[zone_type]; + unsigned long movable_pfn =3D zone_movable_pfn[nid]; =20 /* Get the start and end of the zone */ *zone_start_pfn =3D clamp(node_start_pfn, zone_low, zone_high); *zone_end_pfn =3D clamp(node_end_pfn, zone_low, zone_high); =20 - /* Only adjust if ZONE_MOVABLE is on this node */ - if (zone_movable_pfn[nid]) { - /* Size ZONE_MOVABLE */ - if (zone_type =3D=3D ZONE_MOVABLE) { - *zone_start_pfn =3D zone_movable_pfn[nid]; - *zone_end_pfn =3D min(node_end_pfn, - arch_zone_highest_possible_pfn[movable_zone]); + /* Nothing to adjust if ZONE_MOVABLE is not on this node */ + if (!movable_pfn) + goto out; =20 - /* Check that this node has pages within the zone's required range */ - if (*zone_end_pfn < node_start_pfn || - *zone_start_pfn > node_end_pfn) - return 0; + /* Size ZONE_MOVABLE */ + if (zone_type =3D=3D ZONE_MOVABLE) { + *zone_start_pfn =3D movable_pfn; + *zone_end_pfn =3D min(node_end_pfn, + arch_zone_highest_possible_pfn[movable_zone]); =20 - /* Move the zone start inside the node if necessary */ - *zone_start_pfn =3D max(*zone_start_pfn, node_start_pfn); + /* Check that this node has pages within the zone's required range */ + if (*zone_end_pfn < node_start_pfn || + *zone_start_pfn > node_end_pfn) + return 0; =20 - /* This range starts below ZONE_MOVABLE */ - } else if (*zone_start_pfn < zone_movable_pfn[nid]) { - *zone_end_pfn =3D min(*zone_end_pfn, zone_movable_pfn[nid]); + /* Move the zone start inside the node if necessary */ + *zone_start_pfn =3D max(*zone_start_pfn, node_start_pfn); =20 - /* This whole range is within ZONE_MOVABLE */ - } else { - *zone_start_pfn =3D *zone_end_pfn; - } + /* This range starts below ZONE_MOVABLE */ + } else if (*zone_start_pfn < movable_pfn) { + *zone_end_pfn =3D min(*zone_end_pfn, movable_pfn); + + /* This whole range is within ZONE_MOVABLE */ + } else { + *zone_start_pfn =3D *zone_end_pfn; } =20 +out: /* Return the spanned pages */ return *zone_end_pfn - *zone_start_pfn; } --=20 2.43.0