On Fri, Apr 22, 2022 at 12:55 PM Jagdish Gediya <jvgediya@xxxxxxxxxxxxx> wrote: > > Only nodes which has state N_DEMOTION_TARGETS should be > used as demotion targets, make nodes which are not in demotion > targets as source nodes while building demotion target list > so that demotion targets are only chosen from N_DEMOTION_TARGETS. > > Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxx> > Signed-off-by: Jagdish Gediya <jvgediya@xxxxxxxxxxxxx> > --- Acked-by: Wei Xu <weixugc@xxxxxxxxxx> > mm/migrate.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/mm/migrate.c b/mm/migrate.c > index 8bbe1e478122..5b92a09fbe4a 100644 > --- a/mm/migrate.c > +++ b/mm/migrate.c > @@ -2366,10 +2366,10 @@ static void __set_migration_target_nodes(void) > disable_all_migrate_targets(); > > /* > - * Allocations go close to CPUs, first. Assume that > - * the migration path starts at the nodes with CPUs. > + * Some systems can have DRAM(fast memory) only NUMA nodes, demotion targets > + * need to be found for them as well. > */ > - next_pass = node_states[N_CPU]; > + nodes_andnot(next_pass, node_states[N_ONLINE], node_states[N_DEMOTION_TARGETS]); > again: > this_pass = next_pass; > next_pass = NODE_MASK_NONE; > -- > 2.35.1 >