Lines Matching +full:active +full:- +full:distance

1 // SPDX-License-Identifier: GPL-2.0
41 cpumask_and(mask, cpumask_of_node(node_dev->dev.id), cpu_online_mask); in cpumap_read()
62 cpumask_and(mask, cpumask_of_node(node_dev->dev.id), cpu_online_mask); in cpulist_read()
72 * struct node_access_nodes - Access class device to hold user visible
117 list_for_each_entry_safe(c, cnext, &node->access_list, list_node) { in node_remove_accesses()
118 list_del(&c->list_node); in node_remove_accesses()
119 device_unregister(&c->dev); in node_remove_accesses()
134 list_for_each_entry(access_node, &node->access_list, list_node) in node_init_node_access()
135 if (access_node->access == access) in node_init_node_access()
142 access_node->access = access; in node_init_node_access()
143 dev = &access_node->dev; in node_init_node_access()
144 dev->parent = &node->dev; in node_init_node_access()
145 dev->release = node_access_release; in node_init_node_access()
146 dev->groups = node_access_node_groups; in node_init_node_access()
154 list_add_tail(&access_node->list_node, &node->access_list); in node_init_node_access()
157 kfree_const(dev->kobj.name); in node_init_node_access()
170 to_access_nodes(dev)->coord.property); \
188 * node_set_perf_attrs - Set the performance values for given access class
208 c->coord = *coord; in node_set_perf_attrs()
210 if (sysfs_add_file_to_group(&c->dev.kobj, access_attrs[i], in node_set_perf_attrs()
221 * struct node_cache_info - Internal tracking for memory node caches
239 to_cache_info(dev)->cache_attrs.name); \
277 dev->parent = &node->dev; in node_init_cache_dev()
278 dev->release = node_cache_release; in node_init_cache_dev()
286 node->cache_dev = dev; in node_init_cache_dev()
293 * node_add_cache() - add cache attribute to a memory node
307 list_for_each_entry(info, &node->cache_attrs, node) { in node_add_cache()
308 if (info->cache_attrs.level == cache_attrs->level) { in node_add_cache()
309 dev_warn(&node->dev, in node_add_cache()
311 cache_attrs->level); in node_add_cache()
316 if (!node->cache_dev) in node_add_cache()
318 if (!node->cache_dev) in node_add_cache()
325 dev = &info->dev; in node_add_cache()
327 dev->parent = node->cache_dev; in node_add_cache()
328 dev->release = node_cacheinfo_release; in node_add_cache()
329 dev->groups = cache_groups; in node_add_cache()
330 if (dev_set_name(dev, "index%d", cache_attrs->level)) in node_add_cache()
333 info->cache_attrs = *cache_attrs; in node_add_cache()
335 dev_warn(&node->dev, "failed to add cache level:%d\n", in node_add_cache()
336 cache_attrs->level); in node_add_cache()
340 list_add_tail(&info->node, &node->cache_attrs); in node_add_cache()
350 if (!node->cache_dev) in node_remove_caches()
353 list_for_each_entry_safe(info, next, &node->cache_attrs, node) { in node_remove_caches()
354 list_del(&info->node); in node_remove_caches()
355 device_unregister(&info->dev); in node_remove_caches()
357 device_unregister(node->cache_dev); in node_remove_caches()
362 INIT_LIST_HEAD(&node_devices[nid]->cache_attrs); in node_init_caches()
369 #define K(x) ((x) << (PAGE_SHIFT - 10))
374 int nid = dev->id; in node_read_meminfo()
391 "Node %d Active: %8lu kB\n" in node_read_meminfo()
393 "Node %d Active(anon): %8lu kB\n" in node_read_meminfo()
395 "Node %d Active(file): %8lu kB\n" in node_read_meminfo()
401 nid, K(i.totalram - i.freeram), in node_read_meminfo()
422 nid, K(i.totalram - i.totalhigh), in node_read_meminfo()
423 nid, K(i.freeram - i.freehigh)); in node_read_meminfo()
507 sum_zone_numa_event_state(dev->id, NUMA_HIT), in node_read_numastat()
508 sum_zone_numa_event_state(dev->id, NUMA_MISS), in node_read_numastat()
509 sum_zone_numa_event_state(dev->id, NUMA_FOREIGN), in node_read_numastat()
510 sum_zone_numa_event_state(dev->id, NUMA_INTERLEAVE_HIT), in node_read_numastat()
511 sum_zone_numa_event_state(dev->id, NUMA_LOCAL), in node_read_numastat()
512 sum_zone_numa_event_state(dev->id, NUMA_OTHER)); in node_read_numastat()
519 int nid = dev->id; in node_read_vmstat()
553 int nid = dev->id; in node_read_distance()
559 * at the most (distance + space or newline). in node_read_distance()
571 static DEVICE_ATTR(distance, 0444, node_read_distance, NULL);
609 * register_node - Setup a sysfs device for a node.
610 * @num - Node number to use when creating the device.
618 node->dev.id = num; in register_node()
619 node->dev.bus = &node_subsys; in register_node()
620 node->dev.release = node_device_release; in register_node()
621 node->dev.groups = node_dev_groups; in register_node()
622 error = device_register(&node->dev); in register_node()
625 put_device(&node->dev); in register_node()
635 * unregister_node - unregister a node device
647 device_unregister(&node->dev); in unregister_node()
667 ret = sysfs_create_link(&node_devices[nid]->dev.kobj, in register_cpu_under_node()
668 &obj->kobj, in register_cpu_under_node()
669 kobject_name(&obj->kobj)); in register_cpu_under_node()
673 return sysfs_create_link(&obj->kobj, in register_cpu_under_node()
674 &node_devices[nid]->dev.kobj, in register_cpu_under_node()
675 kobject_name(&node_devices[nid]->dev.kobj)); in register_cpu_under_node()
679 * register_memory_node_under_compute_node - link memory node to its compute
700 return -ENODEV; in register_memory_node_under_compute_node()
707 return -ENOMEM; in register_memory_node_under_compute_node()
709 ret = sysfs_add_link_to_group(&initiator->dev.kobj, "targets", in register_memory_node_under_compute_node()
710 &targ_node->dev.kobj, in register_memory_node_under_compute_node()
711 dev_name(&targ_node->dev)); in register_memory_node_under_compute_node()
715 ret = sysfs_add_link_to_group(&target->dev.kobj, "initiators", in register_memory_node_under_compute_node()
716 &init_node->dev.kobj, in register_memory_node_under_compute_node()
717 dev_name(&init_node->dev)); in register_memory_node_under_compute_node()
723 sysfs_remove_link_from_group(&initiator->dev.kobj, "targets", in register_memory_node_under_compute_node()
724 dev_name(&targ_node->dev)); in register_memory_node_under_compute_node()
739 sysfs_remove_link(&node_devices[nid]->dev.kobj, in unregister_cpu_under_node()
740 kobject_name(&obj->kobj)); in unregister_cpu_under_node()
741 sysfs_remove_link(&obj->kobj, in unregister_cpu_under_node()
742 kobject_name(&node_devices[nid]->dev.kobj)); in unregister_cpu_under_node()
765 ret = sysfs_create_link_nowarn(&node_devices[nid]->dev.kobj, in do_register_memory_block_under_node()
766 &mem_blk->dev.kobj, in do_register_memory_block_under_node()
767 kobject_name(&mem_blk->dev.kobj)); in do_register_memory_block_under_node()
768 if (ret && ret != -EEXIST) in do_register_memory_block_under_node()
769 dev_err_ratelimited(&node_devices[nid]->dev, in do_register_memory_block_under_node()
771 kobject_name(&mem_blk->dev.kobj), ret); in do_register_memory_block_under_node()
773 ret = sysfs_create_link_nowarn(&mem_blk->dev.kobj, in do_register_memory_block_under_node()
774 &node_devices[nid]->dev.kobj, in do_register_memory_block_under_node()
775 kobject_name(&node_devices[nid]->dev.kobj)); in do_register_memory_block_under_node()
776 if (ret && ret != -EEXIST) in do_register_memory_block_under_node()
777 dev_err_ratelimited(&mem_blk->dev, in do_register_memory_block_under_node()
779 kobject_name(&node_devices[nid]->dev.kobj), in do_register_memory_block_under_node()
788 unsigned long start_pfn = section_nr_to_pfn(mem_blk->start_section_nr); in register_mem_block_under_node_early()
789 unsigned long end_pfn = start_pfn + memory_block_pfns - 1; in register_mem_block_under_node_early()
802 PAGES_PER_SECTION) - 1; in register_mem_block_under_node_early()
842 if (mem_blk->nid == NUMA_NO_NODE) in unregister_memory_block_under_nodes()
845 sysfs_remove_link(&node_devices[mem_blk->nid]->dev.kobj, in unregister_memory_block_under_nodes()
846 kobject_name(&mem_blk->dev.kobj)); in unregister_memory_block_under_nodes()
847 sysfs_remove_link(&mem_blk->dev.kobj, in unregister_memory_block_under_nodes()
848 kobject_name(&node_devices[mem_blk->nid]->dev.kobj)); in unregister_memory_block_under_nodes()
862 walk_memory_blocks(PFN_PHYS(start_pfn), PFN_PHYS(end_pfn - start_pfn), in register_memory_blocks_under_node()
876 return -ENOMEM; in __register_one_node()
878 INIT_LIST_HEAD(&node->access_list); in __register_one_node()
918 nodemask_pr_args(&node_states[na->state])); in show_node_state()
964 BUILD_BUG_ON(ARRAY_SIZE(node_state_attrs)-1 != NR_NODE_STATES); in node_dev_init()