Lines Matching full:node

3  * Basic Node interface support
12 #include <linux/node.h>
25 .name = "node",
26 .dev_name = "node",
34 struct node *node_dev = to_node(dev); in cpumap_read()
55 struct node *node_dev = to_node(dev); in cpulist_read()
75 * @list_node: List element in the node's access list
113 static void node_remove_accesses(struct node *node) in node_remove_accesses() argument
117 list_for_each_entry_safe(c, cnext, &node->access_list, list_node) { in node_remove_accesses()
128 static struct node_access_nodes *node_init_node_access(struct node *node, in node_init_node_access() argument
134 list_for_each_entry(access_node, &node->access_list, list_node) in node_init_node_access()
144 dev->parent = &node->dev; in node_init_node_access()
154 list_add_tail(&access_node->list_node, &node->access_list); in node_init_node_access()
189 * @nid: Node identifier to be set
197 struct node *node; in node_set_perf_attrs() local
203 node = node_devices[nid]; in node_set_perf_attrs()
204 c = node_init_node_access(node, access); in node_set_perf_attrs()
212 pr_info("failed to add performance attribute to node %d\n", in node_set_perf_attrs()
220 * struct node_cache_info - Internal tracking for memory node caches
222 * @node: List element for tracking in the node
227 struct list_head node; member
267 static void node_init_cache_dev(struct node *node) in node_init_cache_dev() argument
276 dev->parent = &node->dev; in node_init_cache_dev()
285 node->cache_dev = dev; in node_init_cache_dev()
292 * node_add_cache() - add cache attribute to a memory node
293 * @nid: Node identifier that has new cache attributes
300 struct node *node; in node_add_cache() local
305 node = node_devices[nid]; in node_add_cache()
306 list_for_each_entry(info, &node->cache_attrs, node) { in node_add_cache()
308 dev_warn(&node->dev, in node_add_cache()
315 if (!node->cache_dev) in node_add_cache()
316 node_init_cache_dev(node); in node_add_cache()
317 if (!node->cache_dev) in node_add_cache()
326 dev->parent = node->cache_dev; in node_add_cache()
334 dev_warn(&node->dev, "failed to add cache level:%d\n", in node_add_cache()
339 list_add_tail(&info->node, &node->cache_attrs); in node_add_cache()
345 static void node_remove_caches(struct node *node) in node_remove_caches() argument
349 if (!node->cache_dev) in node_remove_caches()
352 list_for_each_entry_safe(info, next, &node->cache_attrs, node) { in node_remove_caches()
353 list_del(&info->node); in node_remove_caches()
356 device_unregister(node->cache_dev); in node_remove_caches()
365 static void node_remove_caches(struct node *node) { } in node_remove_caches() argument
386 "Node %d MemTotal: %8lu kB\n" in node_read_meminfo()
387 "Node %d MemFree: %8lu kB\n" in node_read_meminfo()
388 "Node %d MemUsed: %8lu kB\n" in node_read_meminfo()
389 "Node %d SwapCached: %8lu kB\n" in node_read_meminfo()
390 "Node %d Active: %8lu kB\n" in node_read_meminfo()
391 "Node %d Inactive: %8lu kB\n" in node_read_meminfo()
392 "Node %d Active(anon): %8lu kB\n" in node_read_meminfo()
393 "Node %d Inactive(anon): %8lu kB\n" in node_read_meminfo()
394 "Node %d Active(file): %8lu kB\n" in node_read_meminfo()
395 "Node %d Inactive(file): %8lu kB\n" in node_read_meminfo()
396 "Node %d Unevictable: %8lu kB\n" in node_read_meminfo()
397 "Node %d Mlocked: %8lu kB\n", in node_read_meminfo()
415 "Node %d HighTotal: %8lu kB\n" in node_read_meminfo()
416 "Node %d HighFree: %8lu kB\n" in node_read_meminfo()
417 "Node %d LowTotal: %8lu kB\n" in node_read_meminfo()
418 "Node %d LowFree: %8lu kB\n", in node_read_meminfo()
425 "Node %d Dirty: %8lu kB\n" in node_read_meminfo()
426 "Node %d Writeback: %8lu kB\n" in node_read_meminfo()
427 "Node %d FilePages: %8lu kB\n" in node_read_meminfo()
428 "Node %d Mapped: %8lu kB\n" in node_read_meminfo()
429 "Node %d AnonPages: %8lu kB\n" in node_read_meminfo()
430 "Node %d Shmem: %8lu kB\n" in node_read_meminfo()
431 "Node %d KernelStack: %8lu kB\n" in node_read_meminfo()
433 "Node %d ShadowCallStack:%8lu kB\n" in node_read_meminfo()
435 "Node %d PageTables: %8lu kB\n" in node_read_meminfo()
436 "Node %d SecPageTables: %8lu kB\n" in node_read_meminfo()
437 "Node %d NFS_Unstable: %8lu kB\n" in node_read_meminfo()
438 "Node %d Bounce: %8lu kB\n" in node_read_meminfo()
439 "Node %d WritebackTmp: %8lu kB\n" in node_read_meminfo()
440 "Node %d KReclaimable: %8lu kB\n" in node_read_meminfo()
441 "Node %d Slab: %8lu kB\n" in node_read_meminfo()
442 "Node %d SReclaimable: %8lu kB\n" in node_read_meminfo()
443 "Node %d SUnreclaim: %8lu kB\n" in node_read_meminfo()
445 "Node %d AnonHugePages: %8lu kB\n" in node_read_meminfo()
446 "Node %d ShmemHugePages: %8lu kB\n" in node_read_meminfo()
447 "Node %d ShmemPmdMapped: %8lu kB\n" in node_read_meminfo()
448 "Node %d FileHugePages: %8lu kB\n" in node_read_meminfo()
449 "Node %d FilePmdMapped: %8lu kB\n" in node_read_meminfo()
452 "Node %d Unaccepted: %8lu kB\n" in node_read_meminfo()
557 * buf is currently PAGE_SIZE in length and each node needs 4 chars in node_read_distance()
608 * register_node - Setup a sysfs device for a node.
609 * @num - Node number to use when creating the device.
611 * Initialize and register the node device.
613 static int register_node(struct node *node, int num) in register_node() argument
617 node->dev.id = num; in register_node()
618 node->dev.bus = &node_subsys; in register_node()
619 node->dev.release = node_device_release; in register_node()
620 node->dev.groups = node_dev_groups; in register_node()
621 error = device_register(&node->dev); in register_node()
624 put_device(&node->dev); in register_node()
626 hugetlb_register_node(node); in register_node()
627 compaction_register_node(node); in register_node()
634 * unregister_node - unregister a node device
635 * @node: node going away
637 * Unregisters a node device @node. All the devices on the node must be
640 void unregister_node(struct node *node) in unregister_node() argument
642 hugetlb_unregister_node(node); in unregister_node()
643 compaction_unregister_node(node); in unregister_node()
644 node_remove_accesses(node); in unregister_node()
645 node_remove_caches(node); in unregister_node()
646 device_unregister(&node->dev); in unregister_node()
649 struct node *node_devices[MAX_NUMNODES];
652 * register cpu under node
678 * register_memory_node_under_compute_node - link memory node to its compute
679 * node for a given access class.
680 * @mem_nid: Memory node number
681 * @cpu_nid: Cpu node number
686 * This function will export node relationships linking which memory
694 struct node *init_node, *targ_node; in register_memory_node_under_compute_node()
782 /* register memory section under specified node if it spans that node */
807 * case because node's ranges can be interleaved. in register_mem_block_under_node_early()
818 /* mem section does not span the specified node */ in register_mem_block_under_node_early()
824 * node.
836 * Unregister a memory block device under the node it spans. Memory blocks
871 struct node *node; in __register_one_node() local
873 node = kzalloc(sizeof(struct node), GFP_KERNEL); in __register_one_node()
874 if (!node) in __register_one_node()
877 INIT_LIST_HEAD(&node->access_list); in __register_one_node()
878 node_devices[nid] = node; in __register_one_node()
882 /* link cpu under this node */ in __register_one_node()
903 * node states attributes
970 * Create all node devices, which will properly link the node in node_dev_init()
976 panic("%s() failed to add node: %d\n", __func__, ret); in node_dev_init()