138 static void set_numa_available(numa_available_func_t func) { _numa_available = func; }
139 static void set_numa_tonode_memory(numa_tonode_memory_func_t func) { _numa_tonode_memory = func; }
140 static void set_numa_interleave_memory(numa_interleave_memory_func_t func) { _numa_interleave_memory = func; }
141 static void set_numa_all_nodes(unsigned long* ptr) { _numa_all_nodes = ptr; }
142 public:
143 static int sched_getcpu() { return _sched_getcpu != NULL ? _sched_getcpu() : -1; }
144 static int numa_node_to_cpus(int node, unsigned long *buffer, int bufferlen) {
145 return _numa_node_to_cpus != NULL ? _numa_node_to_cpus(node, buffer, bufferlen) : -1;
146 }
147 static int numa_max_node() { return _numa_max_node != NULL ? _numa_max_node() : -1; }
148 static int numa_available() { return _numa_available != NULL ? _numa_available() : -1; }
149 static int numa_tonode_memory(void *start, size_t size, int node) {
150 return _numa_tonode_memory != NULL ? _numa_tonode_memory(start, size, node) : -1;
151 }
152 static void numa_interleave_memory(void *start, size_t size) {
153 if (_numa_interleave_memory != NULL && _numa_all_nodes != NULL) {
154 _numa_interleave_memory(start, size, _numa_all_nodes);
155 }
156 }
157 static int get_node_by_cpu(int cpu_id);
158 };
159
160 #endif // OS_BSD_OS_BSD_HPP
|
138 static void set_numa_available(numa_available_func_t func) { _numa_available = func; }
139 static void set_numa_tonode_memory(numa_tonode_memory_func_t func) { _numa_tonode_memory = func; }
140 static void set_numa_interleave_memory(numa_interleave_memory_func_t func) { _numa_interleave_memory = func; }
141 static void set_numa_all_nodes(unsigned long* ptr) { _numa_all_nodes = ptr; }
142 public:
143 static int sched_getcpu() { return _sched_getcpu != NULL ? _sched_getcpu() : -1; }
144 static int numa_node_to_cpus(int node, unsigned long *buffer, int bufferlen) {
145 return _numa_node_to_cpus != NULL ? _numa_node_to_cpus(node, buffer, bufferlen) : -1;
146 }
147 static int numa_max_node() { return _numa_max_node != NULL ? _numa_max_node() : -1; }
148 static int numa_available() { return _numa_available != NULL ? _numa_available() : -1; }
149 static int numa_tonode_memory(void *start, size_t size, int node) {
150 return _numa_tonode_memory != NULL ? _numa_tonode_memory(start, size, node) : -1;
151 }
152 static void numa_interleave_memory(void *start, size_t size) {
153 if (_numa_interleave_memory != NULL && _numa_all_nodes != NULL) {
154 _numa_interleave_memory(start, size, _numa_all_nodes);
155 }
156 }
157 static int get_node_by_cpu(int cpu_id);
158
159 static void print_uptime_info(outputStream* st);
160 };
161
162 #endif // OS_BSD_OS_BSD_HPP
|