Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ae2c6dcf90c5a9ff9bd9a176cafd43a255fcc64b
Commit:     ae2c6dcf90c5a9ff9bd9a176cafd43a255fcc64b
Parent:     a2e212dae57071d4a4a6cbbc12d70c628fd47ad2
Author:     David Rientjes <[EMAIL PROTECTED]>
AuthorDate: Sat Jul 21 17:09:56 2007 +0200
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Sat Jul 21 18:37:08 2007 -0700

    x86_64: various cleanups in NUMA scan node
    
    In acpi_scan_nodes(), we immediately return -1 if acpi_numa <= 0, meaning
    we haven't detected any underlying ACPI topology or we have explicitly
    disabled its use from the command-line with numa=noacpi.
    
    acpi_table_print_srat_entry() and acpi_table_parse_srat() are only
    referenced within drivers/acpi/numa.c, so we can mark them as static and
    remove their prototypes from the header file.
    
    Likewise, pxm_to_node_map[] and node_to_pxm_map[] are only used within
    drivers/acpi/numa.c, so we mark them as static and remove their externs
    from the header file.
    
    The automatic 'result' variable is unused in acpi_numa_init(), so it's
    removed.
    
    Signed-off-by: David Rientjes <[EMAIL PROTECTED]>
    Signed-off-by: Andi Kleen <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 arch/x86_64/mm/srat.c |    6 +++---
 drivers/acpi/numa.c   |   20 ++++++++++----------
 include/linux/acpi.h  |    2 --
 3 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/arch/x86_64/mm/srat.c b/arch/x86_64/mm/srat.c
index a126cb7..0e0725d 100644
--- a/arch/x86_64/mm/srat.c
+++ b/arch/x86_64/mm/srat.c
@@ -394,6 +394,9 @@ int __init acpi_scan_nodes(unsigned long start, unsigned 
long end)
 {
        int i;
 
+       if (acpi_numa <= 0)
+               return -1;
+
        /* First clean up the node list */
        for (i = 0; i < MAX_NUMNODES; i++) {
                cutoff_node(i, start, end);
@@ -403,9 +406,6 @@ int __init acpi_scan_nodes(unsigned long start, unsigned 
long end)
                }
        }
 
-       if (acpi_numa <= 0)
-               return -1;
-
        if (!nodes_cover_memory()) {
                bad_srat();
                return -1;
diff --git a/drivers/acpi/numa.c b/drivers/acpi/numa.c
index 0c9f15c..6c44b52 100644
--- a/drivers/acpi/numa.c
+++ b/drivers/acpi/numa.c
@@ -40,9 +40,9 @@ static nodemask_t nodes_found_map = NODE_MASK_NONE;
 #define NID_INVAL      -1
 
 /* maps to convert between proximity domain and logical node ID */
-static int pxm_to_node_map[MAX_PXM_DOMAINS]
+static int __cpuinitdata pxm_to_node_map[MAX_PXM_DOMAINS]
                                = { [0 ... MAX_PXM_DOMAINS - 1] = NID_INVAL };
-static int node_to_pxm_map[MAX_NUMNODES]
+static int __cpuinitdata node_to_pxm_map[MAX_NUMNODES]
                                = { [0 ... MAX_NUMNODES - 1] = PXM_INVAL };
 
 int pxm_to_node(int pxm)
@@ -83,7 +83,8 @@ void __cpuinit acpi_unmap_pxm_to_node(int node)
        node_clear(node, nodes_found_map);
 }
 
-void __init acpi_table_print_srat_entry(struct acpi_subtable_header * header)
+static void __init
+acpi_table_print_srat_entry(struct acpi_subtable_header *header)
 {
 
        ACPI_FUNCTION_NAME("acpi_table_print_srat_entry");
@@ -200,7 +201,7 @@ static int __init acpi_parse_srat(struct acpi_table_header 
*table)
        return 0;
 }
 
-int __init
+static int __init
 acpi_table_parse_srat(enum acpi_srat_type id,
                      acpi_table_entry_handler handler, unsigned int 
max_entries)
 {
@@ -211,14 +212,13 @@ acpi_table_parse_srat(enum acpi_srat_type id,
 
 int __init acpi_numa_init(void)
 {
-       int result;
-
        /* SRAT: Static Resource Affinity Table */
        if (!acpi_table_parse(ACPI_SIG_SRAT, acpi_parse_srat)) {
-               result = acpi_table_parse_srat(ACPI_SRAT_TYPE_CPU_AFFINITY,
-                                              acpi_parse_processor_affinity,
-                                              NR_CPUS);
-               result = acpi_table_parse_srat(ACPI_SRAT_TYPE_MEMORY_AFFINITY, 
acpi_parse_memory_affinity, NR_NODE_MEMBLKS);    // IA64 specific
+               acpi_table_parse_srat(ACPI_SRAT_TYPE_CPU_AFFINITY,
+                                     acpi_parse_processor_affinity, NR_CPUS);
+               acpi_table_parse_srat(ACPI_SRAT_TYPE_MEMORY_AFFINITY,
+                                     acpi_parse_memory_affinity,
+                                     NR_NODE_MEMBLKS);
        }
 
        /* SLIT: System Locality Information Table */
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index dc234c5..e88b62e 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -88,10 +88,8 @@ int acpi_table_parse (char *id, acpi_table_handler handler);
 int __init acpi_table_parse_entries(char *id, unsigned long table_size,
        int entry_id, acpi_table_entry_handler handler, unsigned int 
max_entries);
 int acpi_table_parse_madt (enum acpi_madt_type id, acpi_table_entry_handler 
handler, unsigned int max_entries);
-int acpi_table_parse_srat (enum acpi_srat_type id, acpi_table_entry_handler 
handler, unsigned int max_entries);
 int acpi_parse_mcfg (struct acpi_table_header *header);
 void acpi_table_print_madt_entry (struct acpi_subtable_header *madt);
-void acpi_table_print_srat_entry (struct acpi_subtable_header *srat);
 
 /* the following four functions are architecture-dependent */
 #ifdef CONFIG_HAVE_ARCH_PARSE_SRAT
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to