Refresh NODE_DATA() for generic archs. In this case, NODE_DATA(nid) ==
node_data[nid]. node_data[] is array of address of pgdat. So, refresh is
quite simple.
Signed-off-by: Yasunori Goto <y-goto@jp.fujitsu.com>
Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Cc: Dave Hansen <haveblue@us.ibm.com>
Cc: "Brown, Len" <len.brown@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
def_bool y
depends on NEED_MULTIPLE_NODES
+config HAVE_ARCH_NODEDATA_EXTENSION
+ def_bool y
+ depends on NUMA
+
config IA32_SUPPORT
bool "Support for Linux/x86 binaries"
help
static inline void arch_free_nodedata(pg_data_t *pgdat)
{
}
+static inline void arch_refresh_nodedata(int nid, pg_data_t *pgdat)
+{
+}
#else /* CONFIG_HAVE_ARCH_NODEDATA_EXTENSION */
*/
#define generic_free_nodedata(pgdat) kfree(pgdat)
+extern pg_data_t *node_data[];
+static inline void arch_refresh_nodedata(int nid, pg_data_t *pgdat)
+{
+ node_data[nid] = pgdat;
+}
+
#else /* !CONFIG_NUMA */
/* never called */
static inline void generic_free_nodedata(pg_data_t *pgdat)
{
}
+static inline void arch_refresh_nodedata(int nid, pg_data_t *pgdat)
+{
+}
#endif /* CONFIG_NUMA */
#endif /* CONFIG_HAVE_ARCH_NODEDATA_EXTENSION */