Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b4ea9299df1fa04dbd51840f60918a63ff6a8a44
Commit:     b4ea9299df1fa04dbd51840f60918a63ff6a8a44
Parent:     fe21a445b98c9d52f02f3412d7a2fd39784f3b22
Author:     Thomas Gleixner <[EMAIL PROTECTED]>
AuthorDate: Wed Jan 30 13:30:38 2008 +0100
Committer:  Ingo Molnar <[EMAIL PROTECTED]>
CommitDate: Wed Jan 30 13:30:38 2008 +0100

    x86: consolidate toloplogy_32/64.h
    
    Reorder defines and do white space / coding style cleanups
    to get a readable diff.
    
    Also convert the macros to inline functions. Move the pci
    related inlines to pci.h
    
    Signed-off-by: Thomas Gleixner <[EMAIL PROTECTED]>
    Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
---
 include/asm-x86/pci.h         |   13 +++++++++
 include/asm-x86/topology_32.h |   55 +++++++++++++++++-------------------
 include/asm-x86/topology_64.h |   60 ++++++++++++++++++++++++++++-------------
 3 files changed, 80 insertions(+), 48 deletions(-)

diff --git a/include/asm-x86/pci.h b/include/asm-x86/pci.h
index 6983730..c61190c 100644
--- a/include/asm-x86/pci.h
+++ b/include/asm-x86/pci.h
@@ -92,6 +92,19 @@ static inline void early_quirks(void) { }
 /* generic pci stuff */
 #include <asm-generic/pci.h>
 
+#ifdef CONFIG_NUMA
+/* Returns the node based on pci bus */
+static inline int __pcibus_to_node(struct pci_bus *bus)
+{
+       struct pci_sysdata *sd = bus->sysdata;
+
+       return sd->node;
+}
 
+static inline cpumask_t __pcibus_to_cpumask(struct pci_bus *bus)
+{
+       return node_to_cpumask(__pcibus_to_node(bus));
+}
+#endif
 
 #endif
diff --git a/include/asm-x86/topology_32.h b/include/asm-x86/topology_32.h
index e28dbdc..35b0006 100644
--- a/include/asm-x86/topology_32.h
+++ b/include/asm-x86/topology_32.h
@@ -3,7 +3,7 @@
  *
  * Copyright (C) 2002, IBM Corp.
  *
- * All rights reserved.          
+ * All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -22,34 +22,27 @@
  *
  * Send feedback to <[EMAIL PROTECTED]>
  */
-#ifndef _ASM_I386_TOPOLOGY_H
-#define _ASM_I386_TOPOLOGY_H
-
-#ifdef CONFIG_X86_HT
-#define topology_physical_package_id(cpu)      (cpu_data(cpu).phys_proc_id)
-#define topology_core_id(cpu)                  (cpu_data(cpu).cpu_core_id)
-#define topology_core_siblings(cpu)            (per_cpu(cpu_core_map, cpu))
-#define topology_thread_siblings(cpu)          (per_cpu(cpu_sibling_map, cpu))
-#endif
+#ifndef _ASM_X86_TOPOLOGY_H
+#define _ASM_X86_TOPOLOGY_H
 
 #ifdef CONFIG_NUMA
-
-#include <asm/mpspec.h>
-
 #include <linux/cpumask.h>
+#include <asm/mpspec.h>
 
 /* Mappings between logical cpu number and node number */
-extern cpumask_t node_to_cpumask_map[];
 extern int cpu_to_node_map[];
+extern cpumask_t node_to_cpumask_map[];
 
 /* Returns the number of the node containing CPU 'cpu' */
 static inline int cpu_to_node(int cpu)
-{ 
+{
        return cpu_to_node_map[cpu];
 }
 
-/* Returns the number of the node containing Node 'node'.  This architecture 
is flat, 
-   so it is a pretty simple function! */
+/*
+ * Returns the number of the node containing Node 'node'. This
+ * architecture is flat, so it is a pretty simple function!
+ */
 #define parent_node(node) (node)
 
 /* Returns a bitmask of CPUs on Node 'node'. */
@@ -60,13 +53,14 @@ static inline cpumask_t node_to_cpumask(int node)
 
 /* Returns the number of the first CPU on Node 'node'. */
 static inline int node_to_first_cpu(int node)
-{ 
+{
        cpumask_t mask = node_to_cpumask(node);
+
        return first_cpu(mask);
 }
 
-#define pcibus_to_node(bus) ((struct pci_sysdata *)((bus)->sysdata))->node
-#define pcibus_to_cpumask(bus) node_to_cpumask(pcibus_to_node(bus))
+#define pcibus_to_node(bus) __pcibus_to_node(bus)
+#define pcibus_to_cpumask(bus) __pcibus_to_cpumask(bus)
 
 /* sched_domains SD_NODE_INIT for NUMAQ machines */
 #define SD_NODE_INIT (struct sched_domain) {           \
@@ -99,21 +93,24 @@ extern unsigned long node_remap_size[];
 
 #define node_has_online_mem(nid) (node_start_pfn[nid] != node_end_pfn[nid])
 
-#else /* !CONFIG_NUMA */
-/*
- * Other i386 platforms should define their own version of the 
- * above macros here.
- */
+#else /* CONFIG_NUMA */
 
 #include <asm-generic/topology.h>
 
-#endif /* CONFIG_NUMA */
+#endif
 
 extern cpumask_t cpu_coregroup_map(int cpu);
 
+#ifdef CONFIG_X86_HT
+#define topology_physical_package_id(cpu)      (cpu_data(cpu).phys_proc_id)
+#define topology_core_id(cpu)                  (cpu_data(cpu).cpu_core_id)
+#define topology_core_siblings(cpu)            (per_cpu(cpu_core_map, cpu))
+#define topology_thread_siblings(cpu)          (per_cpu(cpu_sibling_map, cpu))
+#endif
+
 #ifdef CONFIG_SMP
-#define mc_capable()   (boot_cpu_data.x86_max_cores > 1)
-#define smt_capable()  (smp_num_siblings > 1)
+#define mc_capable()                   (boot_cpu_data.x86_max_cores > 1)
+#define smt_capable()                  (smp_num_siblings > 1)
 #endif
 
-#endif /* _ASM_I386_TOPOLOGY_H */
+#endif
diff --git a/include/asm-x86/topology_64.h b/include/asm-x86/topology_64.h
index cf52934..93de948 100644
--- a/include/asm-x86/topology_64.h
+++ b/include/asm-x86/topology_64.h
@@ -1,27 +1,47 @@
-#ifndef _ASM_X86_64_TOPOLOGY_H
-#define _ASM_X86_64_TOPOLOGY_H
-
+#ifndef _ASM_X86_TOPOLOGY_H
+#define _ASM_X86_TOPOLOGY_H
 
 #ifdef CONFIG_NUMA
-
+#include <linux/cpumask.h>
 #include <asm/mpspec.h>
-#include <linux/bitops.h>
 
+/* Mappings between logical cpu number and node number */
 extern int cpu_to_node_map[];
 extern cpumask_t node_to_cpumask_map[];
 
 #ifdef CONFIG_ACPI_NUMA
 extern int __node_distance(int, int);
 #define node_distance(a,b) __node_distance(a,b)
-/* #else fallback version */
 #endif
 
-#define cpu_to_node(cpu)               (cpu_to_node_map[cpu])
-#define parent_node(node)              (node)
-#define node_to_first_cpu(node)                
(first_cpu(node_to_cpumask_map[node]))
-#define node_to_cpumask(node)          (node_to_cpumask_map[node])
-#define pcibus_to_node(bus)    ((struct pci_sysdata *)((bus)->sysdata))->node
-#define pcibus_to_cpumask(bus)         node_to_cpumask(pcibus_to_node(bus));
+/* Returns the number of the node containing CPU 'cpu' */
+static inline int cpu_to_node(int cpu)
+{
+       return cpu_to_node_map[cpu];
+}
+
+/*
+ * Returns the number of the node containing Node 'node'. This
+ * architecture is flat, so it is a pretty simple function!
+ */
+#define parent_node(node) (node)
+
+/* Returns a bitmask of CPUs on Node 'node'. */
+static inline cpumask_t node_to_cpumask(int node)
+{
+       return node_to_cpumask_map[node];
+}
+
+/* Returns the number of the first CPU on Node 'node'. */
+static inline int node_to_first_cpu(int node)
+{
+       cpumask_t mask = node_to_cpumask(node);
+
+       return first_cpu(mask);
+}
+
+#define pcibus_to_node(bus) __pcibus_to_node(bus)
+#define pcibus_to_cpumask(bus) __pcibus_to_cpumask(bus)
 
 #define numa_node_id()                 read_pda(nodenumber)
 
@@ -38,12 +58,12 @@ extern int __node_distance(int, int);
        .cache_nice_tries       = 2,                    \
        .busy_idx               = 3,                    \
        .idle_idx               = 2,                    \
-       .newidle_idx            = 0,                    \
+       .newidle_idx            = 0,                    \
        .wake_idx               = 1,                    \
        .forkexec_idx           = 1,                    \
        .flags                  = SD_LOAD_BALANCE       \
-                               | SD_BALANCE_FORK       \
                                | SD_BALANCE_EXEC       \
+                               | SD_BALANCE_FORK       \
                                | SD_SERIALIZE          \
                                | SD_WAKE_BALANCE,      \
        .last_balance           = jiffies,              \
@@ -51,19 +71,21 @@ extern int __node_distance(int, int);
        .nr_balance_failed      = 0,                    \
 }
 
+#else /* CONFIG_NUMA */
+
+#include <asm-generic/topology.h>
+
 #endif
 
+extern cpumask_t cpu_coregroup_map(int cpu);
+
 #ifdef CONFIG_SMP
 #define topology_physical_package_id(cpu)      (cpu_data(cpu).phys_proc_id)
 #define topology_core_id(cpu)                  (cpu_data(cpu).cpu_core_id)
 #define topology_core_siblings(cpu)            (per_cpu(cpu_core_map, cpu))
 #define topology_thread_siblings(cpu)          (per_cpu(cpu_sibling_map, cpu))
 #define mc_capable()                   (boot_cpu_data.x86_max_cores > 1)
-#define smt_capable()                  (smp_num_siblings > 1)
+#define smt_capable()                  (smp_num_siblings > 1)
 #endif
 
-#include <asm-generic/topology.h>
-
-extern cpumask_t cpu_coregroup_map(int cpu);
-
 #endif
-
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