cregit-Linux how code gets into the kernel

Release 4.16 include/linux/node.h

Directory: include/linux
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * include/linux/node.h - generic node definition
 *
 * This is mainly for topological representation. We define the 
 * basic 'struct node' here, which can be embedded in per-arch 
 * definitions of processors.
 *
 * Basic handling of the devices is done in drivers/base/node.c
 * and system devices are handled in drivers/base/sys.c. 
 *
 * Nodes are exported via driverfs in the class/node/devices/
 * directory. 
 */
#ifndef _LINUX_NODE_H_

#define _LINUX_NODE_H_

#include <linux/device.h>
#include <linux/cpumask.h>
#include <linux/workqueue.h>


struct node {
	
struct device	dev;

#if defined(CONFIG_MEMORY_HOTPLUG_SPARSE) && defined(CONFIG_HUGETLBFS)
	
struct work_struct	node_work;
#endif
};

struct memory_block;
extern struct node *node_devices[];

typedef  void (*node_registration_func_t)(struct node *);

#if defined(CONFIG_MEMORY_HOTPLUG_SPARSE) && defined(CONFIG_NUMA)
extern int link_mem_sections(int nid, unsigned long start_pfn, unsigned long nr_pages);
#else

static inline int link_mem_sections(int nid, unsigned long start_pfn, unsigned long nr_pages) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Michal Hocko21100.00%1100.00%
Total21100.00%1100.00%

#endif extern void unregister_node(struct node *node); #ifdef CONFIG_NUMA /* Core of the node registration - only memory hotplug should use this */ extern int __register_one_node(int nid); /* Registers an online node */
static inline int register_one_node(int nid) { int error = 0; if (node_online(nid)) { struct pglist_data *pgdat = NODE_DATA(nid); error = __register_one_node(nid); if (error) return error; /* link memory sections under this node */ error = link_mem_sections(nid, pgdat->node_start_pfn, pgdat->node_spanned_pages); } return error; }

Contributors

PersonTokensPropCommitsCommitProp
Michal Hocko67100.00%1100.00%
Total67100.00%1100.00%

extern void unregister_one_node(int nid); extern int register_cpu_under_node(unsigned int cpu, unsigned int nid); extern int unregister_cpu_under_node(unsigned int cpu, unsigned int nid); extern int register_mem_sect_under_node(struct memory_block *mem_blk, int nid); extern int unregister_mem_sect_under_nodes(struct memory_block *mem_blk, unsigned long phys_index); #ifdef CONFIG_HUGETLBFS extern void register_hugetlbfs_with_node(node_registration_func_t doregister, node_registration_func_t unregister); #endif #else
static inline int __register_one_node(int nid) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Michal Hocko13100.00%1100.00%
Total13100.00%1100.00%


static inline int register_one_node(int nid) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Kamezawa Hiroyuki13100.00%1100.00%
Total13100.00%1100.00%


static inline int unregister_one_node(int nid) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Kamezawa Hiroyuki13100.00%1100.00%
Total13100.00%1100.00%


static inline int register_cpu_under_node(unsigned int cpu, unsigned int nid) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Kamezawa Hiroyuki18100.00%1100.00%
Total18100.00%1100.00%


static inline int unregister_cpu_under_node(unsigned int cpu, unsigned int nid) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Kamezawa Hiroyuki18100.00%1100.00%
Total18100.00%1100.00%


static inline int register_mem_sect_under_node(struct memory_block *mem_blk, int nid) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Gary Hade18100.00%1100.00%
Total18100.00%1100.00%


static inline int unregister_mem_sect_under_nodes(struct memory_block *mem_blk, unsigned long phys_index) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Gary Hade1578.95%150.00%
Nathan Fontenot421.05%150.00%
Total19100.00%2100.00%


static inline void register_hugetlbfs_with_node(node_registration_func_t reg, node_registration_func_t unreg) { }

Contributors

PersonTokensPropCommitsCommitProp
Lee Schermerhorn12100.00%1100.00%
Total12100.00%1100.00%

#endif #define to_node(device) container_of(device, struct node, dev) #endif /* _LINUX_NODE_H_ */

Overall Contributors

PersonTokensPropCommitsCommitProp
Michal Hocko13531.99%16.67%
Kamezawa Hiroyuki9522.51%213.33%
Lee Schermerhorn6014.22%213.33%
Gary Hade5913.98%16.67%
Andrew Morton276.40%213.33%
Yasunori Goto214.98%16.67%
Keiichiro Tokunaga92.13%16.67%
Nathan Fontenot81.90%16.67%
Kay Sievers51.18%16.67%
Brandon Philips10.24%16.67%
Wen Congyang10.24%16.67%
Greg Kroah-Hartman10.24%16.67%
Total422100.00%15100.00%
Directory: include/linux
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.