[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <66e16a28-2d04-4b2c-88a8-692edf587f02@redhat.com>
Date: Thu, 19 Oct 2023 10:11:19 +0200
From: David Hildenbrand <david@...hat.com>
To: Qi Zheng <zhengqi.arch@...edance.com>, akpm@...ux-foundation.org,
rppt@...nel.org, vbabka@...e.cz, mhocko@...e.com
Cc: willy@...radead.org, mgorman@...hsingularity.net, mingo@...nel.org,
aneesh.kumar@...ux.ibm.com, ying.huang@...el.com,
hannes@...xchg.org, osalvador@...e.de,
linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [PATCH v2 2/2] mm: memory_hotplug: drop memoryless node from
fallback lists
On 19.10.23 09:36, Qi Zheng wrote:
> In offline_pages(), if a node becomes memoryless, we
> will clear its N_MEMORY state by calling node_states_clear_node().
> But we do this after rebuilding the zonelists by calling
> build_all_zonelists(), which will cause this memoryless node to
> still be in the fallback list of other nodes. This will incur
> some runtime overhead.
>
> To drop memoryless node from fallback lists in this case, just
> call node_states_clear_node() before calling build_all_zonelists().
>
> Signed-off-by: Qi Zheng <zhengqi.arch@...edance.com>
> ---
> mm/memory_hotplug.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
> index d4a364fdaf8f..18af399627f0 100644
> --- a/mm/memory_hotplug.c
> +++ b/mm/memory_hotplug.c
> @@ -2036,12 +2036,12 @@ int __ref offline_pages(unsigned long start_pfn, unsigned long nr_pages,
> /* reinitialise watermarks and update pcp limits */
> init_per_zone_wmark_min();
>
> + node_states_clear_node(node, &arg);
> if (!populated_zone(zone)) {
> zone_pcp_reset(zone);
> build_all_zonelists(NULL);
> }
>
> - node_states_clear_node(node, &arg);
> if (arg.status_change_nid >= 0) {
> kcompactd_stop(node);
> kswapd_stop(node);
Probably worth a comment.
/*
* Make sure to mark the node as memory-less before rebuilding the zone
* list. Otherwise this node would still appear in the fallback lists.
*/
Acked-by: David Hildenbrand <david@...hat.com>
--
Cheers,
David / dhildenb
Powered by blists - more mailing lists