All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Huang, Ying" <ying.huang@intel.com>
To: Abhishek Goel <huntbag@linux.vnet.ibm.com>
Cc: Dave Hansen <dave.hansen@intel.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	Zi Yan <ziy@nvidia.com>, David Hildenbrand <david@redhat.com>,
	Yang Shi <yang.shi@linux.alibaba.com>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH -V11 2/9] mm/migrate: update node demotion order on hotplug events
Date: Fri, 25 Feb 2022 10:32:20 +0800	[thread overview]
Message-ID: <87pmnb3ccr.fsf@yhuang6-desk2.ccr.corp.intel.com> (raw)
In-Reply-To: <4e8067e1-0574-c9d2-9d6c-d676d32071bd@linux.vnet.ibm.com> (Abhishek Goel's message of "Fri, 25 Feb 2022 05:07:15 +0530")

Hi, Abhishek,

Abhishek Goel <huntbag@linux.vnet.ibm.com> writes:

> On 24/02/22 05:35, Dave Hansen wrote:
>> On 2/23/22 15:02, Abhishek Goel wrote:
>>> If needed, I will provide experiment results and traces that were used
>>> to conclude this.
>> It would be great if you can provide some more info.  Even just a CPU
>> time profile would be helpful.
>
> Average total time taken for SMT=8 to SMT=1 in v5.14 : 20s
>
> Average total time taken for SMT=8 to SMT=1 in v5.15 : 36s
>
> (Observed in system with 150+ CPUs )

We have run into a memory hotplug regression before.  Let's check
whether the problem is similar.  Can you try the below debug patch?

Best Regards,
Huang, Ying

----------------------------8<------------------------------------------
From 500c0b53436b7a697ed5d77241abbc0d5d3cfc07 Mon Sep 17 00:00:00 2001
From: Huang Ying <ying.huang@intel.com>
Date: Wed, 29 Sep 2021 10:57:19 +0800
Subject: [PATCH] mm/migrate: Debug CPU hotplug regression

Signed-off-by: "Huang, Ying" <ying.huang@intel.com>
---
 mm/migrate.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/mm/migrate.c b/mm/migrate.c
index c7da064b4781..c4805f15e616 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -3261,15 +3261,17 @@ static int __meminit migrate_on_reclaim_callback(struct notifier_block *self,
  * The ordering is also currently dependent on which nodes have
  * CPUs.  That means we need CPU on/offline notification too.
  */
-static int migration_online_cpu(unsigned int cpu)
+static int migration_cpu_hotplug(unsigned int cpu)
 {
-	set_migration_target_nodes();
-	return 0;
-}
+	static int nr_cpu_node_saved;
+	int nr_cpu_node;
+
+	nr_cpu_node = num_node_state(N_CPU);
+	if (nr_cpu_node != nr_cpu_node_saved) {
+		set_migration_target_nodes();
+		nr_cpu_node_saved = nr_cpu_node;
+	}
 
-static int migration_offline_cpu(unsigned int cpu)
-{
-	set_migration_target_nodes();
 	return 0;
 }
 
@@ -3283,7 +3285,7 @@ static int __init migrate_on_reclaim_init(void)
 	WARN_ON(!node_demotion);
 
 	ret = cpuhp_setup_state_nocalls(CPUHP_MM_DEMOTION_DEAD, "mm/demotion:offline",
-					NULL, migration_offline_cpu);
+					NULL, migration_cpu_hotplug);
 	/*
 	 * In the unlikely case that this fails, the automatic
 	 * migration targets may become suboptimal for nodes
@@ -3292,7 +3294,7 @@ static int __init migrate_on_reclaim_init(void)
 	 */
 	WARN_ON(ret < 0);
 	ret = cpuhp_setup_state(CPUHP_AP_MM_DEMOTION_ONLINE, "mm/demotion:online",
-				migration_online_cpu, NULL);
+				migration_cpu_hotplug, NULL);
 	WARN_ON(ret < 0);
 
 	hotplug_memory_notifier(migrate_on_reclaim_callback, 100);
-- 
2.30.2


  parent reply	other threads:[~2022-02-25  2:32 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-21  6:39 [PATCH -V11 1/9] mm/numa: automatically generate node migration order Huang Ying
2021-07-21  6:39 ` [PATCH -V11 2/9] mm/migrate: update node demotion order on hotplug events Huang Ying
2022-02-23 23:02   ` Abhishek Goel
2022-02-24  0:05     ` Dave Hansen
2022-02-24 23:37       ` Abhishek Goel
2022-02-25  0:49         ` Dave Hansen
2022-02-25  2:32         ` Huang, Ying [this message]
2022-02-25 20:35           ` Abhishek Goel
2022-03-08 10:27           ` Oscar Salvador
2022-03-08 17:07             ` Dave Hansen
2022-03-08 18:56               ` Oscar Salvador
2022-03-09  0:29                 ` Huang, Ying
2021-07-21  6:39 ` [PATCH -V11 3/9] mm/migrate: enable returning precise migrate_pages() success count Huang Ying
2021-07-21  6:39 ` [PATCH -V11 4/9] mm/migrate: demote pages during reclaim Huang Ying
2021-07-21 21:11   ` Zi Yan
2021-07-21  6:39 ` [PATCH -V11 5/9] mm/vmscan: add page demotion counter Huang Ying
2021-07-21 21:13   ` Zi Yan
2021-07-21  6:39 ` [PATCH -V11 6/9] mm/vmscan: add helper for querying ability to age anonymous pages Huang Ying
2021-07-21 21:15   ` Zi Yan
2021-07-21  6:39 ` [PATCH -V11 7/9] mm/vmscan: Consider anonymous pages without swap Huang Ying
2021-07-21 21:21   ` Zi Yan
2021-07-21  6:39 ` [PATCH -V11 8/9] mm/vmscan: never demote for memcg reclaim Huang Ying
2021-07-21 21:38   ` Zi Yan
2021-07-21 21:58     ` Dave Hansen
2021-07-21 21:59       ` Zi Yan
2021-07-21 22:03       ` Yang Shi
2021-07-21 22:03         ` Yang Shi
2021-07-21  6:39 ` [PATCH -V11 9/9] mm/migrate: add sysfs interface to enable reclaim migration Huang Ying

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87pmnb3ccr.fsf@yhuang6-desk2.ccr.corp.intel.com \
    --to=ying.huang@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=dave.hansen@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=david@redhat.com \
    --cc=huntbag@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=yang.shi@linux.alibaba.com \
    --cc=ziy@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.