x86-64, NUMA: Wrap acpi_numa_init() so that failure can be indicated by return value
Because of the way ACPI tables are parsed, the generic acpi_numa_init() couldn't return failure when error was detected by arch hooks. Instead, the failure state was recorded and later arch dependent init hook - acpi_scan_nodes() - would fail. Wrap acpi_numa_init() with x86_acpi_numa_init() so that failure can be indicated as return value immediately. This is in preparation for further NUMA init cleanups. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Yinghai Lu <yinghai@kernel.org> Cc: Brian Gerst <brgerst@gmail.com> Cc: Cyrill Gorcunov <gorcunov@gmail.com> Cc: Shaohui Zheng <shaohui.zheng@intel.com> Cc: David Rientjes <rientjes@google.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: H. Peter Anvin <hpa@linux.intel.com>
This commit is contained in:
parent
940fed2e79
commit
a9aec56afa
@ -187,6 +187,7 @@ struct bootnode;
|
||||
extern int acpi_numa;
|
||||
extern void acpi_get_nodes(struct bootnode *physnodes, unsigned long start,
|
||||
unsigned long end);
|
||||
extern int x86_acpi_numa_init(void);
|
||||
extern int acpi_scan_nodes(void);
|
||||
#define NR_NODE_MEMBLKS (MAX_NUMNODES*2)
|
||||
|
||||
|
@ -995,7 +995,7 @@ void __init setup_arch(char **cmdline_p)
|
||||
/*
|
||||
* Parse SRAT to discover nodes.
|
||||
*/
|
||||
acpi = !acpi_numa_init();
|
||||
acpi = !x86_acpi_numa_init();
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_AMD_NUMA
|
||||
|
@ -358,6 +358,16 @@ void __init acpi_get_nodes(struct bootnode *physnodes, unsigned long start,
|
||||
}
|
||||
#endif /* CONFIG_NUMA_EMU */
|
||||
|
||||
int __init x86_acpi_numa_init(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = acpi_numa_init();
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
return srat_disabled() ? -EINVAL : 0;
|
||||
}
|
||||
|
||||
/* Use the information discovered above to actually set up the nodes. */
|
||||
int __init acpi_scan_nodes(void)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user