1
1
openmpi/opal/mca/paffinity/linux/configure.m4
Jeff Squyres 42ec26e640 Update the copyright notices for IU and UTK.
This commit was SVN r7999.
2005-11-05 19:57:48 +00:00

72 строки
3.1 KiB
Bash

# -*- shell-script -*-
#
# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
# University Research and Technology
# Corporation. All rights reserved.
# Copyright (c) 2004-2005 The University of Tennessee and The University
# of Tennessee Research Foundation. All rights
# reserved.
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# MCA_paffinity_linux_CONFIG([action-if-found], [action-if-not-found])
# -----------------------------------------------------------
AC_DEFUN([MCA_paffinity_linux_CONFIG],[
# check for sched_setaffinity(), which originated in Linux kernel
# 2.5.8, but was back-ported in several distro's 2.4 kernels.
AC_CHECK_FUNC([sched_setaffinity],
[$1],
[$2])
#####################################################################
# See lengthy comment in paffinity_linux.h for an explanation of
# these tests.
#####################################################################
AH_TEMPLATE([HAVE_cpu_set_t], [Whether we have the cpu_set_t type or not])
AC_CHECK_TYPES([cpu_set_t],
[AC_DEFINE([HAVE_cpu_set_t], [1])
opal_paffinity_linux_have_cpu_set_t=1],
[opal_paffinity_linux_have_cpu_set_t=0],
[#include <sched.h>])
if test "$opal_paffinity_linux_have_cpu_set_t" = "1"; then
# Check to see if CPU_ZERO is functional (see comment in
# paffinity_linux.h)
AC_MSG_CHECKING([whether CPU_ZERO is broken])
AH_TEMPLATE([HAVE_CPU_ZERO], [Whether we have a functional CPU_ZERO macro or not])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <sched.h>],
[cpu_set_t foo; CPU_ZERO(&foo);])],
[AC_DEFINE(HAVE_CPU_ZERO, 1)
AC_MSG_RESULT([no])], [AC_MSG_RESULT([yes])])
# Now check whether sched_setaffinity() takes 2 or 3
# arguments (see comment in paffinity_linux.h)
AC_MSG_CHECKING([how many parameters sched_setaffinity() takes])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <sched.h>],
[cpu_set_t foo; sched_setaffinity(0, sizeof(foo), &foo);])],
[opal_paffinity_linux_ssnp=3],
[opal_paffinity_linux_ssnp=2])
AC_DEFINE_UNQUOTED(OPAL_PAFFINITY_LINUX_SCHED_SETAFF_NUM_PARAMS,
$opal_paffinity_linux_ssnp,
[How many parameters sched_setaffinity() takes (!)])
AC_MSG_RESULT([$opal_paffinity_linux_ssnp])
fi
# Clean up (not entirely necessary; just being social)
unset opal_paffinity_linux_have_cpu_set_t
unset opal_paffinity_linux_ssnp
])dnl