Whamcloud - gitweb
LU-2800 autoconf: remove topology checks 36/5336/7
authorJames Simmons <uja.ornl@gmail.com>
Wed, 10 Jul 2013 19:27:04 +0000 (15:27 -0400)
committerOleg Drokin <oleg.drokin@intel.com>
Tue, 23 Jul 2013 05:20:06 +0000 (05:20 +0000)
The topology API has been stable since 2.6.32, so we don't need to
check for it anymore.

The options defined by a series of tests in LC_EXPORT_NODE_TO_CPUMASK
and LC_EXPORT_CPUMASK_OF_NODE look like this:
HAVE_CPUMASK_OF_NODE=1 since v2.6.29
HAVE_NODE_TO_CPUMASK=0 since v2.6.29
HAVE_CPUMASK_COPY=1 since v2.6.28
HAVE_CPUMASK_SIZE=1 since v2.6.28
HAVE_TOPOLOGY_THREAD_SIBLINGS=0 since v2.6.32
HAVE_TOPOLOGY_CORE_SIBLINGS=0 since v2.6.32
HAVE_TOPOLOGY_THREAD_CPUMASK=1 since v2.6.30
HAVE_TOPOLOGY_CORE_CPUMAS=1K since v2.6.30
HAVE_CPU_TOPOLOGY=1 since v2.6.12

Let's eliminate all those tests and remove the dead code.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Change-Id: I9924eb496508f560bb7a38dfbcf5105c3713185e
Reviewed-on: http://review.whamcloud.com/5336
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
libcfs/autoconf/lustre-libcfs.m4
libcfs/include/libcfs/linux/linux-cpu.h
libcfs/libcfs/linux/linux-cpu.c
lustre/autoconf/lustre-core.m4
lustre/include/linux/lustre_compat25.h
lustre/ptlrpc/ptlrpcd.c

index de86a96..654aa9d 100644 (file)
@@ -97,129 +97,6 @@ LB_LINUX_TRY_COMPILE([
 ])
 ])
 
 ])
 ])
 
-# check cpu topology functions
-#
-# topology_core_cpumask (2.6.29, not on all archs)
-# topology_core_siblings (not on all archs)
-# topology_thread_cpumask (2.6.29, not on all archs)
-# topology_thread_siblings (not on all archs)
-# cpumask_of_node/node_to_cpumask (not always exported)
-AC_DEFUN([LIBCFS_CPU_TOPOLOGY],
-[AC_MSG_CHECKING([whether have topology.h])
-LB_LINUX_TRY_COMPILE([
-       #include <linux/topology.h>
-],[],[
-       AC_DEFINE(HAVE_CPU_TOPOLOGY, 1, [have CPU topology])
-       AC_MSG_RESULT(yes)
-
-       AC_MSG_CHECKING([whether have topology_core_cpumask])
-       LB_LINUX_TRY_COMPILE([
-               #include <linux/topology.h>
-       ],[
-               cpumask_t *mask = topology_core_cpumask(0);
-       ],[
-               AC_DEFINE(HAVE_TOPOLOGY_CORE_CPUMASK, 1,
-                         [have topology_core_cpumask])
-               AC_MSG_RESULT(yes)
-       ],[
-               AC_MSG_RESULT(no)
-       ])
-
-       AC_MSG_CHECKING([whether have topology_core_siblings])
-       LB_LINUX_TRY_COMPILE([
-               #include <linux/topology.h>
-       ],[
-               cpumask_t mask = topology_core_siblings(0);
-       ],[
-               AC_DEFINE(HAVE_TOPOLOGY_CORE_SIBLINGS, 1,
-                         [have topology_core_siblings])
-               AC_MSG_RESULT(yes)
-       ],[
-               AC_MSG_RESULT(no)
-       ])
-
-       AC_MSG_CHECKING([whether have topology_thread_cpumask])
-       LB_LINUX_TRY_COMPILE([
-               #include <linux/topology.h>
-       ],[
-               cpumask_t *mask = topology_thread_cpumask(0);
-       ],[
-               AC_DEFINE(HAVE_TOPOLOGY_THREAD_CPUMASK, 1,
-                         [have topology_thread_cpumask])
-               AC_MSG_RESULT(yes)
-       ],[
-               AC_MSG_RESULT(no)
-       ])
-
-       AC_MSG_CHECKING([whether have topology_thread_siblings])
-       LB_LINUX_TRY_COMPILE([
-               #include <linux/topology.h>
-       ],[
-               cpumask_t mask = topology_thread_siblings(0);
-       ],[
-               AC_DEFINE(HAVE_TOPOLOGY_THREAD_SIBLINGS, 1,
-                         [have topology_thread_siblings])
-               AC_MSG_RESULT(yes)
-       ],[
-               AC_MSG_RESULT(no)
-       ])
-
-       AC_MSG_CHECKING([whether OFED backports have cpumask_of_node])
-       # Some OFED has cpumask_of_node backports defined in
-       # its private include/linux/cpumask.h. However, it is
-       # defined conflictingly with kernel's cpumask_of_node.
-       if test -f $OFED_BACKPORT_PATH/linux/cpumask.h; then
-               grep -q cpumask_of_node $OFED_BACKPORT_PATH/linux/cpumask.h 2>/dev/null
-               rc=$?
-               if test $rc -eq 0; then
-                       AC_DEFINE(HAVE_OFED_CPUMASK_OF_NODE, 1, [have cpumask_of_node])
-                       AC_MSG_RESULT(yes)
-               else
-                       AC_MSG_RESULT(no)
-               fi
-       fi
-
-       AC_MSG_CHECKING([whether have cpumask_of_node])
-       LB_LINUX_TRY_COMPILE([
-               #include <linux/topology.h>
-       ],[
-               cpumask_t *mask = cpumask_of_node(0);
-       ],[
-               AC_DEFINE(HAVE_CPUMASK_OF_NODE, 1, [have cpumask_of_node])
-               AC_MSG_RESULT(yes)
-       ],[
-               AC_MSG_RESULT(no)
-       ])
-
-       AC_MSG_CHECKING([whether have cpumask_copy])
-       LB_LINUX_TRY_COMPILE([
-               #include <linux/cpumask.h>
-       ],[
-               cpumask_copy(NULL, NULL);
-       ],[
-               AC_DEFINE(HAVE_CPUMASK_COPY, 1, [have cpumask_copy])
-               AC_MSG_RESULT(yes)
-       ],[
-               AC_MSG_RESULT(no)
-       ])
-
-       AC_MSG_CHECKING([whether have node_to_cpumask])
-       LB_LINUX_TRY_COMPILE([
-               #include <linux/topology.h>
-       ],[
-               cpumask_t mask = node_to_cpumask(0);
-       ],[
-               AC_DEFINE(HAVE_NODE_TO_CPUMASK, 1, [have node_to_cpumask])
-               AC_MSG_RESULT(yes)
-       ],[
-               AC_MSG_RESULT(no)
-       ])
-],[
-       AC_MSG_RESULT(NO)
-])
-])
-
-
 # 2.6.24 request not use real numbers for ctl_name
 AC_DEFUN([LIBCFS_SYSCTL_UNNUMBERED],
 [AC_MSG_CHECKING([for CTL_UNNUMBERED])
 # 2.6.24 request not use real numbers for ctl_name
 AC_DEFUN([LIBCFS_SYSCTL_UNNUMBERED],
 [AC_MSG_CHECKING([for CTL_UNNUMBERED])
@@ -516,10 +393,6 @@ LIBCFS_HAVE_IS_COMPAT_TASK
 LIBCFS_SYSCTL_UNNUMBERED
 LIBCFS_FUNC_DUMP_TRACE
 LIBCFS_HAVE_KEYTYPE_H
 LIBCFS_SYSCTL_UNNUMBERED
 LIBCFS_FUNC_DUMP_TRACE
 LIBCFS_HAVE_KEYTYPE_H
-# 2.6.28
-LIBCFS_CPUMASK_SIZE
-# 2.6.29
-LIBCFS_CPU_TOPOLOGY
 # 2.6.30
 LIBCFS_SOCK_MAP_FD_2ARG
 # 2.6.32
 # 2.6.30
 LIBCFS_SOCK_MAP_FD_2ARG
 # 2.6.32
index c24fc48..f442f95 100644 (file)
 #include <linux/topology.h>
 #include <linux/version.h>
 
 #include <linux/topology.h>
 #include <linux/version.h>
 
-#ifndef HAVE_CPUMASK_SIZE
-#define cpumask_size()         sizeof(cpumask_t)
-#endif
-
 #ifdef CONFIG_SMP
 
 #define HAVE_LIBCFS_CPT
 #ifdef CONFIG_SMP
 
 #define HAVE_LIBCFS_CPT
@@ -123,11 +119,7 @@ int cfs_cpu_ht_nsiblings(int cpu);
  * #define cfs_cpu_mask_for_each(i, mask)      for_each_cpu_mask(i, mask)
  * #define cfs_cpu_mask_bind(t, mask)          set_cpus_allowed(t, mask)
  *
  * #define cfs_cpu_mask_for_each(i, mask)      for_each_cpu_mask(i, mask)
  * #define cfs_cpu_mask_bind(t, mask)          set_cpus_allowed(t, mask)
  *
- * #ifdef HAVE_CPUMASK_COPY
  * #define cfs_cpu_mask_copy(dst, src)         cpumask_copy(dst, src)
  * #define cfs_cpu_mask_copy(dst, src)         cpumask_copy(dst, src)
- * #else
- * #define cfs_cpu_mask_copy(dst, src)         memcpy(dst, src, sizeof(*src))
- * #endif
  *
  * static inline void
  * cfs_cpu_mask_of_online(cfs_cpumask_t *mask)
  *
  * static inline void
  * cfs_cpu_mask_of_online(cfs_cpumask_t *mask)
@@ -150,13 +142,7 @@ int cfs_cpu_ht_nsiblings(int cpu);
  *
  * static inline void cfs_node_to_cpumask(int node, cfs_cpumask_t *mask)
  * {
  *
  * static inline void cfs_node_to_cpumask(int node, cfs_cpumask_t *mask)
  * {
- * #if defined(HAVE_NODE_TO_CPUMASK)
- *      *mask = node_to_cpumask(node);
- * #elif defined(HAVE_CPUMASK_OF_NODE)
  *      cfs_cpu_mask_copy(mask, cpumask_of_node(node));
  *      cfs_cpu_mask_copy(mask, cpumask_of_node(node));
- * #else
- * # error "Needs node_to_cpumask or cpumask_of_node"
- * #endif
  * }
  *
  * #define cfs_node_mask_set(i, mask)          node_set(i, mask)
  * }
  *
  * #define cfs_node_mask_set(i, mask)          node_set(i, mask)
index 99327ba..95777a8 100644 (file)
@@ -79,15 +79,8 @@ static struct cfs_cpt_data   cpt_data;
 void
 cfs_cpu_core_siblings(int cpu, cpumask_t *mask)
 {
 void
 cfs_cpu_core_siblings(int cpu, cpumask_t *mask)
 {
-#if defined(HAVE_TOPOLOGY_CORE_CPUMASK) && defined(HAVE_CPUMASK_COPY)
        /* return cpumask of cores in the same socket */
        cpumask_copy(mask, topology_core_cpumask(cpu));
        /* return cpumask of cores in the same socket */
        cpumask_copy(mask, topology_core_cpumask(cpu));
-#elif defined(HAVE_TOPOLOGY_CORE_SIBLINGS)
-       *mask = topology_core_siblings(cpu);
-#else
-       cpus_clear(*mask);
-       cpu_set(cpu, *mask);
-#endif
 }
 EXPORT_SYMBOL(cfs_cpu_core_siblings);
 
 }
 EXPORT_SYMBOL(cfs_cpu_core_siblings);
 
@@ -112,14 +105,7 @@ EXPORT_SYMBOL(cfs_cpu_core_nsiblings);
 void
 cfs_cpu_ht_siblings(int cpu, cpumask_t *mask)
 {
 void
 cfs_cpu_ht_siblings(int cpu, cpumask_t *mask)
 {
-#if defined(HAVE_TOPOLOGY_THREAD_CPUMASK) && defined(HAVE_CPUMASK_COPY)
        cpumask_copy(mask, topology_thread_cpumask(cpu));
        cpumask_copy(mask, topology_thread_cpumask(cpu));
-#elif defined(HAVE_TOPOLOGY_THREAD_SIBLINGS)
-       *mask = topology_thread_siblings(cpu);
-#else
-       cpus_clear(*mask);
-       cpu_set(cpu, *mask);
-#endif
 }
 EXPORT_SYMBOL(cfs_cpu_ht_siblings);
 
 }
 EXPORT_SYMBOL(cfs_cpu_ht_siblings);
 
@@ -143,17 +129,7 @@ EXPORT_SYMBOL(cfs_cpu_ht_nsiblings);
 void
 cfs_node_to_cpumask(int node, cpumask_t *mask)
 {
 void
 cfs_node_to_cpumask(int node, cpumask_t *mask)
 {
-#if defined(HAVE_CPUMASK_OF_NODE) && defined(HAVE_CPUMASK_COPY)
        cpumask_copy(mask, cpumask_of_node(node));
        cpumask_copy(mask, cpumask_of_node(node));
-#elif defined(HAVE_NODE_TO_CPUMASK)
-       *mask = node_to_cpumask(node);
-#else
-       cpus_clear(*mask);
-       for_each_online_cpu(i) {
-               if (cpu_to_node(i) == node)
-                       cpu_set(i, *mask);
-       }
-#endif
 }
 EXPORT_SYMBOL(cfs_node_to_cpumask);
 
 }
 EXPORT_SYMBOL(cfs_node_to_cpumask);
 
index 9ac1194..0e87d75 100644 (file)
@@ -234,28 +234,6 @@ AC_DEFUN([LC_EXPORT_TRUNCATE_COMPLETE],
                                             [kernel export delete_from_page_cache])])
          ])
 
                                             [kernel export delete_from_page_cache])])
          ])
 
-# The actual symbol exported varies among architectures, so we need
-# to check many symbols (but only in the current architecture.)  No
-# matter what symbol is exported, the kernel #defines node_to_cpumask
-# to the appropriate function and that's what we use.
-AC_DEFUN([LC_EXPORT_NODE_TO_CPUMASK],
-         [LB_CHECK_SYMBOL_EXPORT([node_to_cpumask],
-                                 [arch/$LINUX_ARCH/mm/numa.c],
-                                 [AC_DEFINE(HAVE_NODE_TO_CPUMASK, 1,
-                                            [node_to_cpumask is exported by
-                                             the kernel])]) # x86_64
-          LB_CHECK_SYMBOL_EXPORT([node_to_cpu_mask],
-                                 [arch/$LINUX_ARCH/kernel/smpboot.c],
-                                 [AC_DEFINE(HAVE_NODE_TO_CPUMASK, 1,
-                                            [node_to_cpumask is exported by
-                                             the kernel])]) # ia64
-          LB_CHECK_SYMBOL_EXPORT([node_2_cpu_mask],
-                                 [arch/$LINUX_ARCH/kernel/smpboot.c],
-                                 [AC_DEFINE(HAVE_NODE_TO_CPUMASK, 1,
-                                            [node_to_cpumask is exported by
-                                             the kernel])]) # i386
-          ])
-
 #
 # added in 2.6.17
 #
 #
 # added in 2.6.17
 #
@@ -793,16 +771,6 @@ AC_DEFUN([LC_HAVE_QUOTAIO_H],
 ])
 ])
 
 ])
 ])
 
-# 2.6.30 x86 node_to_cpumask has been removed. must use cpumask_of_node
-AC_DEFUN([LC_EXPORT_CPUMASK_OF_NODE],
-         [LB_CHECK_SYMBOL_EXPORT([node_to_cpumask_map],
-                                 [arch/$LINUX_ARCH/mm/numa.c],
-                                 [AC_DEFINE(HAVE_CPUMASK_OF_NODE, 1,
-                                            [node_to_cpumask_map is exported by
-                                             the kernel])]) # x86_64
-         ])
-
-
 # 2.6.32
 
 # 2.6.32 replaces 2 functions blk_queue_max_phys_segments and blk_queue_max_hw_segments by blk_queue_max_segments
 # 2.6.32
 
 # 2.6.32 replaces 2 functions blk_queue_max_phys_segments and blk_queue_max_hw_segments by blk_queue_max_segments
@@ -1619,7 +1587,6 @@ AC_DEFUN([LC_PROG_LINUX],
 
          # RHEL4 patches
          LC_EXPORT_TRUNCATE_COMPLETE
 
          # RHEL4 patches
          LC_EXPORT_TRUNCATE_COMPLETE
-         LC_EXPORT_NODE_TO_CPUMASK
 
          LC_BIT_SPINLOCK_H
 
 
          LC_BIT_SPINLOCK_H
 
@@ -1666,9 +1633,6 @@ AC_DEFUN([LC_PROG_LINUX],
          LC_BI_HW_SEGMENTS
          LC_HAVE_QUOTAIO_H
 
          LC_BI_HW_SEGMENTS
          LC_HAVE_QUOTAIO_H
 
-        # 2.6.30
-        LC_EXPORT_CPUMASK_OF_NODE
-
          # 2.6.32
          LC_BLK_QUEUE_MAX_SEGMENTS
          LC_SET_CPUS_ALLOWED
          # 2.6.32
          LC_BLK_QUEUE_MAX_SEGMENTS
          LC_SET_CPUS_ALLOWED
index 4e29e69..225e2a3 100644 (file)
@@ -437,14 +437,6 @@ static inline int ll_quota_off(struct super_block *sb, int off, int remount)
 #define bio_hw_segments(q, bio) 0
 #endif
 
 #define bio_hw_segments(q, bio) 0
 #endif
 
-#if !defined(HAVE_CPUMASK_OF_NODE) && defined(HAVE_NODE_TO_CPUMASK)
-# ifdef HAVE_OFED_CPUMASK_OF_NODE
-# undef cpumask_of_node
-# define HAVE_CPUMASK_OF_NODE
-# endif
-#define cpumask_of_node(i)     (&node_to_cpumask(i))
-#endif
-
 #ifndef QUOTA_OK
 # define QUOTA_OK 0
 #endif
 #ifndef QUOTA_OK
 # define QUOTA_OK 0
 #endif
index b6486e0..5f8f5c2 100644 (file)
@@ -411,8 +411,7 @@ static int ptlrpcd(void *arg)
         ENTRY;
 
        unshare_fs_struct();
         ENTRY;
 
        unshare_fs_struct();
-#if defined(CONFIG_SMP) && \
-(defined(HAVE_CPUMASK_OF_NODE) || defined(HAVE_NODE_TO_CPUMASK))
+#if defined(CONFIG_SMP)
        if (test_bit(LIOD_BIND, &pc->pc_flags)) {
                int index = pc->pc_index;
 
        if (test_bit(LIOD_BIND, &pc->pc_flags)) {
                int index = pc->pc_index;
 
@@ -524,8 +523,7 @@ static int ptlrpcd_bind(int index, int max)
 {
        struct ptlrpcd_ctl *pc;
        int rc = 0;
 {
        struct ptlrpcd_ctl *pc;
        int rc = 0;
-#if defined(CONFIG_NUMA) && \
-(defined(HAVE_CPUMASK_OF_NODE) || defined(HAVE_NODE_TO_CPUMASK))
+#if defined(CONFIG_NUMA)
        cpumask_t mask;
 #endif
        ENTRY;
        cpumask_t mask;
 #endif
        ENTRY;
@@ -545,8 +543,7 @@ static int ptlrpcd_bind(int index, int max)
                 pc->pc_npartners = 1;
                 break;
        case PDB_POLICY_NEIGHBOR:
                 pc->pc_npartners = 1;
                 break;
        case PDB_POLICY_NEIGHBOR:
-#if defined(CONFIG_NUMA) && \
-(defined(HAVE_CPUMASK_OF_NODE) || defined(HAVE_NODE_TO_CPUMASK))
+#if defined(CONFIG_NUMA)
        {
                int i;
                mask = *cpumask_of_node(cpu_to_node(index));
        {
                int i;
                mask = *cpumask_of_node(cpu_to_node(index));
@@ -583,8 +580,7 @@ static int ptlrpcd_bind(int index, int max)
                                 }
                                 break;
                        case PDB_POLICY_NEIGHBOR:
                                 }
                                 break;
                        case PDB_POLICY_NEIGHBOR:
-#if defined(CONFIG_NUMA) && \
-(defined(HAVE_CPUMASK_OF_NODE) || defined(HAVE_NODE_TO_CPUMASK))
+#if defined(CONFIG_NUMA)
                        {
                                struct ptlrpcd_ctl *ppc;
                                int i, pidx;
                        {
                                struct ptlrpcd_ctl *ppc;
                                int i, pidx;