Based on suggestion from Wei Xu <weixugc@xxxxxxxxxx>, having an inclusive upper bound is found simpler. Fixes: mm/demotion: Update node_is_toptier to work with memory tiers Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxx> --- mm/memory-tiers.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mm/memory-tiers.c b/mm/memory-tiers.c index c4bd6d052a33..c82eb0111383 100644 --- a/mm/memory-tiers.c +++ b/mm/memory-tiers.c @@ -179,7 +179,7 @@ bool node_is_toptier(int node) toptier = true; goto out; } - if (memtier->adistance_start < top_tier_adistance) + if (memtier->adistance_start <= top_tier_adistance) toptier = true; else toptier = false; @@ -361,7 +361,8 @@ static void establish_demotion_targets(void) * abstract distance below the max value of this memtier * is considered toptier. */ - top_tier_adistance = memtier->adistance_start + MEMTIER_CHUNK_SIZE; + top_tier_adistance = memtier->adistance_start + + MEMTIER_CHUNK_SIZE - 1; break; } } -- 2.37.2