On Fri, 2022-06-03 at 19:12 +0530, Aneesh Kumar K.V wrote:
With memory tiers support we can have memory on NUMA nodes
in the top tier from which we want to avoid promotion tracking NUMA
faults. Update node_is_toptier to work with memory tiers. To
avoid taking locks, a nodemask is maintained for all demotion
targets. All NUMA nodes are by default top tier nodes and as
we add new lower memory tiers NUMA nodes get added to the
demotion targets thereby moving them out of the top tier.
Check the usage of node_is_toptier(),
- migrate_misplaced_page()
node_is_toptier() is used to check whether migration is a promotion.
We can avoid to use it. Just compare the rank of the nodes.
- change_pte_range() and change_huge_pmd()
node_is_toptier() is used to avoid scanning fast memory (DRAM) pages
for promotion. So I think we should change the name to node_is_fast()
as follows,
static inline bool node_is_fast(int node)
{
return NODE_DATA(node)->mt_rank >= MEMORY_RANK_DRAM;
}