From ae33944bb419311a6dd4cbde2d4e35dbedf14e5d Mon Sep 17 00:00:00 2001
From: Moe Jette <jette1@llnl.gov>
Date: Tue, 20 Mar 2007 23:29:10 +0000
Subject: [PATCH] task/affinity using cpusets logic added, from Don Albert,
 Bull.     Cpuset libary must be installed and set "TaskPluginParam=cpusets"  
   in slurm.conf to enable.     NOTE: Currently disabled until additional
 testing is performed.     Enable by changing "HAVE_CPUSETTS_EXP" to
 "HAVE_CPUSETS" in     src/plugins/task/affinity/*.[ch].

---
 Makefile.in                                   |   3 +
 NEWS                                          |   6 +
 auxdir/Makefile.in                            |   3 +
 auxdir/x_ac_affinity.m4                       |  15 +
 config.h.in                                   |   3 +
 configure                                     | 168 ++++++++++--
 doc/Makefile.in                               |   3 +
 doc/html/Makefile.in                          |   3 +
 doc/man/Makefile.in                           |   3 +
 src/Makefile.in                               |   3 +
 src/api/Makefile.in                           |   3 +
 src/common/Makefile.in                        |   3 +
 src/plugins/Makefile.in                       |   3 +
 src/plugins/auth/Makefile.in                  |   3 +
 src/plugins/auth/authd/Makefile.in            |   3 +
 src/plugins/auth/munge/Makefile.in            |   3 +
 src/plugins/auth/none/Makefile.in             |   3 +
 src/plugins/checkpoint/Makefile.in            |   3 +
 src/plugins/checkpoint/aix/Makefile.in        |   3 +
 src/plugins/checkpoint/none/Makefile.in       |   3 +
 src/plugins/jobacct/Makefile.in               |   3 +
 src/plugins/jobacct/aix/Makefile.in           |   3 +
 src/plugins/jobacct/linux/Makefile.in         |   3 +
 src/plugins/jobacct/none/Makefile.in          |   3 +
 src/plugins/jobcomp/Makefile.in               |   3 +
 src/plugins/jobcomp/filetxt/Makefile.in       |   3 +
 src/plugins/jobcomp/none/Makefile.in          |   3 +
 src/plugins/jobcomp/script/Makefile.in        |   3 +
 src/plugins/mpi/Makefile.in                   |   3 +
 src/plugins/mpi/lam/Makefile.in               |   3 +
 src/plugins/mpi/mpichgm/Makefile.in           |   3 +
 src/plugins/mpi/mvapich/Makefile.in           |   3 +
 src/plugins/mpi/none/Makefile.in              |   3 +
 src/plugins/mpi/openmpi/Makefile.in           |   3 +
 src/plugins/proctrack/Makefile.in             |   3 +
 src/plugins/proctrack/aix/Makefile.in         |   3 +
 src/plugins/proctrack/linuxproc/Makefile.in   |   3 +
 src/plugins/proctrack/pgid/Makefile.in        |   3 +
 src/plugins/proctrack/rms/Makefile.in         |   3 +
 src/plugins/proctrack/sgi_job/Makefile.in     |   3 +
 src/plugins/sched/Makefile.in                 |   3 +
 src/plugins/sched/backfill/Makefile.in        |   3 +
 src/plugins/sched/builtin/Makefile.in         |   3 +
 src/plugins/sched/gang/Makefile.in            |   3 +
 src/plugins/sched/hold/Makefile.in            |   3 +
 src/plugins/sched/wiki/Makefile.in            |   3 +
 src/plugins/sched/wiki2/Makefile.in           |   3 +
 src/plugins/select/Makefile.in                |   3 +
 src/plugins/select/bluegene/Makefile.in       |   3 +
 .../bluegene/block_allocator/Makefile.in      |   3 +
 .../select/bluegene/plugin/Makefile.in        |   3 +
 src/plugins/select/cons_res/Makefile.in       |   3 +
 src/plugins/select/linear/Makefile.in         |   3 +
 src/plugins/switch/Makefile.in                |   3 +
 src/plugins/switch/elan/Makefile.in           |   3 +
 src/plugins/switch/federation/Makefile.in     |   3 +
 src/plugins/switch/none/Makefile.in           |   3 +
 src/plugins/task/Makefile.in                  |   3 +
 src/plugins/task/affinity/Makefile.am         |   2 +-
 src/plugins/task/affinity/Makefile.in         |   5 +-
 src/plugins/task/affinity/affinity.c          | 259 ++++++++++++++++++
 src/plugins/task/affinity/affinity.h          |  11 +-
 src/plugins/task/affinity/task_affinity.c     |  29 +-
 src/plugins/task/none/Makefile.in             |   3 +
 src/sacct/Makefile.in                         |   3 +
 src/salloc/Makefile.in                        |   3 +
 src/sattach/Makefile.in                       |   3 +
 src/sbatch/Makefile.in                        |   3 +
 src/sbcast/Makefile.in                        |   3 +
 src/scancel/Makefile.in                       |   3 +
 src/scontrol/Makefile.in                      |   3 +
 src/sinfo/Makefile.in                         |   3 +
 src/slaunch/Makefile.in                       |   3 +
 src/slurmctld/Makefile.in                     |   3 +
 src/slurmd/Makefile.in                        |   3 +
 src/slurmd/common/slurmstepd_init.c           |   2 +
 src/slurmd/slurmd/Makefile.in                 |   3 +
 src/slurmd/slurmd/slurmd.c                    |  27 +-
 src/slurmd/slurmd/slurmd.h                    |   3 +-
 src/slurmd/slurmstepd/Makefile.in             |   3 +
 src/smap/Makefile.in                          |   3 +
 src/squeue/Makefile.in                        |   3 +
 src/srun/Makefile.in                          |   3 +
 src/strigger/Makefile.in                      |   3 +
 src/sview/Makefile.in                         |   3 +
 testsuite/Makefile.in                         |   3 +
 testsuite/expect/Makefile.in                  |   3 +
 testsuite/slurm_unit/Makefile.in              |   3 +
 testsuite/slurm_unit/api/Makefile.in          |   3 +
 testsuite/slurm_unit/api/manual/Makefile.in   |   3 +
 testsuite/slurm_unit/common/Makefile.in       |   3 +
 testsuite/slurm_unit/slurmctld/Makefile.in    |   3 +
 testsuite/slurm_unit/slurmd/Makefile.in       |   3 +
 93 files changed, 733 insertions(+), 40 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 07c96bb7964..66a51e5fa15 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -121,6 +121,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -149,6 +150,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/NEWS b/NEWS
index 1dea125cd26..3f78e6d5822 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,12 @@ documents those changes that are of interest to users and admins.
 
 * Changes in SLURM 1.2.3
 ========================
+ -- task/affinity using cpusets logic added, from Don Albert, Bull.
+    Cpuset libary must be installed and set "TaskPluginParam=cpusets"
+    in slurm.conf to enable.
+    NOTE: Currently disabled until additional testing is performed. 
+    Enable by changing "HAVE_CPUSETTS_EXP" to "HAVE_CPUSETS" in 
+    src/plugins/task/affinity/*.[ch].
 
 * Changes in SLURM 1.2.2
 ========================
diff --git a/auxdir/Makefile.in b/auxdir/Makefile.in
index 4d1309ade50..75f5489b00a 100644
--- a/auxdir/Makefile.in
+++ b/auxdir/Makefile.in
@@ -87,6 +87,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -115,6 +116,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/auxdir/x_ac_affinity.m4 b/auxdir/x_ac_affinity.m4
index 638a6175ee2..a7c2a04a304 100644
--- a/auxdir/x_ac_affinity.m4
+++ b/auxdir/x_ac_affinity.m4
@@ -60,6 +60,21 @@ AC_DEFUN([X_AC_AFFINITY], [
   fi
 
 
+#
+# Test for CPUSET library functions and set the definitions
+#
+  AC_CHECK_LIB([cpuset],
+        [cs_init],
+        [ac_have_cpuset=yes; CPUSET_LIBS="-lcpuset"])
+ 
+  AC_SUBST(CPUSET_LIBS)
+  AM_CONDITIONAL(HAVE_CPUSETS, test "x$ac_have_cpuset" = "xyes")
+  if test "x$ac_have_cpuset" = "xyes"; then
+    AC_DEFINE(HAVE_CPUSETS, 1, [define if you have the cpuset library])
+  else
+    AC_MSG_WARN([Unable to locate CPUSET memory affinity functions])
+  fi
+
 #
 # Test for other affinity functions as appropriate
 # TBD
diff --git a/config.h.in b/config.h.in
index f470066dff3..de2686b6abb 100644
--- a/config.h.in
+++ b/config.h.in
@@ -21,6 +21,9 @@
 /* Define to 1 if have Blue Gene files */
 #undef HAVE_BG_FILES
 
+/* define if you have the cpuset library */
+#undef HAVE_CPUSETS
+
 /* Define to 1 if you have the <curses.h> header file. */
 #undef HAVE_CURSES_H
 
diff --git a/configure b/configure
index 07303583121..3f22d808b69 100755
--- a/configure
+++ b/configure
@@ -885,6 +885,9 @@ NUMA_LIBS
 HAVE_NUMA_TRUE
 HAVE_NUMA_FALSE
 PLPA_LIBS
+CPUSET_LIBS
+HAVE_CPUSETS_TRUE
+HAVE_CPUSETS_FALSE
 HAVE_SCHED_SETAFFINITY_TRUE
 HAVE_SCHED_SETAFFINITY_FALSE
 PAM_LIBS
@@ -7501,7 +7504,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 7504 "configure"' > conftest.$ac_ext
+  echo '#line 7507 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -9383,11 +9386,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:9386: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:9389: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:9390: \$? = $ac_status" >&5
+   echo "$as_me:9393: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -9651,11 +9654,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:9654: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:9657: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:9658: \$? = $ac_status" >&5
+   echo "$as_me:9661: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -9755,11 +9758,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:9758: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:9761: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:9762: \$? = $ac_status" >&5
+   echo "$as_me:9765: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -12196,7 +12199,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 12199 "configure"
+#line 12202 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -12296,7 +12299,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 12299 "configure"
+#line 12302 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -14664,11 +14667,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14667: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14670: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:14671: \$? = $ac_status" >&5
+   echo "$as_me:14674: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -14768,11 +14771,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14771: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:14774: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:14775: \$? = $ac_status" >&5
+   echo "$as_me:14778: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -16329,11 +16332,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16332: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16335: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16336: \$? = $ac_status" >&5
+   echo "$as_me:16339: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -16433,11 +16436,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16436: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:16439: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:16440: \$? = $ac_status" >&5
+   echo "$as_me:16443: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -18652,11 +18655,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:18655: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:18658: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:18659: \$? = $ac_status" >&5
+   echo "$as_me:18662: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -18920,11 +18923,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:18923: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:18926: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:18927: \$? = $ac_status" >&5
+   echo "$as_me:18930: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -19024,11 +19027,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:19027: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:19030: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:19031: \$? = $ac_status" >&5
+   echo "$as_me:19034: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -23106,6 +23109,113 @@ echo "$as_me: WARNING: Unable to locate PLPA processor affinity functions" >&2;}
   fi
 
 
+#
+# Test for CPUSET library functions and set the definitions
+#
+  { echo "$as_me:$LINENO: checking for cs_init in -lcpuset" >&5
+echo $ECHO_N "checking for cs_init in -lcpuset... $ECHO_C" >&6; }
+if test "${ac_cv_lib_cpuset_cs_init+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcpuset  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char cs_init ();
+int
+main ()
+{
+return cs_init ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_cpuset_cs_init=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_lib_cpuset_cs_init=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_lib_cpuset_cs_init" >&5
+echo "${ECHO_T}$ac_cv_lib_cpuset_cs_init" >&6; }
+if test $ac_cv_lib_cpuset_cs_init = yes; then
+  ac_have_cpuset=yes; CPUSET_LIBS="-lcpuset"
+fi
+
+
+
+
+
+if test "x$ac_have_cpuset" = "xyes"; then
+  HAVE_CPUSETS_TRUE=
+  HAVE_CPUSETS_FALSE='#'
+else
+  HAVE_CPUSETS_TRUE='#'
+  HAVE_CPUSETS_FALSE=
+fi
+
+  if test "x$ac_have_cpuset" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_CPUSETS 1
+_ACEOF
+
+  else
+    { echo "$as_me:$LINENO: WARNING: Unable to locate CPUSET memory affinity functions" >&5
+echo "$as_me: WARNING: Unable to locate CPUSET memory affinity functions" >&2;}
+  fi
+
 #
 # Test for other affinity functions as appropriate
 # TBD
@@ -27638,6 +27748,13 @@ echo "$as_me: error: conditional \"HAVE_NUMA\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${HAVE_CPUSETS_TRUE}" && test -z "${HAVE_CPUSETS_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"HAVE_CPUSETS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"HAVE_CPUSETS\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${HAVE_SCHED_SETAFFINITY_TRUE}" && test -z "${HAVE_SCHED_SETAFFINITY_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"HAVE_SCHED_SETAFFINITY\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -28491,6 +28608,9 @@ NUMA_LIBS!$NUMA_LIBS$ac_delim
 HAVE_NUMA_TRUE!$HAVE_NUMA_TRUE$ac_delim
 HAVE_NUMA_FALSE!$HAVE_NUMA_FALSE$ac_delim
 PLPA_LIBS!$PLPA_LIBS$ac_delim
+CPUSET_LIBS!$CPUSET_LIBS$ac_delim
+HAVE_CPUSETS_TRUE!$HAVE_CPUSETS_TRUE$ac_delim
+HAVE_CPUSETS_FALSE!$HAVE_CPUSETS_FALSE$ac_delim
 HAVE_SCHED_SETAFFINITY_TRUE!$HAVE_SCHED_SETAFFINITY_TRUE$ac_delim
 HAVE_SCHED_SETAFFINITY_FALSE!$HAVE_SCHED_SETAFFINITY_FALSE$ac_delim
 PAM_LIBS!$PAM_LIBS$ac_delim
@@ -28544,7 +28664,7 @@ WITH_AUTHD_FALSE!$WITH_AUTHD_FALSE$ac_delim
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 87; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 90; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
diff --git a/doc/Makefile.in b/doc/Makefile.in
index d83f48633fa..d606401fdb7 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -95,6 +95,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -123,6 +124,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/doc/html/Makefile.in b/doc/html/Makefile.in
index f9cef1993c5..9412c4683c2 100644
--- a/doc/html/Makefile.in
+++ b/doc/html/Makefile.in
@@ -97,6 +97,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -125,6 +126,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/doc/man/Makefile.in b/doc/man/Makefile.in
index ada9a403160..4a0e1349d03 100644
--- a/doc/man/Makefile.in
+++ b/doc/man/Makefile.in
@@ -94,6 +94,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -122,6 +123,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/Makefile.in b/src/Makefile.in
index c3f0d59f342..424e4a7b339 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -95,6 +95,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -123,6 +124,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/api/Makefile.in b/src/api/Makefile.in
index 7118398f756..7dacb0dc204 100644
--- a/src/api/Makefile.in
+++ b/src/api/Makefile.in
@@ -131,6 +131,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -159,6 +160,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/common/Makefile.in b/src/common/Makefile.in
index eb901a3d6a5..b1f701ede8d 100644
--- a/src/common/Makefile.in
+++ b/src/common/Makefile.in
@@ -161,6 +161,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -189,6 +190,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/Makefile.in b/src/plugins/Makefile.in
index b52f35ec6da..85028f18abb 100644
--- a/src/plugins/Makefile.in
+++ b/src/plugins/Makefile.in
@@ -95,6 +95,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -123,6 +124,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/auth/Makefile.in b/src/plugins/auth/Makefile.in
index eda07aeb7fd..cdb5ed94ce7 100644
--- a/src/plugins/auth/Makefile.in
+++ b/src/plugins/auth/Makefile.in
@@ -97,6 +97,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -125,6 +126,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/auth/authd/Makefile.in b/src/plugins/auth/authd/Makefile.in
index f8f6ff5e89f..478d79161ad 100644
--- a/src/plugins/auth/authd/Makefile.in
+++ b/src/plugins/auth/authd/Makefile.in
@@ -115,6 +115,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -143,6 +144,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/auth/munge/Makefile.in b/src/plugins/auth/munge/Makefile.in
index 14292eeb5f3..5ed32945f51 100644
--- a/src/plugins/auth/munge/Makefile.in
+++ b/src/plugins/auth/munge/Makefile.in
@@ -116,6 +116,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -144,6 +145,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/auth/none/Makefile.in b/src/plugins/auth/none/Makefile.in
index a77438ad5ae..1acefc98480 100644
--- a/src/plugins/auth/none/Makefile.in
+++ b/src/plugins/auth/none/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/checkpoint/Makefile.in b/src/plugins/checkpoint/Makefile.in
index 67f4f0b6092..aa106e3d982 100644
--- a/src/plugins/checkpoint/Makefile.in
+++ b/src/plugins/checkpoint/Makefile.in
@@ -97,6 +97,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -125,6 +126,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/checkpoint/aix/Makefile.in b/src/plugins/checkpoint/aix/Makefile.in
index c4e99f4a0af..972e899c330 100644
--- a/src/plugins/checkpoint/aix/Makefile.in
+++ b/src/plugins/checkpoint/aix/Makefile.in
@@ -119,6 +119,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -147,6 +148,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/checkpoint/none/Makefile.in b/src/plugins/checkpoint/none/Makefile.in
index 5ebf7620064..3fc74fc67f1 100644
--- a/src/plugins/checkpoint/none/Makefile.in
+++ b/src/plugins/checkpoint/none/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/jobacct/Makefile.in b/src/plugins/jobacct/Makefile.in
index a3ede772c96..3b04b386939 100644
--- a/src/plugins/jobacct/Makefile.in
+++ b/src/plugins/jobacct/Makefile.in
@@ -97,6 +97,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -125,6 +126,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/jobacct/aix/Makefile.in b/src/plugins/jobacct/aix/Makefile.in
index caf65b265ea..8565e6c775b 100644
--- a/src/plugins/jobacct/aix/Makefile.in
+++ b/src/plugins/jobacct/aix/Makefile.in
@@ -115,6 +115,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -143,6 +144,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/jobacct/linux/Makefile.in b/src/plugins/jobacct/linux/Makefile.in
index 3e5a298b30e..2407e9404cd 100644
--- a/src/plugins/jobacct/linux/Makefile.in
+++ b/src/plugins/jobacct/linux/Makefile.in
@@ -115,6 +115,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -143,6 +144,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/jobacct/none/Makefile.in b/src/plugins/jobacct/none/Makefile.in
index cd5757b013d..ddcb56ae826 100644
--- a/src/plugins/jobacct/none/Makefile.in
+++ b/src/plugins/jobacct/none/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/jobcomp/Makefile.in b/src/plugins/jobcomp/Makefile.in
index ac417d086df..cea4e05c774 100644
--- a/src/plugins/jobcomp/Makefile.in
+++ b/src/plugins/jobcomp/Makefile.in
@@ -97,6 +97,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -125,6 +126,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/jobcomp/filetxt/Makefile.in b/src/plugins/jobcomp/filetxt/Makefile.in
index 2b4fdba8047..23166820df9 100644
--- a/src/plugins/jobcomp/filetxt/Makefile.in
+++ b/src/plugins/jobcomp/filetxt/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/jobcomp/none/Makefile.in b/src/plugins/jobcomp/none/Makefile.in
index e656c58c8ea..801f0b4ec34 100644
--- a/src/plugins/jobcomp/none/Makefile.in
+++ b/src/plugins/jobcomp/none/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/jobcomp/script/Makefile.in b/src/plugins/jobcomp/script/Makefile.in
index 871dba84763..7e3655f2e15 100644
--- a/src/plugins/jobcomp/script/Makefile.in
+++ b/src/plugins/jobcomp/script/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/mpi/Makefile.in b/src/plugins/mpi/Makefile.in
index 223ebbff58d..415064414ae 100644
--- a/src/plugins/mpi/Makefile.in
+++ b/src/plugins/mpi/Makefile.in
@@ -97,6 +97,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -125,6 +126,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/mpi/lam/Makefile.in b/src/plugins/mpi/lam/Makefile.in
index 2b6b6adc0e4..0725313d826 100644
--- a/src/plugins/mpi/lam/Makefile.in
+++ b/src/plugins/mpi/lam/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/mpi/mpichgm/Makefile.in b/src/plugins/mpi/mpichgm/Makefile.in
index 1c571181f5c..ebe193e17e3 100644
--- a/src/plugins/mpi/mpichgm/Makefile.in
+++ b/src/plugins/mpi/mpichgm/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/mpi/mvapich/Makefile.in b/src/plugins/mpi/mvapich/Makefile.in
index 99c9c380d02..b1916c17e1d 100644
--- a/src/plugins/mpi/mvapich/Makefile.in
+++ b/src/plugins/mpi/mvapich/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/mpi/none/Makefile.in b/src/plugins/mpi/none/Makefile.in
index 6bc6c33c09e..d456e58ca34 100644
--- a/src/plugins/mpi/none/Makefile.in
+++ b/src/plugins/mpi/none/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/mpi/openmpi/Makefile.in b/src/plugins/mpi/openmpi/Makefile.in
index a81d6d91eaa..9906d2447f2 100644
--- a/src/plugins/mpi/openmpi/Makefile.in
+++ b/src/plugins/mpi/openmpi/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/proctrack/Makefile.in b/src/plugins/proctrack/Makefile.in
index a9b4fc0c4f8..00543188ff4 100644
--- a/src/plugins/proctrack/Makefile.in
+++ b/src/plugins/proctrack/Makefile.in
@@ -97,6 +97,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -125,6 +126,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/proctrack/aix/Makefile.in b/src/plugins/proctrack/aix/Makefile.in
index 827bbf4468a..6200463bc94 100644
--- a/src/plugins/proctrack/aix/Makefile.in
+++ b/src/plugins/proctrack/aix/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/proctrack/linuxproc/Makefile.in b/src/plugins/proctrack/linuxproc/Makefile.in
index 4429810c3e9..7e2c8922c4b 100644
--- a/src/plugins/proctrack/linuxproc/Makefile.in
+++ b/src/plugins/proctrack/linuxproc/Makefile.in
@@ -115,6 +115,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -143,6 +144,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/proctrack/pgid/Makefile.in b/src/plugins/proctrack/pgid/Makefile.in
index ac60fb454ed..75de7d2d562 100644
--- a/src/plugins/proctrack/pgid/Makefile.in
+++ b/src/plugins/proctrack/pgid/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/proctrack/rms/Makefile.in b/src/plugins/proctrack/rms/Makefile.in
index 4dd637f1679..2946154b527 100644
--- a/src/plugins/proctrack/rms/Makefile.in
+++ b/src/plugins/proctrack/rms/Makefile.in
@@ -115,6 +115,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -143,6 +144,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/proctrack/sgi_job/Makefile.in b/src/plugins/proctrack/sgi_job/Makefile.in
index 97846679d72..1c7285d3d4c 100644
--- a/src/plugins/proctrack/sgi_job/Makefile.in
+++ b/src/plugins/proctrack/sgi_job/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/sched/Makefile.in b/src/plugins/sched/Makefile.in
index a776a50a41b..0b5aa9e28be 100644
--- a/src/plugins/sched/Makefile.in
+++ b/src/plugins/sched/Makefile.in
@@ -97,6 +97,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -125,6 +126,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/sched/backfill/Makefile.in b/src/plugins/sched/backfill/Makefile.in
index 252a2cabbc1..87402ec9d0f 100644
--- a/src/plugins/sched/backfill/Makefile.in
+++ b/src/plugins/sched/backfill/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/sched/builtin/Makefile.in b/src/plugins/sched/builtin/Makefile.in
index 10037fe6ce3..e8ec35b24aa 100644
--- a/src/plugins/sched/builtin/Makefile.in
+++ b/src/plugins/sched/builtin/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/sched/gang/Makefile.in b/src/plugins/sched/gang/Makefile.in
index 2ab48c3005f..13d3b0b841e 100644
--- a/src/plugins/sched/gang/Makefile.in
+++ b/src/plugins/sched/gang/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/sched/hold/Makefile.in b/src/plugins/sched/hold/Makefile.in
index 1b3de86f0a9..348445ae7de 100644
--- a/src/plugins/sched/hold/Makefile.in
+++ b/src/plugins/sched/hold/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/sched/wiki/Makefile.in b/src/plugins/sched/wiki/Makefile.in
index 0bcb08384d3..0e1c334d4ec 100644
--- a/src/plugins/sched/wiki/Makefile.in
+++ b/src/plugins/sched/wiki/Makefile.in
@@ -115,6 +115,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -143,6 +144,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/sched/wiki2/Makefile.in b/src/plugins/sched/wiki2/Makefile.in
index d17542d4760..8535b875c2c 100644
--- a/src/plugins/sched/wiki2/Makefile.in
+++ b/src/plugins/sched/wiki2/Makefile.in
@@ -118,6 +118,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -146,6 +147,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/select/Makefile.in b/src/plugins/select/Makefile.in
index d4cf64bbcd9..a9f25fc33d2 100644
--- a/src/plugins/select/Makefile.in
+++ b/src/plugins/select/Makefile.in
@@ -97,6 +97,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -125,6 +126,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/select/bluegene/Makefile.in b/src/plugins/select/bluegene/Makefile.in
index 1725110904f..76934b2a0f4 100644
--- a/src/plugins/select/bluegene/Makefile.in
+++ b/src/plugins/select/bluegene/Makefile.in
@@ -97,6 +97,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -125,6 +126,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/select/bluegene/block_allocator/Makefile.in b/src/plugins/select/bluegene/block_allocator/Makefile.in
index e21a68ce71f..3b2d88d2c76 100644
--- a/src/plugins/select/bluegene/block_allocator/Makefile.in
+++ b/src/plugins/select/bluegene/block_allocator/Makefile.in
@@ -107,6 +107,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -135,6 +136,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/select/bluegene/plugin/Makefile.in b/src/plugins/select/bluegene/plugin/Makefile.in
index b2fb831627b..a29db9edb09 100644
--- a/src/plugins/select/bluegene/plugin/Makefile.in
+++ b/src/plugins/select/bluegene/plugin/Makefile.in
@@ -142,6 +142,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = -DBLUEGENE_CONFIG_FILE=\"$(sysconfdir)/bluegene.conf\"
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -170,6 +171,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/select/cons_res/Makefile.in b/src/plugins/select/cons_res/Makefile.in
index c2c4cb9d2d7..cbb2d1a1e87 100644
--- a/src/plugins/select/cons_res/Makefile.in
+++ b/src/plugins/select/cons_res/Makefile.in
@@ -115,6 +115,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -143,6 +144,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/select/linear/Makefile.in b/src/plugins/select/linear/Makefile.in
index 339b366c47f..d7fe33bc9b7 100644
--- a/src/plugins/select/linear/Makefile.in
+++ b/src/plugins/select/linear/Makefile.in
@@ -115,6 +115,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -143,6 +144,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/switch/Makefile.in b/src/plugins/switch/Makefile.in
index 27f77609378..4c9220364fe 100644
--- a/src/plugins/switch/Makefile.in
+++ b/src/plugins/switch/Makefile.in
@@ -97,6 +97,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -125,6 +126,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/switch/elan/Makefile.in b/src/plugins/switch/elan/Makefile.in
index 78214c62bc2..7698c008c76 100644
--- a/src/plugins/switch/elan/Makefile.in
+++ b/src/plugins/switch/elan/Makefile.in
@@ -120,6 +120,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -148,6 +149,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/switch/federation/Makefile.in b/src/plugins/switch/federation/Makefile.in
index 2ee80ba915d..376e4e13f9e 100644
--- a/src/plugins/switch/federation/Makefile.in
+++ b/src/plugins/switch/federation/Makefile.in
@@ -124,6 +124,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = -DFEDERATION_CONFIG_FILE=\"$(sysconfdir)/federation.conf\"
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -152,6 +153,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/switch/none/Makefile.in b/src/plugins/switch/none/Makefile.in
index e3f951ce348..eb70b643936 100644
--- a/src/plugins/switch/none/Makefile.in
+++ b/src/plugins/switch/none/Makefile.in
@@ -115,6 +115,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -143,6 +144,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/task/Makefile.in b/src/plugins/task/Makefile.in
index 1595f6455ff..12a6c6ccaa9 100644
--- a/src/plugins/task/Makefile.in
+++ b/src/plugins/task/Makefile.in
@@ -97,6 +97,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -125,6 +126,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/plugins/task/affinity/Makefile.am b/src/plugins/task/affinity/Makefile.am
index 604aa2aaa80..36552680c36 100644
--- a/src/plugins/task/affinity/Makefile.am
+++ b/src/plugins/task/affinity/Makefile.am
@@ -15,7 +15,7 @@ task_affinity_la_SOURCES = 	\
 	numa.c \
 	schedutils.c \
 	task_affinity.c
-task_affinity_la_LDFLAGS = $(SO_LDFLAGS) $(NUMA_LIBS) $(PLPA_LIBS) $(PLUGIN_FLAGS)
+task_affinity_la_LDFLAGS = $(SO_LDFLAGS) $(NUMA_LIBS) $(PLPA_LIBS) $(CPUSET_LIBS) $(PLUGIN_FLAGS)
 task_affinity_la_LIBADD  = $(top_builddir)/src/common/libcommon.la
 else
 pkglib_LTLIBRARIES =
diff --git a/src/plugins/task/affinity/Makefile.in b/src/plugins/task/affinity/Makefile.in
index 684bbec4137..0329e66c82f 100644
--- a/src/plugins/task/affinity/Makefile.in
+++ b/src/plugins/task/affinity/Makefile.in
@@ -124,6 +124,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -152,6 +153,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
@@ -302,7 +305,7 @@ INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/src/common
 @HAVE_SCHED_SETAFFINITY_TRUE@	schedutils.c \
 @HAVE_SCHED_SETAFFINITY_TRUE@	task_affinity.c
 
-@HAVE_SCHED_SETAFFINITY_TRUE@task_affinity_la_LDFLAGS = $(SO_LDFLAGS) $(NUMA_LIBS) $(PLPA_LIBS) $(PLUGIN_FLAGS)
+@HAVE_SCHED_SETAFFINITY_TRUE@task_affinity_la_LDFLAGS = $(SO_LDFLAGS) $(NUMA_LIBS) $(PLPA_LIBS) $(CPUSET_LIBS) $(PLUGIN_FLAGS)
 @HAVE_SCHED_SETAFFINITY_TRUE@task_affinity_la_LIBADD = $(top_builddir)/src/common/libcommon.la
 @HAVE_SCHED_SETAFFINITY_FALSE@EXTRA_task_affinity_la_SOURCES = \
 @HAVE_SCHED_SETAFFINITY_FALSE@	affinity.c \
diff --git a/src/plugins/task/affinity/affinity.c b/src/plugins/task/affinity/affinity.c
index 1548c997ca1..03103649da3 100644
--- a/src/plugins/task/affinity/affinity.c
+++ b/src/plugins/task/affinity/affinity.c
@@ -217,3 +217,262 @@ int slurm_getaffinity(pid_t pid, size_t size, cpu_set_t *mask)
 	return (rval);
 }
 
+#ifdef HAVE_CPUSETS_EXP
+int get_cpuset_mask(cs_cpumask_t *mask, slurmd_job_t *job)
+{
+	int nbr_task_cpus;
+	int nummasks, i, j;
+	char *curstr, *selstr;
+	char mstr[1 + CPU_SETSIZE / 4];
+	int local_id = job->envtp->localid;
+
+	debug2("get_cpuset_mask bind_type = %d, bind_list = %s\n", 
+		job->cpu_bind_type, job->cpu_bind);
+
+	if ((!job->cpu_bind_type) || (job->cpu_bind_type & CPU_BIND_NONE)) {
+		return false;
+	}
+
+	nbr_task_cpus = job->cpus / job->ntasks;
+
+	if (job->cpu_bind_type & CPU_BIND_RANK) {
+		for (i=0;i<nbr_task_cpus;i++){
+			cs_cpumask_add(mask, local_id * nbr_task_cpus + i);
+		}
+		return true;
+	}
+
+	nummasks = 0;
+	selstr = NULL;
+
+	if (job->cpu_bind_type & CPU_BIND_MAPCPU) {
+		unsigned int mycpu = 0;
+		/* find first entry for this task */
+		curstr = job->cpu_bind;
+		while (*curstr) {
+			if (nummasks == local_id*nbr_task_cpus) {
+				selstr = curstr;
+				break;
+			}
+			if (*curstr == ',')
+				nummasks++;
+			curstr++;
+		}
+		/* check if we found a cpu entry */
+		if (!selstr){
+			error("not enough entries in map_cpu:<list>");
+			return false;
+		}
+		/* add cpus to mask from list for "nbr_task_cpus" */
+		for (i=0;i<nbr_task_cpus;i++){
+			if (!*selstr){
+				error("not enough entries in map_cpu:<list>");
+				return false;
+			}
+			/* extract the selected mask from the list */
+			j = 0;
+			curstr = mstr;
+			while ((*selstr && *selstr != ',') && (j++ < (CPU_SETSIZE/4)))
+				*curstr++ = *selstr++;
+			*curstr = '\0';
+			if (*selstr == ',')
+				selstr++;
+			if (strncmp(mstr, "0x", 2) == 0) {
+				mycpu = strtoul (&(mstr[2]), NULL, 16);
+			} else {
+				mycpu = strtoul (mstr, NULL, 10);
+			}
+			cs_cpumask_add(mask, mycpu);
+		}
+		return true;
+	}
+
+	if (job->cpu_bind_type & CPU_BIND_MASKCPU) {
+		/* find mask entry for this task */
+		curstr = job->cpu_bind;
+		while (*curstr) {
+			if (nummasks == local_id) {
+				selstr = curstr;
+				break;
+			}
+			if (*curstr == ',')
+			        nummasks++;
+			curstr++;
+		}
+		/* check if we found a cpu entry */
+		if (!selstr){
+			error("not enough entries in mask_cpu:<list>");
+			return false;
+		}
+		/* extract the selected mask from the list */
+		j = 0;
+		curstr = mstr;
+		while ((*selstr && *selstr != ',') && (j++ < (CPU_SETSIZE/4)))
+			*curstr++ = *selstr++;
+		*curstr = '\0';
+		/* convert mask string into cpu_set_t mask */
+		if (str_to_cpuset( (cpu_set_t *) mask, mstr) < 0) {
+			error("str_to_cpuset %s", mstr);
+			return false;
+		}
+		return true;
+	}
+
+	return false;
+}
+
+int get_memset_mask(cs_memmask_t *mem_mask, cs_cpumask_t *cpu_mask, slurmd_job_t *job)
+{
+	cs_cpumask_t cur_mask, tst_mask;
+	int nbr_nodes, nummasks, i, j;
+	char *curstr, *selstr;
+	char mstr[1 + CPU_SETSIZE / 4];
+	int local_id = job->envtp->localid;
+
+	debug2("get_memset_mask bind_type = %d, bind_list = %s\n", 
+		job->mem_bind_type, job->mem_bind);
+
+	/* If "not specified" or "None" or "Rank", do not set a new memory mask in the CPUset  */
+	if ((!job->mem_bind_type) || (job->mem_bind_type & (MEM_BIND_NONE | MEM_BIND_RANK))) 
+		return false;
+
+	/* For now, make LOCAL and MAP_CPU the same */
+	if (job->mem_bind_type & (MEM_BIND_LOCAL | MEM_BIND_MAPCPU)) {
+		nbr_nodes = cs_nr_nodes();
+		for (i=0; i<nbr_nodes; i++) {
+			cs_get_node_cpus(i, &cur_mask);
+			cs_cpumask_and(&tst_mask, &cur_mask, cpu_mask);
+			if (!cs_cpumask_empty(&tst_mask)) {
+				cs_memmask_add(mem_mask, i);
+				debug2("added node = %d to mem mask %08x \n",i,*mem_mask);
+			}
+		}
+		
+		return true;
+	}
+	    
+	/* allow user to set specific memory masks */
+	if (job->mem_bind_type & MEM_BIND_MASKCPU) {
+		/* find mask entry for this task */
+		nummasks = 0;
+		selstr = NULL;
+
+		curstr = job->mem_bind;
+		while (*curstr) {
+			if (nummasks == local_id) {
+				selstr = curstr;
+				break;
+			}
+			if (*curstr == ',')
+			        nummasks++;
+			curstr++;
+		}
+		/* check if we found a mem entry */
+		if (!selstr){
+			error("not enough entries in mask_mem:<list>");
+			return false;
+		}
+		/* extract the selected mask from the list */
+		j = 0;
+		curstr = mstr;
+		while ((*selstr && *selstr != ',') && (j++ < (CPU_SETSIZE/4)))
+			*curstr++ = *selstr++;
+		*curstr = '\0';
+		/* convert mask string into cpu_set_t mask */
+		if (str_to_cpuset( (cpu_set_t *) mem_mask, mstr) < 0) {
+			error("str_to_cpuset %s", mstr);
+			return false;
+		}
+		return true;
+	}
+	return false;
+}
+
+int make_task_cpuset(slurmd_job_t *job, cs_cpumask_t *cpu_mask, cs_memmask_t *mem_mask){
+
+	char path[PATH_MAX];
+	char *current_cs = NULL;
+	int retval = 0;
+	int success = 0;
+
+	info("cpuset - cs_init called");
+	cs_init();
+
+	current_cs = cs_get_current();
+	if (!current_cs)
+		return -ENOMEM;
+
+	int l = snprintf(path, PATH_MAX, "%sslurm%u_%d", current_cs, job->jobid, 
+			 job->envtp->localid);
+	if (l > PATH_MAX) {
+		retval = -ENAMETOOLONG;
+		goto out;
+	}
+
+	debug("cpuset path = %s",path);
+
+	retval = cs_create(path);
+	if (retval < 0)
+		goto out;
+	retval = cs_set_autoclean(path, CS_AUTOCLEAN);
+	if (retval < 0)
+		goto out;
+
+	cs_lock_libcpuset();
+	retval = cs_set_cpus(path, *cpu_mask);
+	if (retval < 0)
+		debug3("cpuset - error on cs_set_cpus = %d %s",retval,cs_strerror(retval));
+	success = 1;
+
+	if (cs_supports_mem()) {
+
+		/* Check for mem_bind options */
+		if (get_memset_mask(mem_mask, cpu_mask, job)) {
+			debug("cpuset - mem_mask = %d (decimal) and %08x (hex)",
+				*mem_mask, *mem_mask);
+			retval = cs_set_mems(path, *mem_mask);
+			if (retval < 0) {
+				debug3("cpuset - error on cs_set_mems = %d %s",
+					retval,cs_strerror(retval));
+				success = 0;
+				goto out_created;
+			}
+		} else {
+			/* Copy parent of new cpuset (i.e current) mems mask */
+			retval = cs_get_mems(current_cs, mem_mask);
+			if (retval < 0) {
+				debug3("cpuset - error on cs_get_mems = %d %s",
+					retval,cs_strerror(retval));
+				success = 0;
+				goto out_created;
+			}
+			retval = cs_set_mems(path, *mem_mask);
+			if (retval < 0) {
+				debug3("cpuset - error on cs_set_mems = %d %s",
+					retval,cs_strerror(retval));
+				success = 0;
+				goto out_created;
+			}
+		}
+	}
+
+	retval = cs_add_task(path, job->envtp->task_pid);
+	if (retval < 0) {
+		debug3("cpuset - error on cs_add_task = %d %s",retval,cs_strerror(retval));
+	}
+
+ out_created:
+	if (!success)
+		cs_destroy(path);
+	cs_unlock_libcpuset();
+
+ out:
+	free(current_cs);
+
+	current_cs = cs_get_current();
+	debug("cpuset - exit make_task_cpuset retval = %d cpuset = %s",retval,current_cs);
+	free(current_cs);
+
+	return retval;
+}
+#endif
diff --git a/src/plugins/task/affinity/affinity.h b/src/plugins/task/affinity/affinity.h
index 6e5968b70c8..cad2f1cca5c 100644
--- a/src/plugins/task/affinity/affinity.h
+++ b/src/plugins/task/affinity/affinity.h
@@ -63,10 +63,14 @@
 #define __USE_GNU
 #include <sched.h> /* SMB */
 
-#if HAVE_STDLIB_H
+#ifdef HAVE_STDLIB_H
 #  include <stdlib.h>
 #endif
 
+#ifdef HAVE_CPUSETS_EXP
+#  include <cpuset.h>
+#endif
+
 #include <slurm/slurm_errno.h>
 #include "src/common/slurm_xlator.h"
 #include "src/slurmd/slurmd/slurmd.h"
@@ -91,6 +95,11 @@ void	slurm_chkaffinity(cpu_set_t *mask, slurmd_job_t *job, int statval);
 int	get_cpuset(cpu_set_t *mask, slurmd_job_t *job);
 int	slurm_setaffinity(pid_t pid, size_t size, const cpu_set_t *mask);
 int	slurm_getaffinity(pid_t pid, size_t size, cpu_set_t *mask);
+#ifdef HAVE_CPUSETS_EXP
+int	get_cpuset_mask(cs_cpumask_t *mask, slurmd_job_t *job);
+int	get_memset_mask(cs_memmask_t *mem_mask, cs_cpumask_t *cpu_mask, slurmd_job_t *job);
+int	make_task_cpuset(slurmd_job_t *job, cs_cpumask_t *cpu_mask, cs_memmask_t *mem_mask);
+#endif
 
 /*** from numa.c ***/
 #ifdef HAVE_NUMA
diff --git a/src/plugins/task/affinity/task_affinity.c b/src/plugins/task/affinity/task_affinity.c
index edb9ac76236..f0bcfda663b 100644
--- a/src/plugins/task/affinity/task_affinity.c
+++ b/src/plugins/task/affinity/task_affinity.c
@@ -156,6 +156,10 @@ int task_pre_launch ( slurmd_job_t *job )
 	debug("affinity task_pre_launch: %u.%u, task %d", 
 		job->jobid, job->stepid, job->envtp->procid);
 
+#ifdef HAVE_CPUSETS_EXP
+	if (!conf->use_cpusets) {
+	  info("Using sched_affinity for tasks");
+#endif
 	/*** CPU binding support ***/
 	if (job->cpu_bind_type) {	
 		cpu_set_t new_mask, cur_mask;
@@ -189,7 +193,30 @@ int task_pre_launch ( slurmd_job_t *job )
 		slurm_chk_memset(&cur_mask, job);
 	}
 #endif
-
+#ifdef HAVE_CPUSETS_EXP
+	}
+	else {
+		cs_cpumask_t cpu_mask;
+		cs_memmask_t mem_mask;
+
+		info("Using cpuset affinity for tasks");
+		debug("from job structure - nprocs=%u, ntasks=%u, cpus=%u",
+			job->nprocs, job->ntasks, job->cpus);
+		debug("from job->envtp - procid=%d, localid=%d, pid=%d",
+			job->envtp->procid, job->envtp->localid, job->envtp->task_pid);
+
+		cs_cpumask_clear(&cpu_mask);
+		cs_memmask_clear(&mem_mask);
+		if (get_cpuset_mask(&cpu_mask, job)) {
+			debug2("cpu_mask = %d (decimal) and %08x (hex)", cpu_mask, cpu_mask);
+			make_task_cpuset(job, &cpu_mask, &mem_mask);
+		}
+		slurm_chkaffinity(&cpu_mask, job, 0);
+#ifdef HAVE_NUMA
+		slurm_chk_memset(&mem_mask, job);
+#endif
+	}
+#endif
 	return SLURM_SUCCESS;
 }
 
diff --git a/src/plugins/task/none/Makefile.in b/src/plugins/task/none/Makefile.in
index e2dbec3f668..751ce1a0bcf 100644
--- a/src/plugins/task/none/Makefile.in
+++ b/src/plugins/task/none/Makefile.in
@@ -115,6 +115,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -143,6 +144,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/sacct/Makefile.in b/src/sacct/Makefile.in
index c2dbb405010..40a16dd5c9a 100644
--- a/src/sacct/Makefile.in
+++ b/src/sacct/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/salloc/Makefile.in b/src/salloc/Makefile.in
index dd193ce81f6..3cad5b368b6 100644
--- a/src/salloc/Makefile.in
+++ b/src/salloc/Makefile.in
@@ -110,6 +110,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -138,6 +139,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/sattach/Makefile.in b/src/sattach/Makefile.in
index da503720737..3ef7ba1f93d 100644
--- a/src/sattach/Makefile.in
+++ b/src/sattach/Makefile.in
@@ -111,6 +111,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -139,6 +140,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/sbatch/Makefile.in b/src/sbatch/Makefile.in
index 6c869b2a98c..cfe9147a075 100644
--- a/src/sbatch/Makefile.in
+++ b/src/sbatch/Makefile.in
@@ -110,6 +110,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -138,6 +139,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/sbcast/Makefile.in b/src/sbcast/Makefile.in
index bd72a459215..05f2f8246cd 100644
--- a/src/sbcast/Makefile.in
+++ b/src/sbcast/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/scancel/Makefile.in b/src/scancel/Makefile.in
index bc59c6482be..6dd39734a5a 100644
--- a/src/scancel/Makefile.in
+++ b/src/scancel/Makefile.in
@@ -113,6 +113,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -141,6 +142,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/scontrol/Makefile.in b/src/scontrol/Makefile.in
index a6a56838392..736c041305f 100644
--- a/src/scontrol/Makefile.in
+++ b/src/scontrol/Makefile.in
@@ -113,6 +113,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -141,6 +142,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/sinfo/Makefile.in b/src/sinfo/Makefile.in
index 20dde97862d..d16b829821f 100644
--- a/src/sinfo/Makefile.in
+++ b/src/sinfo/Makefile.in
@@ -115,6 +115,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -143,6 +144,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/slaunch/Makefile.in b/src/slaunch/Makefile.in
index c3073dff9b4..0203d7789b6 100644
--- a/src/slaunch/Makefile.in
+++ b/src/slaunch/Makefile.in
@@ -112,6 +112,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -140,6 +141,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/slurmctld/Makefile.in b/src/slurmctld/Makefile.in
index a26fcd931bb..f2ec3854936 100644
--- a/src/slurmctld/Makefile.in
+++ b/src/slurmctld/Makefile.in
@@ -117,6 +117,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -145,6 +146,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/slurmd/Makefile.in b/src/slurmd/Makefile.in
index e0ff9986d00..a515e91437d 100644
--- a/src/slurmd/Makefile.in
+++ b/src/slurmd/Makefile.in
@@ -95,6 +95,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -123,6 +124,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/slurmd/common/slurmstepd_init.c b/src/slurmd/common/slurmstepd_init.c
index 987799cc5d4..903520a8d34 100644
--- a/src/slurmd/common/slurmstepd_init.c
+++ b/src/slurmd/common/slurmstepd_init.c
@@ -55,6 +55,7 @@ extern void pack_slurmd_conf_lite(slurmd_conf_t *conf, Buf buffer)
 	pack32(conf->daemonize, buffer);
 	pack32((uint32_t)conf->slurm_user_id, buffer);
 	pack16(conf->use_pam, buffer);
+	pack16(conf->use_cpusets, buffer);
 }
 
 extern int unpack_slurmd_conf_lite_no_alloc(slurmd_conf_t *conf, Buf buffer)
@@ -79,6 +80,7 @@ extern int unpack_slurmd_conf_lite_no_alloc(slurmd_conf_t *conf, Buf buffer)
 	safe_unpack32(&uint32_tmp, buffer);
 	conf->slurm_user_id = (uid_t)uint32_tmp;
 	safe_unpack16(&conf->use_pam, buffer);
+	safe_unpack16(&conf->use_cpusets, buffer);
 	return SLURM_SUCCESS;
 
 unpack_error:
diff --git a/src/slurmd/slurmd/Makefile.in b/src/slurmd/slurmd/Makefile.in
index cec831bbf6e..7fe185b2905 100644
--- a/src/slurmd/slurmd/Makefile.in
+++ b/src/slurmd/slurmd/Makefile.in
@@ -127,6 +127,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = -DLIBSLURM_SO=\"$(libdir)/libslurm.so\"
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -155,6 +156,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/slurmd/slurmd/slurmd.c b/src/slurmd/slurmd/slurmd.c
index 733e8a257a4..e1295e9720b 100644
--- a/src/slurmd/slurmd/slurmd.c
+++ b/src/slurmd/slurmd/slurmd.c
@@ -619,7 +619,10 @@ _read_config()
 	if (cf->slurmctld_port == 0)
 		fatal("Unable to establish controller port");
 	conf->use_pam = cf->use_pam;
-	
+
+	if (cf->task_plugin_param & TASK_PARAM_CPUSETS)
+		conf->use_cpusets = 1;
+
 	slurm_mutex_unlock(&conf->config_mutex);
 	slurm_conf_unlock();
 }
@@ -663,19 +666,19 @@ _print_conf()
 	debug3("CacheGroups = %d",       cf->cache_groups);
 	debug3("Confile     = `%s'",     conf->conffile);
 	debug3("Debug       = %d",       cf->slurmd_debug);
-	debug3("CPUs        = %-2d (CF: %2d, HW: %2d)",
+	debug3("CPUs        = %-2u (CF: %2u, HW: %2u)",
 	       conf->cpus,
 	       conf->conf_cpus,
 	       conf->actual_cpus);
-	debug3("Sockets     = %-2d (CF: %2d, HW: %2d)",
+	debug3("Sockets     = %-2u (CF: %2u, HW: %2u)",
 	       conf->sockets,
 	       conf->conf_sockets,
 	       conf->actual_sockets);
-	debug3("Cores       = %-2d (CF: %2d, HW: %2d)",
+	debug3("Cores       = %-2u (CF: %2u, HW: %2u)",
 	       conf->cores,
 	       conf->conf_cores,
 	       conf->actual_cores);
-	debug3("Threads     = %-2d (CF: %2d, HW: %2d)",
+	debug3("Threads     = %-2u (CF: %2u, HW: %2u)",
 	       conf->threads,
 	       conf->conf_threads,
 	       conf->actual_threads);
@@ -683,7 +686,7 @@ _print_conf()
 	str[0] = '\0';
 	for (i = 0; i < conf->block_map_size; i++) {
 		char id[10];	       
-		sprintf(id, "%d,", conf->block_map[i]);
+		sprintf(id, "%u,", conf->block_map[i]);
 		strcat(str, id);
 	}
 	str[strlen(str)-1] = '\0';		/* trim trailing "," */
@@ -691,14 +694,14 @@ _print_conf()
 	str[0] = '\0';
 	for (i = 0; i < conf->block_map_size; i++) {
 		char id[10];	       
-		sprintf(id, "%d,", conf->block_map_inv[i]);
+		sprintf(id, "%u,", conf->block_map_inv[i]);
 		strcat(str, id);
 	}
 	str[strlen(str)-1] = '\0';		/* trim trailing "," */
 	debug3("Inverse Map = %s", str);
 	xfree(str);
-	debug3("RealMemory  = %d",       conf->real_memory_size);
-	debug3("TmpDisk     = %d",       conf->tmp_disk_space);
+	debug3("RealMemory  = %u",       conf->real_memory_size);
+	debug3("TmpDisk     = %u",       conf->tmp_disk_space);
 	debug3("Epilog      = `%s'",     conf->epilog);
 	debug3("Logfile     = `%s'",     cf->slurmd_logfile);
 	debug3("NodeName    = %s",       conf->node_name);
@@ -711,8 +714,9 @@ _print_conf()
 	debug3("Slurm UID   = %u",       conf->slurm_user_id);
 	debug3("TaskProlog  = `%s'",     conf->task_prolog);
 	debug3("TaskEpilog  = `%s'",     conf->task_epilog);
-	debug3("Use PAM     = %d",       conf->use_pam);
-	debug3("Fast Sched  = %d",       conf->fast_schedule);
+	debug3("Use CPUSETS = %u",       conf->use_cpusets);
+	debug3("Use PAM     = %u",       conf->use_pam);
+	debug3("Fast Sched  = %u",       conf->fast_schedule);
 	slurm_conf_unlock();
 }
 
@@ -752,6 +756,7 @@ _init_conf()
 	conf->pidfile     = xstrdup(DEFAULT_SLURMD_PIDFILE);
 	conf->spooldir	  = xstrdup(DEFAULT_SPOOLDIR);
 	conf->use_pam	  =  0;
+	conf->use_cpusets =  0;
 	conf->fast_schedule = 0;
 
 	slurm_mutex_init(&conf->config_mutex);
diff --git a/src/slurmd/slurmd/slurmd.h b/src/slurmd/slurmd/slurmd.h
index 6a8823fe9de..37797fd7a74 100644
--- a/src/slurmd/slurmd/slurmd.h
+++ b/src/slurmd/slurmd/slurmd.h
@@ -122,7 +122,8 @@ typedef struct slurmd_config {
 	pthread_mutex_t config_mutex;	/* lock for slurmd_config access   */
 	uint16_t        job_acct_freq;
 	uint16_t	use_pam;
-	uint16_t	propagate_prio;	/* PropagatePrioProcess flag */
+	uint16_t	use_cpusets;	/* Use cpusets, if available       */
+	uint16_t	propagate_prio;	/* PropagatePrioProcess flag       */
 	uint16_t        fast_schedule;	/* use config from file/slurmctld  */
 } slurmd_conf_t;
 
diff --git a/src/slurmd/slurmstepd/Makefile.in b/src/slurmd/slurmstepd/Makefile.in
index e568b7f7e15..d7708709c31 100644
--- a/src/slurmd/slurmstepd/Makefile.in
+++ b/src/slurmd/slurmstepd/Makefile.in
@@ -121,6 +121,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -149,6 +150,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/smap/Makefile.in b/src/smap/Makefile.in
index 9122bc777bc..7a7c171004c 100644
--- a/src/smap/Makefile.in
+++ b/src/smap/Makefile.in
@@ -126,6 +126,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -154,6 +155,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/squeue/Makefile.in b/src/squeue/Makefile.in
index f78fb31916c..4c9f1e1560b 100644
--- a/src/squeue/Makefile.in
+++ b/src/squeue/Makefile.in
@@ -116,6 +116,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -144,6 +145,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/srun/Makefile.in b/src/srun/Makefile.in
index 3f98e470888..71b5e9af46f 100644
--- a/src/srun/Makefile.in
+++ b/src/srun/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/strigger/Makefile.in b/src/strigger/Makefile.in
index aa6548f170b..fc0db3c1384 100644
--- a/src/strigger/Makefile.in
+++ b/src/strigger/Makefile.in
@@ -114,6 +114,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -142,6 +143,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/src/sview/Makefile.in b/src/sview/Makefile.in
index f7f1bf4574a..faf6c717237 100644
--- a/src/sview/Makefile.in
+++ b/src/sview/Makefile.in
@@ -130,6 +130,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -158,6 +159,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in
index 1b5d6833ed3..cc379de8ff5 100644
--- a/testsuite/Makefile.in
+++ b/testsuite/Makefile.in
@@ -102,6 +102,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -130,6 +131,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/testsuite/expect/Makefile.in b/testsuite/expect/Makefile.in
index ef42e436e8b..daa7a3baad6 100644
--- a/testsuite/expect/Makefile.in
+++ b/testsuite/expect/Makefile.in
@@ -86,6 +86,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -114,6 +115,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/testsuite/slurm_unit/Makefile.in b/testsuite/slurm_unit/Makefile.in
index 88e7e9a69bb..1cfdf222ace 100644
--- a/testsuite/slurm_unit/Makefile.in
+++ b/testsuite/slurm_unit/Makefile.in
@@ -95,6 +95,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -123,6 +124,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/testsuite/slurm_unit/api/Makefile.in b/testsuite/slurm_unit/api/Makefile.in
index 1a65bd8b8ab..a6cbd9464f1 100644
--- a/testsuite/slurm_unit/api/Makefile.in
+++ b/testsuite/slurm_unit/api/Makefile.in
@@ -113,6 +113,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -141,6 +142,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/testsuite/slurm_unit/api/manual/Makefile.in b/testsuite/slurm_unit/api/manual/Makefile.in
index 00d68b6bd28..2671add3e4e 100644
--- a/testsuite/slurm_unit/api/manual/Makefile.in
+++ b/testsuite/slurm_unit/api/manual/Makefile.in
@@ -139,6 +139,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -167,6 +168,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/testsuite/slurm_unit/common/Makefile.in b/testsuite/slurm_unit/common/Makefile.in
index b846b4d1abc..286bd945742 100644
--- a/testsuite/slurm_unit/common/Makefile.in
+++ b/testsuite/slurm_unit/common/Makefile.in
@@ -124,6 +124,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -152,6 +153,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/testsuite/slurm_unit/slurmctld/Makefile.in b/testsuite/slurm_unit/slurmctld/Makefile.in
index 71259404af0..9e3fec96f72 100644
--- a/testsuite/slurm_unit/slurmctld/Makefile.in
+++ b/testsuite/slurm_unit/slurmctld/Makefile.in
@@ -88,6 +88,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -116,6 +117,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
diff --git a/testsuite/slurm_unit/slurmd/Makefile.in b/testsuite/slurm_unit/slurmd/Makefile.in
index 978dfbb6543..47d17c454de 100644
--- a/testsuite/slurm_unit/slurmd/Makefile.in
+++ b/testsuite/slurm_unit/slurmd/Makefile.in
@@ -88,6 +88,7 @@ CFLAGS = @CFLAGS@
 CMD_LDFLAGS = @CMD_LDFLAGS@
 CPP = @CPP@
 CPPFLAGS = @CPPFLAGS@
+CPUSET_LIBS = @CPUSET_LIBS@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
@@ -116,6 +117,8 @@ HAVE_AIX_FALSE = @HAVE_AIX_FALSE@
 HAVE_AIX_PROCTRACK_FALSE = @HAVE_AIX_PROCTRACK_FALSE@
 HAVE_AIX_PROCTRACK_TRUE = @HAVE_AIX_PROCTRACK_TRUE@
 HAVE_AIX_TRUE = @HAVE_AIX_TRUE@
+HAVE_CPUSETS_FALSE = @HAVE_CPUSETS_FALSE@
+HAVE_CPUSETS_TRUE = @HAVE_CPUSETS_TRUE@
 HAVE_ELAN = @HAVE_ELAN@
 HAVE_ELAN_FALSE = @HAVE_ELAN_FALSE@
 HAVE_ELAN_TRUE = @HAVE_ELAN_TRUE@
-- 
GitLab