From 9dac1488397c9acbfd58603c5125b272646544fc Mon Sep 17 00:00:00 2001 From: James Simmons Date: Wed, 10 Jul 2013 15:27:04 -0400 Subject: [PATCH] LU-2800 autoconf: remove topology checks 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 Signed-off-by: James Simmons Change-Id: I9924eb496508f560bb7a38dfbcf5105c3713185e Reviewed-on: http://review.whamcloud.com/5336 Reviewed-by: Bob Glossman Tested-by: Hudson Tested-by: Maloo Reviewed-by: Oleg Drokin --- libcfs/autoconf/lustre-libcfs.m4 | 127 -------------------------------- libcfs/include/libcfs/linux/linux-cpu.h | 14 ---- libcfs/libcfs/linux/linux-cpu.c | 24 ------ lustre/autoconf/lustre-core.m4 | 36 --------- lustre/include/linux/lustre_compat25.h | 8 -- lustre/ptlrpc/ptlrpcd.c | 12 +-- 6 files changed, 4 insertions(+), 217 deletions(-) diff --git a/libcfs/autoconf/lustre-libcfs.m4 b/libcfs/autoconf/lustre-libcfs.m4 index de86a96..654aa9d 100644 --- a/libcfs/autoconf/lustre-libcfs.m4 +++ b/libcfs/autoconf/lustre-libcfs.m4 @@ -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 -],[],[ - 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 - ],[ - 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 - ],[ - 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 - ],[ - 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 - ],[ - 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 - ],[ - 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 - ],[ - 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 - ],[ - 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]) @@ -516,10 +393,6 @@ LIBCFS_HAVE_IS_COMPAT_TASK 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 diff --git a/libcfs/include/libcfs/linux/linux-cpu.h b/libcfs/include/libcfs/linux/linux-cpu.h index c24fc48..f442f95 100644 --- a/libcfs/include/libcfs/linux/linux-cpu.h +++ b/libcfs/include/libcfs/linux/linux-cpu.h @@ -51,10 +51,6 @@ #include #include -#ifndef HAVE_CPUMASK_SIZE -#define cpumask_size() sizeof(cpumask_t) -#endif - #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) * - * #ifdef HAVE_CPUMASK_COPY * #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) @@ -150,13 +142,7 @@ int cfs_cpu_ht_nsiblings(int cpu); * * 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)); - * #else - * # error "Needs node_to_cpumask or cpumask_of_node" - * #endif * } * * #define cfs_node_mask_set(i, mask) node_set(i, mask) diff --git a/libcfs/libcfs/linux/linux-cpu.c b/libcfs/libcfs/linux/linux-cpu.c index 99327ba..95777a8 100644 --- a/libcfs/libcfs/linux/linux-cpu.c +++ b/libcfs/libcfs/linux/linux-cpu.c @@ -79,15 +79,8 @@ static struct cfs_cpt_data cpt_data; 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)); -#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); @@ -112,14 +105,7 @@ EXPORT_SYMBOL(cfs_cpu_core_nsiblings); 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)); -#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); @@ -143,17 +129,7 @@ EXPORT_SYMBOL(cfs_cpu_ht_nsiblings); 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)); -#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); diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 index 9ac1194..0e87d75 100644 --- a/lustre/autoconf/lustre-core.m4 +++ b/lustre/autoconf/lustre-core.m4 @@ -234,28 +234,6 @@ AC_DEFUN([LC_EXPORT_TRUNCATE_COMPLETE], [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 # @@ -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 @@ -1619,7 +1587,6 @@ AC_DEFUN([LC_PROG_LINUX], # RHEL4 patches LC_EXPORT_TRUNCATE_COMPLETE - LC_EXPORT_NODE_TO_CPUMASK LC_BIT_SPINLOCK_H @@ -1666,9 +1633,6 @@ AC_DEFUN([LC_PROG_LINUX], 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 diff --git a/lustre/include/linux/lustre_compat25.h b/lustre/include/linux/lustre_compat25.h index 4e29e69..225e2a3 100644 --- a/lustre/include/linux/lustre_compat25.h +++ b/lustre/include/linux/lustre_compat25.h @@ -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 -#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 diff --git a/lustre/ptlrpc/ptlrpcd.c b/lustre/ptlrpc/ptlrpcd.c index b6486e0..5f8f5c2 100644 --- a/lustre/ptlrpc/ptlrpcd.c +++ b/lustre/ptlrpc/ptlrpcd.c @@ -411,8 +411,7 @@ static int ptlrpcd(void *arg) 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; @@ -524,8 +523,7 @@ static int ptlrpcd_bind(int index, int max) { 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; @@ -545,8 +543,7 @@ static int ptlrpcd_bind(int index, int max) 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)); @@ -583,8 +580,7 @@ static int ptlrpcd_bind(int index, int max) } 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; -- 1.8.3.1