Blame view
include/asm-ia64/nodedata.h
1.85 KB
1da177e4c Linux-2.6.12-rc2 |
1 2 3 4 5 6 7 8 9 10 11 12 |
/* * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (c) 2000 Silicon Graphics, Inc. All rights reserved. * Copyright (c) 2002 NEC Corp. * Copyright (c) 2002 Erich Focht <efocht@ess.nec.de> * Copyright (c) 2002 Kimio Suganuma <k-suganuma@da.jp.nec.com> */ #ifndef _ASM_IA64_NODEDATA_H #define _ASM_IA64_NODEDATA_H |
1da177e4c Linux-2.6.12-rc2 |
13 14 15 16 |
#include <linux/numa.h> #include <asm/percpu.h> #include <asm/mmzone.h> |
1be7d9935 [PATCH] V5 ia64 S... |
17 |
#ifdef CONFIG_NUMA |
1da177e4c Linux-2.6.12-rc2 |
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
/* * Node Data. One of these structures is located on each node of a NUMA system. */ struct pglist_data; struct ia64_node_data { short active_cpu_count; short node; struct pglist_data *pg_data_ptrs[MAX_NUMNODES]; }; /* * Return a pointer to the node_data structure for the executing cpu. */ #define local_node_data (local_cpu_data->node_data) /* * Given a node id, return a pointer to the pg_data_t for the node. * * NODE_DATA - should be used in all code not related to system * initialization. It uses pernode data structures to minimize * offnode memory references. However, these structure are not * present during boot. This macro can be used once cpu_init * completes. */ #define NODE_DATA(nid) (local_node_data->pg_data_ptrs[nid]) |
7049027c6 [PATCH] pgdat all... |
46 47 48 49 50 51 52 53 54 55 56 |
/* * LOCAL_DATA_ADDR - This is to calculate the address of other node's * "local_node_data" at hot-plug phase. The local_node_data * is pointed by per_cpu_page. Kernel usually use it for * just executing cpu. However, when new node is hot-added, * the addresses of local data for other nodes are necessary * to update all of them. */ #define LOCAL_DATA_ADDR(pgdat) \ ((struct ia64_node_data *)((u64)(pgdat) + \ L1_CACHE_ALIGN(sizeof(struct pglist_data)))) |
1be7d9935 [PATCH] V5 ia64 S... |
57 |
#endif /* CONFIG_NUMA */ |
1da177e4c Linux-2.6.12-rc2 |
58 59 |
#endif /* _ASM_IA64_NODEDATA_H */ |