Lines Matching refs:memtier

148 static __always_inline nodemask_t get_memtier_nodemask(struct memory_tier *memtier)  in get_memtier_nodemask()  argument
153 list_for_each_entry(memtype, &memtier->memory_types, tier_sibling) in get_memtier_nodemask()
201 struct memory_tier *memtier, *new_memtier; in find_create_memory_tier() local
213 list_for_each_entry(memtier, &memory_tiers, list) { in find_create_memory_tier()
214 if (adistance == memtier->adistance_start) in find_create_memory_tier()
215 return memtier; in find_create_memory_tier()
221 list_for_each_entry(memtier, &memory_tiers, list) { in find_create_memory_tier()
222 if (adistance == memtier->adistance_start) { in find_create_memory_tier()
224 } else if (adistance < memtier->adistance_start) { in find_create_memory_tier()
238 list_add_tail(&new_memtier->list, &memtier->list); in find_create_memory_tier()
253 memtier = new_memtier; in find_create_memory_tier()
256 list_add(&memtype->tier_sibling, &memtier->memory_types); in find_create_memory_tier()
257 return memtier; in find_create_memory_tier()
272 return rcu_dereference_check(pgdat->memtier, in __node_get_memory_tier()
281 struct memory_tier *memtier; in node_is_toptier() local
288 memtier = rcu_dereference(pgdat->memtier); in node_is_toptier()
289 if (!memtier) { in node_is_toptier()
293 if (memtier->adistance_start <= top_tier_adistance) in node_is_toptier()
304 struct memory_tier *memtier; in node_get_allowed_targets() local
312 memtier = rcu_dereference(pgdat->memtier); in node_get_allowed_targets()
313 if (memtier) in node_get_allowed_targets()
314 *targets = memtier->lower_tier_mask; in node_get_allowed_targets()
367 struct memory_tier *memtier; in disable_all_demotion_targets() local
376 memtier = __node_get_memory_tier(node); in disable_all_demotion_targets()
377 if (memtier) in disable_all_demotion_targets()
378 memtier->lower_tier_mask = NODE_MASK_NONE; in disable_all_demotion_targets()
394 struct memory_tier *memtier = __node_get_memory_tier(node); in dump_demotion_targets() local
397 if (!memtier) in dump_demotion_targets()
405 nodemask_pr_args(&memtier->lower_tier_mask)); in dump_demotion_targets()
416 struct memory_tier *memtier; in establish_demotion_targets() local
433 memtier = __node_get_memory_tier(node); in establish_demotion_targets()
434 if (!memtier || list_is_last(&memtier->list, &memory_tiers)) in establish_demotion_targets()
439 memtier = list_next_entry(memtier, list); in establish_demotion_targets()
440 tier_nodes = get_memtier_nodemask(memtier); in establish_demotion_targets()
476 list_for_each_entry_reverse(memtier, &memory_tiers, list) { in establish_demotion_targets()
477 tier_nodes = get_memtier_nodemask(memtier); in establish_demotion_targets()
484 top_tier_adistance = memtier->adistance_start + in establish_demotion_targets()
496 list_for_each_entry(memtier, &memory_tiers, list) { in establish_demotion_targets()
502 tier_nodes = get_memtier_nodemask(memtier); in establish_demotion_targets()
504 memtier->lower_tier_mask = lower_tier; in establish_demotion_targets()
534 struct memory_tier *memtier; in set_node_memory_tier() local
558 memtier = find_create_memory_tier(memtype); in set_node_memory_tier()
559 if (!IS_ERR(memtier)) in set_node_memory_tier()
560 rcu_assign_pointer(pgdat->memtier, memtier); in set_node_memory_tier()
561 return memtier; in set_node_memory_tier()
564 static void destroy_memory_tier(struct memory_tier *memtier) in destroy_memory_tier() argument
566 list_del(&memtier->list); in destroy_memory_tier()
567 device_unregister(&memtier->dev); in destroy_memory_tier()
574 struct memory_tier *memtier; in clear_node_memory_tier() local
588 memtier = __node_get_memory_tier(node); in clear_node_memory_tier()
589 if (memtier) { in clear_node_memory_tier()
592 rcu_assign_pointer(pgdat->memtier, NULL); in clear_node_memory_tier()
598 if (list_empty(&memtier->memory_types)) in clear_node_memory_tier()
599 destroy_memory_tier(memtier); in clear_node_memory_tier()
700 struct memory_tier *memtier; in memory_tier_late_init() local
716 memtier = set_node_memory_tier(nid); in memory_tier_late_init()
717 if (IS_ERR(memtier)) in memory_tier_late_init()
874 struct memory_tier *memtier; in memtier_hotplug_callback() local
893 memtier = set_node_memory_tier(arg->status_change_nid); in memtier_hotplug_callback()
894 if (!IS_ERR(memtier)) in memtier_hotplug_callback()