Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

retag

  • Loading branch information...
commit ec8e2c31b9c23dcc2846340162d45fdb8b27b64f 2 parents fd2b932 + e4db966
Danny Auble dannyauble authored
Showing with 14,244 additions and 22,488 deletions.
  1. +5 −7 META
  2. +0 −3  Makefile.am
  3. +5 −7 Makefile.in
  4. +12 −150 NEWS
  5. +161 −150 RELEASE_NOTES
  6. +44 −8 RELEASE_NOTES_LLNL
  7. +2 −1  auxdir/Makefile.in
  8. +3 −6 auxdir/slurm.m4
  9. +15 −0 auxdir/x_ac_affinity.m4
  10. +1 −19 auxdir/x_ac_debug.m4
  11. +4 −7 config.h.in
  12. +82 −58 configure
  13. +2 −6 configure.ac
  14. +2 −1  contribs/Makefile.in
  15. +2 −1  contribs/pam/Makefile.in
  16. +1 −3 contribs/pam/README
  17. +0 −9 contribs/pam/pam_slurm.c
  18. +96 −1 contribs/perlapi/Makefile.am
  19. +141 −254 contribs/perlapi/Makefile.in
  20. +12 −9 contribs/perlapi/{libslurm/perl → libslurm-perl}/Makefile.PL.in
  21. +13 −9 contribs/perlapi/{libslurm/perl → libslurm-perl}/Slurm.pm
  22. +11 −9 contribs/perlapi/{libslurm/perl → libslurm-perl}/Slurm.xs
  23. +54 −77 contribs/perlapi/{libslurm/perl → libslurm-perl}/alloc.c
  24. +1 −4 contribs/perlapi/{libslurm/perl → libslurm-perl}/conf.c
  25. +4 −9 contribs/perlapi/{libslurm/perl → libslurm-perl}/job.c
  26. +1 −2  contribs/perlapi/{libslurm/perl → libslurm-perl}/launch.c
  27. 0  contribs/perlapi/{libslurm/perl → libslurm-perl}/msg.h
  28. +1 −0  contribs/perlapi/{libslurm/perl → libslurm-perl}/node.c
  29. 0  contribs/perlapi/{libslurm/perl → libslurm-perl}/partition.c
  30. 0  contribs/perlapi/{libslurm/perl → libslurm-perl}/ppport.h
  31. 0  contribs/perlapi/{libslurm/perl → libslurm-perl}/t/00-use.t
  32. 0  contribs/perlapi/{libslurm/perl → libslurm-perl}/t/01-node.t
  33. 0  contribs/perlapi/{libslurm/perl → libslurm-perl}/t/02-partition.t
  34. 0  contribs/perlapi/{libslurm/perl → libslurm-perl}/t/03-conf.t
  35. 0  contribs/perlapi/{libslurm/perl → libslurm-perl}/t/04-trigger.t
  36. 0  contribs/perlapi/{libslurm/perl → libslurm-perl}/t/05-job.t
  37. 0  contribs/perlapi/{libslurm/perl → libslurm-perl}/trigger.c
  38. 0  contribs/perlapi/{libslurm/perl → libslurm-perl}/typemap
  39. +0 −96 contribs/perlapi/libslurm/Makefile.am
  40. +0 −543 contribs/perlapi/libslurm/Makefile.in
  41. +2 −1  contribs/phpext/Makefile.in
  42. +2 −1  contribs/slurmdb-direct/Makefile.in
  43. +54 −71 contribs/slurmdb-direct/moab_2_slurmdb.pl
  44. +2 −1  contribs/torque/Makefile.in
  45. +0 −988 contribs/web_apps/chart_stats.cgi
  46. +2 −1  doc/Makefile.in
  47. 0  doc/html/{allocation_pies.gif → AllocationPies.gif}
  48. 0  doc/html/{example_usage.gif → ExampleUsage.gif}
  49. +3 −3 doc/html/Makefile.am
  50. +5 −4 doc/html/Makefile.in
  51. 0  doc/html/{usage_pies.gif → UsagePies.gif}
  52. +14 −8 doc/html/accounting.shtml
  53. +0 −17 doc/html/accounting_storageplugins.shtml
  54. +3 −14 doc/html/configurator.html.in
  55. +4 −4 doc/html/priority_multifactor.shtml
  56. +1 −2  doc/html/team.shtml
  57. +1 −4 doc/man/Makefile.am
  58. +3 −5 doc/man/Makefile.in
  59. +31 −48 doc/man/man1/sacct.1
  60. +24 −193 doc/man/man1/sacctmgr.1
  61. +2 −15 doc/man/man1/salloc.1
  62. +2 −15 doc/man/man1/sbatch.1
  63. +19 −92 doc/man/man1/scontrol.1
  64. +3 −12 doc/man/man1/sinfo.1
  65. +1 −11 doc/man/man1/smap.1
  66. +2 −15 doc/man/man1/srun.1
  67. +2 −7 doc/man/man1/sstat.1
  68. +1 −11 doc/man/man3/slurm_free_job_info_msg.3
  69. +0 −1  doc/man/man3/slurm_init_update_step_msg.3
  70. +38 −1 doc/man/man3/slurm_reconfigure.3
  71. +1 −155 doc/man/man3/slurm_update_job.3
  72. +0 −1  doc/man/man3/slurm_update_step.3
  73. +0 −161 doc/man/man5/cgroup.conf.5
  74. +30 −149 doc/man/man5/slurm.conf.5
  75. +17 −29 doc/man/man5/slurmdbd.conf.5
  76. +10 −19 doc/man/man8/slurmctld.8
  77. +3 −15 doc/man/man8/slurmd.8
  78. +1 −4 doc/man/man8/slurmdbd.8
  79. +0 −71 etc/cgroup.conf.example
  80. +0 −2  etc/cgroup.release_agent
  81. +60 −62 etc/init.d.slurm
  82. +36 −37 etc/init.d.slurmdbd
  83. +4 −27 slurm.spec
  84. +51 −269 slurm/slurm.h.in
  85. +0 −3  slurm/slurm_errno.h
  86. +0 −1,211 slurm/slurmdb.h
  87. +29 −31 slurm/spank.h
  88. +1 −1  src/Makefile.am
  89. +7 −6 src/Makefile.in
  90. +4 −0 src/api/Makefile.am
  91. +5 −1 src/api/Makefile.in
  92. +4 −4 src/api/allocate.c
  93. +1 −1  src/api/allocate_msg.c
  94. +30 −107 src/api/config_info.c
  95. +5 −20 src/api/init_msg.c
  96. +54 −111 src/api/job_info.c
  97. +11 −44 src/api/node_info.c
  98. +2 −15 src/api/partition_info.c
  99. +49 −56 src/api/pmi.c
  100. +1 −38 src/api/reconfigure.c
  101. +13 −22 src/api/step_ctx.c
  102. +1 −1  src/api/step_io.c
  103. +3 −16 src/api/step_launch.h
  104. +1 −9 src/api/update_config.c
  105. +0 −2  src/common/Makefile.am
  106. +14 −19 src/common/Makefile.in
  107. +240 −338 src/common/assoc_mgr.c
  108. +34 −95 src/common/assoc_mgr.h
  109. +0 −5 src/common/bitstring.h
  110. +1 −1  src/common/env.c
  111. +133 −141 src/common/job_resources.c
  112. +2 −4 src/common/job_resources.h
  113. +706 −38 src/common/jobacct_common.c
  114. +119 −7 src/common/jobacct_common.h
  115. +145 −146 src/common/list.c
  116. +9 −12 src/common/list.h
  117. +30 −168 src/common/log.c
  118. +1 −27 src/common/log.h
  119. +0 −10 src/common/node_conf.h
  120. +108 −137 src/common/node_select.c
  121. +8 −17 src/common/node_select.h
  122. +14 −43 src/common/parse_config.c
  123. +2 −5 src/common/parse_config.h
  124. +5 −8 src/common/parse_time.c
  125. +1 −1  src/common/plugrack.c
  126. +25 −33 src/common/plugstack.c
  127. +0 −2  src/common/proc_args.c
  128. +31 −86 src/common/read_config.c
  129. +4 −5 src/common/read_config.h
  130. +7,823 −256 src/common/slurm_accounting_storage.c
  131. +672 −66 src/common/slurm_accounting_storage.h
  132. +89 −191 src/common/slurm_cred.c
  133. +19 −33 src/common/slurm_cred.h
  134. +2 −8 src/common/slurm_errno.c
  135. +5 −6 src/common/slurm_jobacct_gather.c
  136. +1 −3 src/common/slurm_jobacct_gather.h
  137. +4 −4 src/common/slurm_jobcomp.c
  138. +2 −2 src/common/slurm_jobcomp.h
  139. +2 −2 src/common/slurm_priority.c
  140. +1 −1  src/common/slurm_priority.h
  141. +5 −45 src/common/slurm_protocol_api.c
  142. +2 −15 src/common/slurm_protocol_api.h
  143. +1 −3 src/common/slurm_protocol_common.h
  144. +16 −88 src/common/slurm_protocol_defs.c
  145. +22 −44 src/common/slurm_protocol_defs.h
  146. +1,785 −3,733 src/common/slurm_protocol_pack.c
  147. +1 −1  src/common/slurm_protocol_pack.h
  148. +6 −54 src/common/slurm_protocol_util.c
  149. +31 −20 src/common/slurm_resource_info.c
  150. +1 −1  src/common/slurm_resource_info.h
  151. +1 −1  src/common/slurm_rlimits_info.c
  152. +27 −42 src/common/slurm_selecttype_info.c
  153. +2 −1  src/common/slurm_selecttype_info.h
  154. +41 −46 src/common/slurm_step_layout.c
  155. +2 −3 src/common/slurm_step_layout.h
  156. +0 −1,542 src/common/slurmdb_defs.c
  157. +0 −137 src/common/slurmdb_defs.h
  158. +0 −3,812 src/common/slurmdb_pack.c
  159. +0 −173 src/common/slurmdb_pack.h
  160. +343 −272 src/common/slurmdbd_defs.c
  161. +62 −42 src/common/slurmdbd_defs.h
  162. +4 −45 src/common/stepd_api.c
  163. +1 −8 src/common/stepd_api.h
  164. +1 −1  src/common/xassert.c
  165. +1 −16 src/common/xstring.c
  166. +0 −6 src/common/xstring.h
  167. +2 −1  src/database/Makefile.in
  168. +18 −50 src/database/mysql_common.c
  169. +0 −1  src/database/mysql_common.h
  170. +18 −66 src/database/pgsql_common.c
  171. +0 −4 src/database/pgsql_common.h
  172. +0 −85 src/db_api/Makefile.am
  173. +0 −729 src/db_api/Makefile.in
  174. +0 −98 src/db_api/account_functions.c
  175. +0 −68 src/db_api/archive_functions.c
  176. +0 −98 src/db_api/assoc_functions.c
  177. +0 −98 src/db_api/cluster_functions.c
  178. +0 −458 src/db_api/cluster_report_functions.c
  179. +0 −72 src/db_api/connection_functions.c
  180. +0 −76 src/db_api/coord_functions.c
  181. +0 −119 src/db_api/extra_get_functions.c
  182. +0 −368 src/db_api/job_report_functions.c
  183. +0 −97 src/db_api/qos_functions.c
  184. +0 −49 src/db_api/resv_report_functions.c
  185. +0 −82 src/db_api/usage_functions.c
  186. +0 −100 src/db_api/user_functions.c
  187. +0 −318 src/db_api/user_report_functions.c
  188. +0 −99 src/db_api/wckey_functions.c
  189. +2 −1  src/plugins/Makefile.in
  190. +2 −1  src/plugins/accounting_storage/Makefile.in
  191. +0 −12 src/plugins/accounting_storage/common/Makefile.am
  192. +0 −581 src/plugins/accounting_storage/common/Makefile.in
  193. +0 −579 src/plugins/accounting_storage/common/common_as.c
  194. +2 −1  src/plugins/accounting_storage/filetxt/Makefile.in
  195. +70 −71 src/plugins/accounting_storage/filetxt/accounting_storage_filetxt.c
  196. +138 −135 src/plugins/accounting_storage/filetxt/filetxt_jobacct_process.c
  197. +4 −4 src/plugins/accounting_storage/filetxt/filetxt_jobacct_process.h
  198. +9 −21 src/plugins/accounting_storage/mysql/Makefile.am
  199. +42 −181 src/plugins/accounting_storage/mysql/Makefile.in
Sorry, we could not display the entire diff because too many files (589) changed.
12 META
View
@@ -8,17 +8,15 @@
Meta: 1
Name: slurm
Major: 2
- Minor: 2
- Micro: 0
- Version: 2.2.0
- Release: 0.pre4
+ Minor: 1
+ Micro: 6
+ Version: 2.1.6
+ Release: 2
##
# When changing API_CURRENT update src/common/slurm_protocol_common.h
# with a new SLURM_PROTOCOL_VERSION signifing the old one and the version
# it was so the slurmdbd can continue to send the old protocol version.
-# In src/common/slurm_protocol_util.c check_header_version(), and init_header()
-# need to be updated also when changes are added also.
##
- API_CURRENT: 22
+ API_CURRENT: 21
API_AGE: 0
API_REVISION: 0
3  Makefile.am
View
@@ -10,8 +10,6 @@ EXTRA_DIST = \
etc/slurm.epilog.clean \
etc/init.d.slurm \
etc/init.d.slurmdbd \
- etc/cgroup.conf.example \
- etc/cgroup.release_agent \
autogen.sh \
slurm.spec \
README \
@@ -29,7 +27,6 @@ EXTRA_DIST = \
pkginclude_HEADERS = \
slurm/pmi.h \
slurm/slurm.h \
- slurm/slurmdb.h \
slurm/slurm_errno.h \
slurm/spank.h
12 Makefile.in
View
@@ -40,7 +40,7 @@ DIST_COMMON = README $(am__configure_deps) $(pkginclude_HEADERS) \
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/config.h.in $(srcdir)/config.xml.in \
$(top_srcdir)/configure \
- $(top_srcdir)/contribs/perlapi/libslurm/perl/Makefile.PL.in \
+ $(top_srcdir)/contribs/perlapi/libslurm-perl/Makefile.PL.in \
$(top_srcdir)/contribs/phpext/slurm_php/config.m4.in \
$(top_srcdir)/slurm/slurm.h.in AUTHORS COPYING ChangeLog \
INSTALL NEWS
@@ -86,7 +86,7 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h $(top_builddir)/slurm/slurm.h
CONFIG_CLEAN_FILES = config.xml \
- contribs/perlapi/libslurm/perl/Makefile.PL \
+ contribs/perlapi/libslurm-perl/Makefile.PL \
contribs/phpext/slurm_php/config.m4
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
@@ -256,6 +256,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PGSQL_CFLAGS = @PGSQL_CFLAGS@
PGSQL_LIBS = @PGSQL_LIBS@
PKG_CONFIG = @PKG_CONFIG@
+PLPA_LIBS = @PLPA_LIBS@
PROCTRACKDIR = @PROCTRACKDIR@
PROJECT = @PROJECT@
PTHREAD_CC = @PTHREAD_CC@
@@ -281,7 +282,7 @@ SLURM_MAJOR = @SLURM_MAJOR@
SLURM_MICRO = @SLURM_MICRO@
SLURM_MINOR = @SLURM_MINOR@
SLURM_PREFIX = @SLURM_PREFIX@
-SLURM_VERSION_NUMBER = @SLURM_VERSION_NUMBER@
+SLURM_VERSION = @SLURM_VERSION@
SLURM_VERSION_STRING = @SLURM_VERSION_STRING@
SO_LDFLAGS = @SO_LDFLAGS@
SSL_CPPFLAGS = @SSL_CPPFLAGS@
@@ -359,8 +360,6 @@ EXTRA_DIST = \
etc/slurm.epilog.clean \
etc/init.d.slurm \
etc/init.d.slurmdbd \
- etc/cgroup.conf.example \
- etc/cgroup.release_agent \
autogen.sh \
slurm.spec \
README \
@@ -378,7 +377,6 @@ EXTRA_DIST = \
pkginclude_HEADERS = \
slurm/pmi.h \
slurm/slurm.h \
- slurm/slurmdb.h \
slurm/slurm_errno.h \
slurm/spank.h
@@ -456,7 +454,7 @@ distclean-hdr:
-rm -f config.h stamp-h1 slurm/slurm.h slurm/stamp-h2
config.xml: $(top_builddir)/config.status $(srcdir)/config.xml.in
cd $(top_builddir) && $(SHELL) ./config.status $@
-contribs/perlapi/libslurm/perl/Makefile.PL: $(top_builddir)/config.status $(top_srcdir)/contribs/perlapi/libslurm/perl/Makefile.PL.in
+contribs/perlapi/libslurm-perl/Makefile.PL: $(top_builddir)/config.status $(top_srcdir)/contribs/perlapi/libslurm-perl/Makefile.PL.in
cd $(top_builddir) && $(SHELL) ./config.status $@
contribs/phpext/slurm_php/config.m4: $(top_builddir)/config.status $(top_srcdir)/contribs/phpext/slurm_php/config.m4.in
cd $(top_builddir) && $(SHELL) ./config.status $@
162 NEWS
View
@@ -1,156 +1,14 @@
This file describes changes in recent versions of SLURM. It primarily
documents those changes that are of interest to users and admins.
-* Changes in SLURM 2.2.0.pre5
-=============================
- -- Modify commands to accept time format with one or two digit hour value
- (e.g. 8:00 or 08:00 or 8:00:00 or 08:00:00).
- -- Add slurmd option of "-C" to print actual hardware configuration and exit.
-
-* Changes in SLURM 2.2.0.pre4
-=============================
- -- Add support for a PropagatePrioProcess configuration parameter value of 2
- to restrict spawned task nice values to that of the slurmd daemon plus 1.
- This insures that the slurmd daemon always have a higher scheduling
- priority than spawned tasks.
- -- Add support in slurmctld, slurmd and slurmdbd for option of "-n <value>" to
- reset the daemon's nice value.
- -- Fixed slurm_load_slurmd_status and slurm_pid2jobid to work correctly when
- multiple slurmds are in use.
- -- Altered srun to set max_nodes to min_nodes if not set when doing an
- allocation to mimic that which salloc and sbatch do. If running a step if
- the max isn't set it remains unset.
- -- Applied patch from David Egolf (David.Egolf@Bull.com). Added the ability
- to purge/archive accounting data on a day or hour basis, previously
- it was only available on a monthly basis.
- -- Add support for maximum node count in job step request.
- -- Fix bug in CPU count logic for job step allocation (used count of CPUS per
- node rather than CPUs allocated to the job).
- -- Add new configuration parameters GroupUpdateForce and GroupUpdateTime.
- See "man slurm.conf" for details about how these control when slurmctld
- updates its information of which users are in the groups allowed to use
- partitions.
- -- Added sacctmgr list events which will list events that have happened on
- clusters in accounting.
- -- Permit a running job to shrink in size using a command of
- "scontrol update JobId=# NumNodes=#" or
- "scontrol update JobId=# NodeList=<names>". Subsequent job steps must
- explicitly specify an appropriate node count to work properly.
- -- Added resize_time field to job record noting the time of the latest job
- size change (to be used for accounting purposes, which is under
- development).
- -- sview/smap now hides hidden partitions and their jobs by default, with an
- option to display them.
-
-* Changes in SLURM 2.2.0.pre3
-=============================
- -- Refine support for TotalView partial attach. Add parameter to configure
- program of "--enable-partial-attach".
- -- In select/cons_res, the count of CPUs on required nodes was formerly
- ignored in enforcing the maximum CPU limit. Also enforce maximum CPU
- limit when the topology/tree plugin is configured (previously ignored).
- -- In select/cons_res, allocate cores for a job using a best-fit approach.
- -- In select/cons_res, for jobs that can run on a single node, use a best-fit
- packing approach.
- -- Add support for new partition states of DRAIN and INACTIVE and new partition
- option of "Alternate" (alternate partition to use for jobs submitted to
- partitions that are currently in a state of DRAIN or INACTIVE).
- -- Add group membership cache. This can substantially speed up slurmctld
- startup or reconfiguration if many partitions have AllowGroups configured.
- -- Added slurmdb api for accessing slurm DB information.
- -- In select/linear: Modify data structures for better performance and to
- avoid underflow error messages when slurmctld restarts while jobs are
- in completing state.
- -- Added hash for slurm.conf so when nodes check in to the controller it can
- verify the slurm.conf is the same as the one it is running. If not an
- error message is displayed. To silence this message add NO_CONF_HASH
- to DebugFlags in your slurm.conf.
- -- Added error code ESLURM_CIRCULAR_DEPENDENCY and prevent circular job
- dependencies (e.g. job 12 dependent upon job 11 AND job 11 is dependent
- upon job 12).
- -- Add BootTime and SlurmdStartTime to available node information.
- -- Fixed moab_2_slurmdb to work correctly under new database schema.
- -- Slurmd will drain a compute node when the SlurmdSpoolDir is full.
-
-* Changes in SLURM 2.2.0.pre2
-=============================
- -- Add support for spank_get_item() to get S_STEP_ALLOC_CORES and
- S_STEP_ALLOC_MEM. Support will remain for S_JOB_ALLOC_CORES and
- S_JOB_ALLOC_MEM.
- -- Kill individual job steps that exceed their memory limit rather than
- killing an entire job if one step exceeds its memory limit.
- -- Added configuration parameter VSizeFactor to enforce virtual memory limits
- for jobs and job steps as a percentage of their real memory allocation.
- -- Add scontrol ability to update job step's time limits.
- -- Add scontrol ability to update job's NumCPUs count.
- -- Add --time-min options to salloc, sbatch and srun. The scontrol command
- has been modified to display and modify the new field. sched/backfill
- plugin has been changed to alter time limits of jobs with the
- --time-min option if doing so permits earlier job initiation.
- -- Add support for TotalView symbol MPIR_partial_attach_ok with srun support
- to release processes which TotalView does not attach to.
- -- Add new option for SelectTypeParameters of CR_ONE_TASK_PER_CORE. This
- option will allocate one task per core by default. Without this option,
- by default one task will be allocated per thread on nodes with more than
- one ThreadsPerCore configured.
- -- Avoid accounting separately for a current pid corresponds to a Light Weight
- Process (Thread POSIX) appearing in the /proc directory. Only account for
- the original process (pid==tgid) to avoid accounting for memory use more
- than once.
- -- Add proctrack/cgroup plugin which uses Linux control groups (aka cgroup)
- to track processes on Linux systems having this feature enabled (kernel
- >= 2.6.24).
- -- Add logging of license transations including job_id.
- -- Add configuration parameters SlurmSchedLogFile and SlurmSchedLogLevel to
- support writing scheduling events to a separate log file.
- -- Added contribs/web_apps/chart_stats.cgi, a web app that invokes sreport to
- retrieve from the accounting storage db a user's request for job usage or
- machine utilization statistics and charts the results to a browser.
- -- Massive change to the schema in the storage_accounting/mysql plugin. When
- starting the slurmdbd the process of conversion may take a few minutes.
- You might also see some errors such as 'error: mysql_query failed: 1206
- The total number of locks exceeds the lock table size'. If you get this,
- do not worry, it is because your setting of innodb_buffer_pool_size in
- your my.cnf file is not set or set too low. A decent value there should
- be 64M or higher depending on the system you are running on. See
- RELEASE_NOTES for more information. But setting this and then
- restarting the mysqld and slurmdbd will put things right. After this
- change we have noticed 50-75% increase in performance with sreport and
- sacct.
- -- Fix for MaxCPUs to honor partitions of 1 node that have more than the
- maxcpus for a job.
- -- Add support for "scontrol notify <message>" to work for batch jobs.
-
-* Changes in SLURM 2.2.0.pre1
-=============================
- -- Added RunTime field to scontrol show job report
- -- Added SLURM_VERSION_NUMBER and removed SLURM_API_VERSION from
- slurm/slurm.h.
- -- Added support to handle communication with SLURM 2.1 clusters. Job's
- should not be lost in the future when upgrading to higher versions of
- SLURM.
- -- Added withdeleted options for listing clusters, users, and accounts
- -- Remove PLPA task affinity functions due to that package being deprecated.
- -- Preserve current partition state information and node Feature and Weight
- information rather than use contents of slurm.conf file after slurmctld
- restart with -R option or SIGHUP. Replace information with contents of
- slurm.conf after slurmctld restart without -R or "scontrol reconfigure".
- See RELEASE_NOTES file fore more details.
- -- Modify SLURM's PMI library (for MPICH2) to properly execute an executable
- program stand-alone (single MPI task launched without srun).
- -- Made GrpCPUs and MaxCPUs limits work for select/cons_res.
- -- Moved all SQL dependant plugins into a seperate rpm slurm-sql. This
- should be needed only where a connection to a database is needed (i.e.
- where the slurmdbd is running)
- -- Add command line option "no_sys_info" to PAM module to supress system
- logging of "access granted for user ...", access denied and other errors
- will still be logged.
- -- sinfo -R now has the user and timestamp in separate fields from the reason.
- -- Much functionality has been added to account_storage/pgsql. The plugin
- is still in a very beta state. It is still highly advised to use the
- mysql plugin, but if you feel like living on the edge or just really
- like postgres over mysql for some reason here you go. (Work done
- primarily by Hongjia Cao, NUDT.)
+* Changes in SLURM 2.1.6-2
+========================
+ -- In sched/wiki2 - Fix logic in support of Moab being able to identify
+ preemptable jobs.
+ -- Applied fixes to a debug4 message in priority_multifactor.c sent in by
+ Per Lundqvist
+ -- BLUEGENE - Fixed issue where incorrect nodecards could be picked when
+ looking at combining small blocks to make a larger small block.
* Changes in SLURM 2.1.6
========================
@@ -198,6 +56,10 @@ documents those changes that are of interest to users and admins.
un-booted block when a job comes to use it before the state checking
thread notices it which could cause the slurmctld to lock up on a
non-dynamic system.
+ -- Correct TaskEpilog logic. Previously could kill other user tasks on that
+ node which remained running.
+ -- Fix accounting Purge to remove correct period of time. Previously would
+ remove n+1 leaving an extra time period around.
-- In select/cons_res with FastSchedule=0 and Procs=# defined for the node,
but no specific socket/core/thread count configured, avoid fatal error if
the number of cores on a node is less than the number of Procs configured.
311 RELEASE_NOTES
View
@@ -1,178 +1,189 @@
-RELEASE NOTES FOR SLURM VERSION 2.2
-17 February 2010 (through SLURM 2.2.0-pre1+)
+RELEASE NOTES FOR SLURM VERSION 2.1
+8 March 2010
IMPORTANT NOTE:
+SLURM state files in version 2.1 are different from those of version 2.0.
+After installing SLURM version 2.1, plan to restart without preserving
+jobs or other state information. While SLURM version 2.0 is still running,
+cancel all pending and running jobs (e.g.
+"scancel --state=pending; scancel --state=running"). Then stop and restart
+daemons with the "-c" option or use "/etc/init.d/slurm startclean".
+
If using the slurmdbd (SLURM DataBase Daemon) you must update this first.
-The 2.2 slurmdbd will work with SLURM daemons of version 2.1.3 and above.
+The 2.1 slurmdbd will work with SLURM daemons at version 2.0.0 and above.
You will not need to update all clusters at the same time, but it is very
important to update slurmdbd first and having it running before updating
any other clusters making use of it. No real harm will come from updating
your systems before the slurmdbd, but they will not talk to each other
-until you do. Also at least the first time running the slurmdbd you need to
-make sure your my.cnf file has innodb_buffer_pool_size equal to at least 64M.
-You can accomplish this by adding the line
-
-innodb_buffer_pool_size=64M
-
-under the [mysqld] reference and restarting the mysqld. This is needed when
-converting large tables over to the new database schema.
+until you do.
-SLURM can be upgraded from version 2.1 to version 2.2 without loss of jobs or
-other state.
+There are substantial changes in the slurm.conf configuration file. It
+is recommended that you rebuild your configuration file using the tool
+doc/html/configurator.html that comes with the distribution.
HIGHLIGHTS
-* Slurmctld restart/reconfiguration operations have been altered.
- NOTE: There will be no change in behavior unless partition configuration
- or node Features/Weight are altered using the scontrol command to differ
- from the contents of the slurm.conf configuration file.
-
- Preserve current partition state information plus node Feature and Weight
- state information after slurmctld receives a SIGHUP signal or is restarted
- with the -R option. Recreate partition plus node information (except node
- State and Reason) from slurm.conf file after executing "scontrol reconfig"
- or restarting slurmctld *without* the -R option.
-
- OPERATION ACTION
- slurmctld -R Recover all job, node and partition state
- slurmctld Recover job state, recreate node and partition state
- slurmctld -c Recover no jobs, recreate node and partition state
- SIGHUP to slurmctld Preserve all job, node and partition state
- scontrol reconfig Preserve job state, recreate node and partition state
+* The sched/gang plugin has been removed. The logic is now directly within the
+ slurmctld daemon so that gang scheduling and/or job preemption can be
+ performed with a backfill scheduler.
+* Sbatch response changed from "sbatch: Submitted batch job #" written to
+ stderr to "Submitted batch job #" written to stdout.
+* Preempted jobs can now be canceled, checkpointed or requeued rather than
+ only suspended.
+* Support for QOS (Quality Of Service) has been added to the accounting
+ database with configurable limits, priority and preemption rules.
+* Added "--signal=<int>@<time>" option to salloc, sbatch and srun commands to
+ notify programs before reaching the end of their time limit.
+* Added squeue option "--start" to report expected start time of pending jobs.
+ The times are only set if the backfill or builtin scheduler is in use.
+* The pam_slurm Pluggable Authentication Module for SLURM previously
+ distributed separately has been moved within the main SLURM distribution
+ and is packaged as a separate RPM.
+* Support has been added for OpenSolaris.
+* Added environment variable support to sattach, salloc, sbatch and srun
+ to permit user control over exit codes so application exit codes can be
+ distinguished from those generated by SLURM. SLURM_EXIT_ERROR specifies the
+ exit code when a SLURM error occurs. SLURM_EXIT_IMMEDIATE specifies the
+ exit code when the --immediate option is specified and resources are not
+ available. Any other non-zero exit code would be that of the application
+ run by SLURM.
- Old logic preserved node Feature plus partition state after "slurmctld" or
- "scontrol reconfig" rather than recreating it from slurm.conf. Node Weight
- was formerly always recreated from slurm.conf.
-
-* Support has been added for TotalView to attach to a subset of launched tasks
- instead of requiring that all tasks be attached to.
-
-* A web application (chart_stats.cgi) has been added that invokes sreport to
- retrieve from the accounting storage db a user's request for job usage or
- machine utilization statistics and charts the results to a browser.
-
-* A hash of the slurm.conf running on each node in the cluster is sent when
- registering with the slurmctld so it can verify the slurm.conf is the same
- as the one it is running. If not an error message is displayed. To
- silence this message add NO_CONF_HASH to DebugFlags in your slurm.conf.
CONFIGURATION FILE CHANGES (see "man slurm.conf" for details)
-=============================================================
-* Added VSizeFactor to enforce virtual memory limits for jobs and job steps as
- a percentage of their real memory allocation.
-
-* Added new option for SelectTypeParameters of CR_ONE_TASK_PER_CORE. This
- option will allocate one task per core by default. Without this option,
- by default one task will be allocated per thread on nodes with more than
- one ThreadsPerCore configured (i.e. no change in behavior without this
- option).
+* Added PreemptType parameter to specify the plugin used to identify
+ preemptable jobs (partition priority or quality of service) and
+ PreemptionMode to identify how to preempt jobs (requeue, cancel, checkpoint,
+ or suspend). Default is no job preemption.
+* The sched/gang plugin has be removed, use PreemptType=preempt/partition_prio
+ and PreemptMode=suspend,gang.
+* ControlMachine changed to accept multiple comma-separated hostnames for
+ support of some high-availability architectures.
+* Added MaxTasksPerNode to control how many tasks that the slurmd can launch.
+ The default value is 128 (same as Slurm v2.0 value).
+* Removed SrunIOTimeout parameter. It now uses MessageTimeout value.
+* Added SchedulerParameters option of "max_job_bf=#" to control how far down
+ the queue of pending jobs that SLURM searches in an attempt backfill
+ schedule them. The default value is 50 jobs.
-* Add new configuration parameters GroupUpdateForce and GroupUpdateTime. These
- control when slurmctld updates its information of which users are in the
- groups allowed to use partitions. NOTE: There is no change in the default
- behavior.
-
-* Added new configuration parameters SlurmSchedLogFile and SlurmSchedLogLevel
- to support writing scheduling events to a separate log file.
-
-* Added "--enable-partial-attach" option to configure (build) script.
-
-* Added support for new partition states of DRAIN and INACTIVE and new partition
- option of "Alternate" (alternate partition to use for jobs submitted to
- partitions that are currently in a state of DRAIN or INACTIVE).
COMMAND CHANGES (see man pages for details)
-===========================================
-* sinfo -R now has the user and timestamp in separate fields from the reason.
-
-* Job submission commands (salloc, sbatch and srun) have a new option,
- --time-min, that permits the job's time limit to be reduced to the extent
- required to start early through backfill scheduling with the minimum value
- as specified.
-
-* scontrol now has the ability to change a job step's time limit.
+* Added "sacctmgr show problems" command to display problems in the accounting
+ database (e.g. accounts with no users, users with no UID, etc.).
+* Add support for job step time limits.
+* Several redundant squeue output and sorting options have been removed:
+ "%o" (use %D"), "%b" (use "%S"), "%X", %Y, and "%Z" (use "%z").
+* Standardized on the use of the '-Q' flag for all commands that offer the
+ --quiet option.
+* salloc's --wait=<secs> option deprecated by --immediate=<secs> option to
+ match the srun command.
+* Scalability of sview dramatically improved.
+* Added reservation flag of "OVERLAP" to permit a new reservation to use
+ nodes already in another reservation.
+* Added to sacct the ability to use --format NAME%LENGTH similar to sacctmgr.
+* For salloc, sbatch and srun commands:
+ Ignore _maximum_ values for --sockets-per-node, --cores-per-socket and
+ --threads-per-core options.
+ Remove --mincores, --minsockets, --minthreads options (map them to
+ minimum values of -sockets-per-node, --cores-per-socket and
+ --threads-per-core for now).
+ Changed the single character option for dependency from "-P" to the
+ more intuitive, "-d". This obsoletes the use of srun -d to set a
+ slurmd debug level. Use srun --slurmd-debug instead.
+* Changed "scontrol show job" command:
+ ReqProcs (number of processors requested) is replaced by NumCPUs
+ (number of cpus requested or actually allocated)
+ ReqNodes (number of nodes requested) is replaced by NumNodes
+ (number of nodes requested or actually allocated).
+ Added a --detail option to "scontrol show job" to display the
+ cpu/memory allocation information on a node-by-node basis.
+ Reorganized the output into functional groupings.
-* scontrol now has the ability to shrink a job's size. Use a command of
- "scontrol update JobId=# NumNodes=#" or
- "scontrol update JobId=# NodeList=<names>". Subsequent job steps must
- explicitly specify an appropriate node count to work properly.
-
-* Add support for slurmctld and slurmd option of "-n <value>" to reset the
- daemon's nice value.
BLUEGENE SPECIFIC CHANGES
-=========================
-
-OTHER CHANGES
-=============
-* Much functionality has been added to account_storage/pgsql. The plugin
- is still in a very beta state.
-
-* SLURM's PMI library (for MPICH2) has been modified to properly execute an
- executable program stand-alone (single MPI task launched without srun).
+* scontrol show blocks option added.
+* scontrol delete block and update block can now remove blocks on dynamic
+ layout configuration.
+* sinfo and sview now display correct CPU counts for partitions.
+* Jobs waiting for a block to boot will now be reported in Configuring state.
+* Vastly improve dynamic layout mode algorithm.
+* Environment variables such as SLURM_NNODES, SLURM_JOB_NUM_NODES and
+ SLURM_JOB_CPUS_PER_NODE now reference cnode counts instead of midplane
+ counts. SLURM_NODELIST still references midplane names.
-* Added support for spank_get_item() to get S_STEP_ALLOC_CORES and
- S_STEP_ALLOC_MEM. Support will remain for S_JOB_ALLOC_CORES and
- S_JOB_ALLOC_MEM.
-
-* Changed error message from "Requested time limit exceeds partition limit"
- to "Requested time limit is invalid (exceeds some limit)". The error can be
- triggered by a time limit exceeding the user/bank limit or the time-min
- exceeding the job or partition's time limit.
-
-* Added support for debugger partial task attach if the option
- "--enable-partial-attach" is passed to the configure (build) script.
API CHANGES
-===========
-* Changed members of the following structs:
-job_info_t
- num_procs -> num_cpus
- job_min_cpus -> pn_min_cpus
- job_min_memory -> pn_min_memory
- job_min_tmp_disk -> pn_min_tmp_disk
-
-job_desc_msg_t
- num_procs -> min_cpus
- job_min_cpus -> pn_min_cpus
- job_min_memory -> pn_min_memory
- job_min_tmp_disk -> pn_min_tmp_disk
-
-partition_info_t
- state_up (new states added PARTITION_DRAIN and PARTITION_INACTIVE)
-
-slurm_step_ctx_params_t
- node_count ->min_nodes
-
+* General changes:
+ Replaced use of the term "procs" with "cpus"
+ Eliminated min/max specifications for sockets/cores/threads
+* Changed the following struct definitions:
+ allocation_msg_thread_t
+ jobacctinfo_t
+ select_jobinfo_t
+ slurm_cred_t
+ switch_jobinfo_t
* Added the following struct definitions:
-job_info_t
- resize_time
- time_min
-
-job_desc_msg_t
- max_cpus
- time_min
-
-node_info_t
- boot_time
- reason_time
- reason_uid
- slurmd_start_time
-
-partition_info_t
- alternate
-
-slurm_step_ctx_params_t
- max_nodes
-
-update_node_msg_t
- reason_uid
-
+ block_info_msg_t
+ block_info_t
+ job_resources_t
+ job_sbcast_cred_msg
+ sbcast_cred_t
+* Renamed select_job_res_t to select_nodeinfo_t
+* Changed members of the following structs:
+ job_descriptor
+ job_step_info_t
+ node_info
+ node_info_msg
+ partition_info
+ reserve_info
+ resv_desc_msg
+ slurm_ctl_conf
+ slurm_step_ctx_params_t
+ slurm_step_launch_params_t
+* Changed members of the job_info struct
+ Note that cpu_count_reps, cpus_per_node, and num_cpu_groups were moved
+ to new job_resources struct
* Changed the following enums
-
+ job_state_reason
+ node_states
+ select_print_mode
+* Added the select_nodedata_type enum
+* Renamed the select_data_type enum to select_jobdata_type
* Added the following API's
-slurm_init_update_step_msg()
-slurm_update_step()
-
+ slurm_ctl_conf_2_key_pairs()
+ slurm_free_block_info_msg()
+ slurm_free_sbcast_cred_msg()
+ slurm_get_select_nodeinfo()
+ slurm_init_update_block_msg()
+ slurm_job_cpus_allocated_on_node()
+ slurm_job_cpus_allocated_on_node_id()
+ slurm_job_node_ready()
+ slurm_load_block_info()
+ slurm_print_block_info()
+ slurm_print_block_info_msg()
+ slurm_sbcast_lookup()
+ slurm_sprint_block_info()
* Changed the following API's
+ slurm_jobinfo_ctx_get()
+ slurm_load_job()
+ slurm_load_jobs()
+ slurm_print_node_table()
+ slurm_sprint_node_table()
+
+OTHER CHANGES
+* A mechanism has been added for SPANK plugins to set environment variables
+ for Prolog, Epilog, PrologSLurmctld and EpilogSlurmctld programs using the
+ functions spank_get_job_env, spank_set_job_env, and spank_unset_job_env. See
+ "man spank" for more information.
+* Set a node's power_up/configuring state flag while PrologSlurmctld is
+ running for a job allocated to that node.
+* Added sched/wiki2 (Moab) JOBMODIFY command support for VARIABLELIST option
+ to set supplemental environment variables for pending batch jobs.
+* The RPM previously named "slurm-aix-federation-<version>.rpm" has been
+ renamed to just "slurm-aix-<version>.rpm" (the federation switch plugin may
+ not be present).
+* Environment variables SLURM_TOPOLOGY_ADDR and SLURM_TOPOLOGY_ADDR_PATTERN
+ added to describe the network topology for each launched task when
+ TopologyType=topology/tree is configured
+* Add new job wait reason, ReqNodeNotAvail: Required node is not available
+ (down or drained).
52 RELEASE_NOTES_LLNL
View
@@ -1,17 +1,53 @@
-LLNL CHAOS-SPECIFIC RELEASE NOTES FOR SLURM VERSION 2.2
-05 January 2010
+LLNL CHAOS-SPECIFIC RELEASE NOTES FOR SLURM VERSION 2.1
+8 March 2010
-This lists only the most significant changes from SLURM v2.1 to v2.2
+This lists only the most significant changes from SLURM v2.0 to v2.1
with respect to Chaos systems. See the file RELEASE_NOTES for other
changes.
For system administrators:
+* The pam_slurm Pluggable Authentication Module for SLURM, previously
+ distributed separately, has been moved within the main SLURM distribution
+ and is packaged as a separate RPM.
+* Added MaxTasksPerNode configuration parameter to control how many tasks that
+ the slurmd daemon can launch. The default value is 128 (same as Slurm v2.0
+ value).
+* Changed "scontrol show job" command:
+ - ReqProcs (number of processors requested) is replaced by NumCPUs (number
+ of cpus requested or actually allocated)
+ - ReqNodes (number of nodes requested) is replaced by NumNodes (number of
+ nodes requested or actually allocated).
+ - Added a --detail option to "scontrol show job" to display the cpu/memory
+ allocation information on a node-by-node basis.
+ - Reorganized the output into functional groupings.
+* Added command "sacctmgr show problems" to display problems in the accounting
+ database (e.g. accounts with no users, users with no UID, etc.).
+* A mechanism has been added for SPANK plugins to set environment variables
+ for Prolog, Epilog, PrologSLurmctld and EpilogSlurmctld programs using the
+ functions spank_get_job_env, spank_set_job_env, and spank_unset_job_env. See
+ "man spank" for more information.
Mostly for users:
-
-SLURM state files in version 2.2 are different from those of version 2.1.
-After installing SLURM version 2.2, plan to restart without preserving
-jobs or other state information. While SLURM version 2.1 is still running,
+* Added -"-signal=<int>@<time>" option to salloc, sbatch and srun commands to
+ notify programs before reaching the end of their time limit.
+* Add support for job step time limits.
+* Sbatch response changed from "sbatch: Submitted batch job #" written to
+ stderr to "Submitted batch job #" written to stdout.
+* Added a --detail option to "scontrol show job" to display the cpu/memory
+ allocation informaton on a node-by-node basis.
+* Add new job wait reason, ReqNodeNotAvail: Required node is not available
+ (down or drained).
+* Added environment variable support to sattach, salloc, sbatch and srun
+ to permit user control over exit codes so application exit codes can be
+ distiguished from those generated by SLURM. SLURM_EXIT_ERROR specifies the
+ exit code when a SLURM error occurs. SLURM_EXIT_IMMEDIATE specifies the
+ exit code when the --immediate option is specified and resources are not
+ available. Any other non-zero exit code would be that of the application
+ run by SLURM.
+
+SLURM state files in version 2.1 are different from those of version 2.1.
+After installing SLURM version 2.1, plan to restart without preserving
+jobs or other state information. While SLURM version 2.0 is still running,
cancel all pending and running jobs (e.g.
-"scancel --state=pending; scancel --state=running"). Then stop and restart
+"scancel --state=pending; scancel --state=running"). Then stop and restart
daemons with the "-c" option or use "/etc/init.d/slurm startclean".
3  auxdir/Makefile.in
View
@@ -172,6 +172,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PGSQL_CFLAGS = @PGSQL_CFLAGS@
PGSQL_LIBS = @PGSQL_LIBS@
PKG_CONFIG = @PKG_CONFIG@
+PLPA_LIBS = @PLPA_LIBS@
PROCTRACKDIR = @PROCTRACKDIR@
PROJECT = @PROJECT@
PTHREAD_CC = @PTHREAD_CC@
@@ -197,7 +198,7 @@ SLURM_MAJOR = @SLURM_MAJOR@
SLURM_MICRO = @SLURM_MICRO@
SLURM_MINOR = @SLURM_MINOR@
SLURM_PREFIX = @SLURM_PREFIX@
-SLURM_VERSION_NUMBER = @SLURM_VERSION_NUMBER@
+SLURM_VERSION = @SLURM_VERSION@
SLURM_VERSION_STRING = @SLURM_VERSION_STRING@
SO_LDFLAGS = @SO_LDFLAGS@
SSL_CPPFLAGS = @SSL_CPPFLAGS@
9 auxdir/slurm.m4
View
@@ -151,12 +151,9 @@ SLURM_MINOR="`perl -ne 'print,exit if s/^\s*MINOR:\s*(\S*).*/\1/i' $srcdir/META`
SLURM_MICRO="`perl -ne 'print,exit if s/^\s*MICRO:\s*(\S*).*/\1/i' $srcdir/META`"
RELEASE="`perl -ne 'print,exit if s/^\s*RELEASE:\s*(\S*).*/\1/i' $srcdir/META`"
-# NOTE: SLURM_VERSION_NUMBER excludes any non-numeric component
-# (e.g. "pre1" in the MICRO), but may be suitable for the user determining
-# how to use the APIs or other differences.
-SLURM_VERSION_NUMBER="`printf "0x%02x%02x%02x" $SLURM_MAJOR $SLURM_MINOR $SLURM_MICRO`"
-AC_DEFINE_UNQUOTED(SLURM_VERSION_NUMBER, $SLURM_VERSION_NUMBER, [SLURM Version Number])
-AC_SUBST(SLURM_VERSION_NUMBER)
+SLURM_VERSION="`printf "0x%02x%02x%02x" $SLURM_MAJOR $SLURM_MINOR $SLURM_MICRO`"
+AC_DEFINE_UNQUOTED(SLURM_VERSION, $SLURM_VERSION, [SLURM Version Number])
+AC_SUBST(SLURM_VERSION)
if test "$SLURM_MAJOR.$SLURM_MINOR.$SLURM_MICRO" != "$VERSION"; then
AC_MSG_ERROR([META information is inconsistent: $VERSION != $SLURM_MAJOR.$SLURM_MINOR.$SLURM_MICRO!])
15 auxdir/x_ac_affinity.m4
View
@@ -46,6 +46,21 @@ AC_DEFUN([X_AC_AFFINITY], [
fi
#
+# Test for PLPA functions (see http://www.open-mpi.org/software/plpa)
+#
+ AC_CHECK_LIB([plpa],
+ [plpa_sched_getaffinity],
+ [ac_have_plpa=yes; PLPA_LIBS="-rpath /usr/local/lib -lplpa"])
+
+ AC_SUBST(PLPA_LIBS)
+ if test "x$ac_have_plpa" = "xyes"; then
+ have_sched_setaffinity=yes
+ AC_DEFINE(HAVE_PLPA, 1, [define if plpa library installed])
+ else
+ AC_MSG_WARN([Unable to locate PLPA processor affinity functions])
+ fi
+
+#
# Test for cpuset directory
#
cpuset_default_dir="/dev/cpuset"
20 auxdir/x_ac_debug.m4
View
@@ -9,8 +9,7 @@
#
# DESCRIPTION:
# Add support for the "--enable-debug", "--enable-memory-leak-debug",
-# "--disable-partial-attach" and "--enable-front-end" configure script
-# options.
+# and "--enable-front-end" configure script options.
# If debugging is enabled, CFLAGS will be prepended with the debug flags.
# The NDEBUG macro (used by assert) will also be set accordingly.
#
@@ -74,22 +73,5 @@ AC_DEFUN([X_AC_DEBUG], [
fi
AC_MSG_RESULT([${x_ac_front_end=no}])
- AC_MSG_CHECKING([whether debugger partial attach enabled])
- AC_ARG_ENABLE(
- [partial-attach],
- AS_HELP_STRING(--enable-partial-attach,enable debugger partial task attach support),
- [ case "$enableval" in
- yes) x_ac_partial_attach=yes ;;
- no) x_ac_partial_attach=no ;;
- *) AC_MSG_RESULT([doh!])
- AC_MSG_ERROR([bad value "$enableval" for --enable-partial-leak-attach]) ;;
- esac
- ]
- )
- if test "$x_ac_partial_attach" = yes; then
- AC_DEFINE(DEBUGGER_PARTIAL_ATTACH, 1, [Define to 1 for debugger partial task attach support.])
- fi
- AC_MSG_RESULT([${x_ac_partial_attach=no}])
-
]
)
11 config.h.in
View
@@ -21,9 +21,6 @@
/* Define location of cpuset directory */
#undef CPUSET_DIR
-/* Define to 1 for debugger partial task attach support. */
-#undef DEBUGGER_PARTIAL_ATTACH
-
/* Define to 1 if licensed under terms of the GNU General Public License. */
#undef GPL_LICENSED
@@ -130,9 +127,6 @@
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
-/* Define to 1 if you have the <linux/sched.h> header file. */
-#undef HAVE_LINUX_SCHED_H
-
/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
to 0 otherwise. */
#undef HAVE_MALLOC
@@ -173,6 +167,9 @@
/* Define to 1 if using PostgreSQL libaries */
#undef HAVE_PGSQL
+/* define if plpa library installed */
+#undef HAVE_PLPA
+
/* Define if you have Posix semaphores. */
#undef HAVE_POSIX_SEMS
@@ -432,7 +429,7 @@
#undef SLURM_PREFIX
/* SLURM Version Number */
-#undef SLURM_VERSION_NUMBER
+#undef SLURM_VERSION
/* Define the project's version string. */
#undef SLURM_VERSION_STRING
140 configure
View
@@ -815,6 +815,7 @@ HAVE_PAM_TRUE
PAM_LIBS
HAVE_SCHED_SETAFFINITY_FALSE
HAVE_SCHED_SETAFFINITY_TRUE
+PLPA_LIBS
HAVE_NUMA_FALSE
HAVE_NUMA_TRUE
NUMA_LIBS
@@ -907,7 +908,7 @@ RELEASE
SLURM_MICRO
SLURM_MINOR
SLURM_MAJOR
-SLURM_VERSION_NUMBER
+SLURM_VERSION
VERSION
SLURM_API_REVISION
SLURM_API_AGE
@@ -998,7 +999,6 @@ with_pg_config
enable_debug
enable_memory_leak_debug
enable_front_end
-enable_partial_attach
with_slurmctld_port
with_slurmd_port
with_slurmdbd_port
@@ -1669,7 +1669,6 @@ Optional Features:
--enable-memory-leak-debug
enable memory leak debugging code for development
--enable-front-end enable slurmd operation on a front-end
- --enable-partial-attach enable debugger partial task attach support
--enable-multiple-slurmd
enable multiple-slurmd support
@@ -2870,13 +2869,10 @@ SLURM_MINOR="`perl -ne 'print,exit if s/^\s*MINOR:\s*(\S*).*/\1/i' $srcdir/META`
SLURM_MICRO="`perl -ne 'print,exit if s/^\s*MICRO:\s*(\S*).*/\1/i' $srcdir/META`"
RELEASE="`perl -ne 'print,exit if s/^\s*RELEASE:\s*(\S*).*/\1/i' $srcdir/META`"
-# NOTE: SLURM_VERSION_NUMBER excludes any non-numeric component
-# (e.g. "pre1" in the MICRO), but may be suitable for the user determining
-# how to use the APIs or other differences.
-SLURM_VERSION_NUMBER="`printf "0x%02x%02x%02x" $SLURM_MAJOR $SLURM_MINOR $SLURM_MICRO`"
+SLURM_VERSION="`printf "0x%02x%02x%02x" $SLURM_MAJOR $SLURM_MINOR $SLURM_MICRO`"
cat >>confdefs.h <<_ACEOF
-#define SLURM_VERSION_NUMBER $SLURM_VERSION_NUMBER
+#define SLURM_VERSION $SLURM_VERSION
_ACEOF
@@ -6975,13 +6971,13 @@ if test "${lt_cv_nm_interface+set}" = set; then :
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:6978: $ac_compile\"" >&5)
+ (eval echo "\"\$as_me:6974: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
- (eval echo "\"\$as_me:6981: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval echo "\"\$as_me:6977: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
- (eval echo "\"\$as_me:6984: output\"" >&5)
+ (eval echo "\"\$as_me:6980: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
@@ -8186,7 +8182,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 8189 "configure"' > conftest.$ac_ext
+ echo '#line 8185 "configure"' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -9975,11 +9971,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:9978: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:9974: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:9982: \$? = $ac_status" >&5
+ echo "$as_me:9978: \$? = $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.
@@ -10314,11 +10310,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:10317: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:10313: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:10321: \$? = $ac_status" >&5
+ echo "$as_me:10317: \$? = $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.
@@ -10419,11 +10415,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:10422: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:10418: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:10426: \$? = $ac_status" >&5
+ echo "$as_me:10422: \$? = $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
@@ -10474,11 +10470,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:10477: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:10473: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:10481: \$? = $ac_status" >&5
+ echo "$as_me:10477: \$? = $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
@@ -12857,7 +12853,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12860 "configure"
+#line 12856 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12953,7 +12949,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12956 "configure"
+#line 12952 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -14909,11 +14905,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:14912: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14908: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:14916: \$? = $ac_status" >&5
+ echo "$as_me:14912: \$? = $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.
@@ -15008,11 +15004,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:15011: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:15007: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:15015: \$? = $ac_status" >&5
+ echo "$as_me:15011: \$? = $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
@@ -15060,11 +15056,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:15063: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:15059: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:15067: \$? = $ac_status" >&5
+ echo "$as_me:15063: \$? = $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
@@ -16386,7 +16382,7 @@ for ac_header in mcheck.h values.h socket.h sys/socket.h \
sys/systemcfg.h ncurses.h curses.h sys/dr.h sys/vfs.h \
pam/pam_appl.h security/pam_appl.h sys/sysctl.h \
pty.h utmp.h \
- sys/syslog.h linux/sched.h \
+ sys/syslog.h \
kstat.h paths.h limits.h sys/statfs.h sys/ptrace.h sys/termios.h \
do :
@@ -16816,6 +16812,61 @@ $as_echo "$as_me: WARNING: Unable to locate NUMA memory affinity functions" >&2;
fi
#
+# Test for PLPA functions (see http://www.open-mpi.org/software/plpa)
+#
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for plpa_sched_getaffinity in -lplpa" >&5
+$as_echo_n "checking for plpa_sched_getaffinity in -lplpa... " >&6; }
+if test "${ac_cv_lib_plpa_plpa_sched_getaffinity+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lplpa $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* 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 plpa_sched_getaffinity ();
+int
+main ()
+{
+return plpa_sched_getaffinity ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_plpa_plpa_sched_getaffinity=yes
+else
+ ac_cv_lib_plpa_plpa_sched_getaffinity=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_plpa_plpa_sched_getaffinity" >&5
+$as_echo "$ac_cv_lib_plpa_plpa_sched_getaffinity" >&6; }
+if test "x$ac_cv_lib_plpa_plpa_sched_getaffinity" = x""yes; then :
+ ac_have_plpa=yes; PLPA_LIBS="-rpath /usr/local/lib -lplpa"
+fi
+
+
+
+ if test "x$ac_have_plpa" = "xyes"; then
+ have_sched_setaffinity=yes
+
+$as_echo "#define HAVE_PLPA 1" >>confdefs.h
+
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to locate PLPA processor affinity functions" >&5
+$as_echo "$as_me: WARNING: Unable to locate PLPA processor affinity functions" >&2;}
+ fi
+
+#
# Test for cpuset directory
#
cpuset_default_dir="/dev/cpuset"
@@ -19035,29 +19086,6 @@ $as_echo "#define HAVE_FRONT_END 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${x_ac_front_end=no}" >&5
$as_echo "${x_ac_front_end=no}" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether debugger partial attach enabled" >&5
-$as_echo_n "checking whether debugger partial attach enabled... " >&6; }
- # Check whether --enable-partial-attach was given.
-if test "${enable_partial_attach+set}" = set; then :
- enableval=$enable_partial_attach; case "$enableval" in
- yes) x_ac_partial_attach=yes ;;
- no) x_ac_partial_attach=no ;;
- *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: doh!" >&5
-$as_echo "doh!" >&6; }
- as_fn_error "bad value \"$enableval\" for --enable-partial-leak-attach" "$LINENO" 5 ;;
- esac
-
-
-fi
-
- if test "$x_ac_partial_attach" = yes; then
-
-$as_echo "#define DEBUGGER_PARTIAL_ATTACH 1" >>confdefs.h
-
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${x_ac_partial_attach=no}" >&5
-$as_echo "${x_ac_partial_attach=no}" >&6; }
-
if test "x$ac_debug" = "xtrue"; then
@@ -20202,7 +20230,7 @@ fi
-ac_config_files="$ac_config_files Makefile config.xml auxdir/Makefile contribs/Makefile contribs/pam/Makefile contribs/perlapi/Makefile contribs/perlapi/libslurm/Makefile contribs/perlapi/libslurm/perl/Makefile.PL contribs/torque/Makefile contribs/phpext/Makefile contribs/phpext/slurm_php/config.m4 contribs/slurmdb-direct/Makefile src/Makefile src/api/Makefile src/common/Makefile src/db_api/Makefile src/database/Makefile src/sacct/Makefile src/sacctmgr/Makefile src/sreport/Makefile src/sstat/Makefile src/sshare/Makefile src/salloc/Makefile src/sbatch/Makefile src/sattach/Makefile src/sprio/Makefile src/srun/Makefile src/srun_cr/Makefile src/slurmd/Makefile src/slurmd/slurmd/Makefile src/slurmd/slurmstepd/Makefile src/slurmdbd/Makefile src/slurmctld/Makefile src/sbcast/Makefile src/scontrol/Makefile src/scancel/Makefile src/squeue/Makefile src/sinfo/Makefile src/smap/Makefile src/strigger/Makefile src/sview/Makefile src/plugins/Makefile src/plugins/accounting_storage/Makefile src/plugins/accounting_storage/common/Makefile src/plugins/accounting_storage/filetxt/Makefile src/plugins/accounting_storage/mysql/Makefile src/plugins/accounting_storage/pgsql/Makefile src/plugins/accounting_storage/none/Makefile src/plugins/accounting_storage/slurmdbd/Makefile src/plugins/auth/Makefile src/plugins/auth/authd/Makefile src/plugins/auth/munge/Makefile src/plugins/auth/none/Makefile src/plugins/checkpoint/Makefile src/plugins/checkpoint/aix/Makefile src/plugins/checkpoint/none/Makefile src/plugins/checkpoint/ompi/Makefile src/plugins/checkpoint/xlch/Makefile src/plugins/checkpoint/blcr/Makefile src/plugins/checkpoint/blcr/cr_checkpoint.sh src/plugins/checkpoint/blcr/cr_restart.sh src/plugins/crypto/Makefile src/plugins/crypto/munge/Makefile src/plugins/crypto/openssl/Makefile src/plugins/jobacct_gather/Makefile src/plugins/jobacct_gather/linux/Makefile src/plugins/jobacct_gather/aix/Makefile src/plugins/jobacct_gather/none/Makefile src/plugins/jobcomp/Makefile src/plugins/jobcomp/filetxt/Makefile src/plugins/jobcomp/none/Makefile src/plugins/jobcomp/script/Makefile src/plugins/jobcomp/mysql/Makefile src/plugins/jobcomp/pgsql/Makefile src/plugins/preempt/Makefile src/plugins/preempt/none/Makefile src/plugins/preempt/partition_prio/Makefile src/plugins/preempt/qos/Makefile src/plugins/priority/Makefile src/plugins/priority/basic/Makefile src/plugins/priority/multifactor/Makefile src/plugins/proctrack/Makefile src/plugins/proctrack/aix/Makefile src/plugins/proctrack/pgid/Makefile src/plugins/proctrack/linuxproc/Makefile src/plugins/proctrack/rms/Makefile src/plugins/proctrack/sgi_job/Makefile src/plugins/proctrack/cgroup/Makefile src/plugins/proctrack/lua/Makefile src/plugins/sched/Makefile src/plugins/sched/backfill/Makefile src/plugins/sched/builtin/Makefile src/plugins/sched/hold/Makefile src/plugins/sched/wiki/Makefile src/plugins/sched/wiki2/Makefile src/plugins/select/Makefile src/plugins/select/bluegene/Makefile src/plugins/select/bluegene/block_allocator/Makefile src/plugins/select/bluegene/plugin/Makefile src/plugins/select/cons_res/Makefile src/plugins/select/linear/Makefile src/plugins/switch/Makefile src/plugins/switch/elan/Makefile src/plugins/switch/none/Makefile src/plugins/switch/federation/Makefile src/plugins/mpi/Makefile src/plugins/mpi/mpich1_p4/Makefile src/plugins/mpi/mpich1_shmem/Makefile src/plugins/mpi/mpichgm/Makefile src/plugins/mpi/mpichmx/Makefile src/plugins/mpi/mvapich/Makefile src/plugins/mpi/lam/Makefile src/plugins/mpi/none/Makefile src/plugins/mpi/openmpi/Makefile src/plugins/task/Makefile src/plugins/task/affinity/Makefile src/plugins/task/none/Makefile src/plugins/topology/Makefile src/plugins/topology/3d_torus/Makefile src/plugins/topology/none/Makefile src/plugins/topology/tree/Makefile doc/Makefile doc/man/Makefile doc/html/Makefile doc/html/configurator.html testsuite/Makefile testsuite/expect/Makefile testsuite/slurm_unit/Makefile testsuite/slurm_unit/api/Makefile testsuite/slurm_unit/api/manual/Makefile testsuite/slurm_unit/common/Makefile testsuite/slurm_unit/slurmctld/Makefile testsuite/slurm_unit/slurmd/Makefile testsuite/slurm_unit/slurmdbd/Makefile"
+ac_config_files="$ac_config_files Makefile config.xml auxdir/Makefile contribs/Makefile contribs/pam/Makefile contribs/perlapi/Makefile contribs/perlapi/libslurm-perl/Makefile.PL contribs/torque/Makefile contribs/phpext/Makefile contribs/phpext/slurm_php/config.m4 contribs/slurmdb-direct/Makefile src/Makefile src/api/Makefile src/common/Makefile src/database/Makefile src/sacct/Makefile src/sacctmgr/Makefile src/sreport/Makefile src/sstat/Makefile src/sshare/Makefile src/salloc/Makefile src/sbatch/Makefile src/sattach/Makefile src/sprio/Makefile src/srun/Makefile src/srun_cr/Makefile src/slurmd/Makefile src/slurmd/slurmd/Makefile src/slurmd/slurmstepd/Makefile src/slurmdbd/Makefile src/slurmctld/Makefile src/sbcast/Makefile src/scontrol/Makefile src/scancel/Makefile src/squeue/Makefile src/sinfo/Makefile src/smap/Makefile src/strigger/Makefile src/sview/Makefile src/plugins/Makefile src/plugins/accounting_storage/Makefile src/plugins/accounting_storage/filetxt/Makefile src/plugins/accounting_storage/mysql/Makefile src/plugins/accounting_storage/pgsql/Makefile src/plugins/accounting_storage/none/Makefile src/plugins/accounting_storage/slurmdbd/Makefile src/plugins/auth/Makefile src/plugins/auth/authd/Makefile src/plugins/auth/munge/Makefile src/plugins/auth/none/Makefile src/plugins/checkpoint/Makefile src/plugins/checkpoint/aix/Makefile src/plugins/checkpoint/none/Makefile src/plugins/checkpoint/ompi/Makefile src/plugins/checkpoint/xlch/Makefile src/plugins/checkpoint/blcr/Makefile src/plugins/checkpoint/blcr/cr_checkpoint.sh src/plugins/checkpoint/blcr/cr_restart.sh src/plugins/crypto/Makefile src/plugins/crypto/munge/Makefile src/plugins/crypto/openssl/Makefile src/plugins/jobacct_gather/Makefile src/plugins/jobacct_gather/linux/Makefile src/plugins/jobacct_gather/aix/Makefile src/plugins/jobacct_gather/none/Makefile src/plugins/jobcomp/Makefile src/plugins/jobcomp/filetxt/Makefile src/plugins/jobcomp/none/Makefile src/plugins/jobcomp/script/Makefile src/plugins/jobcomp/mysql/Makefile src/plugins/jobcomp/pgsql/Makefile src/plugins/preempt/Makefile src/plugins/preempt/none/Makefile src/plugins/preempt/partition_prio/Makefile src/plugins/preempt/qos/Makefile src/plugins/priority/Makefile src/plugins/priority/basic/Makefile src/plugins/priority/multifactor/Makefile src/plugins/proctrack/Makefile src/plugins/proctrack/aix/Makefile src/plugins/proctrack/pgid/Makefile src/plugins/proctrack/linuxproc/Makefile src/plugins/proctrack/rms/Makefile src/plugins/proctrack/sgi_job/Makefile src/plugins/proctrack/lua/Makefile src/plugins/sched/Makefile src/plugins/sched/backfill/Makefile src/plugins/sched/builtin/Makefile src/plugins/sched/hold/Makefile src/plugins/sched/wiki/Makefile src/plugins/sched/wiki2/Makefile src/plugins/select/Makefile src/plugins/select/bluegene/Makefile src/plugins/select/bluegene/block_allocator/Makefile src/plugins/select/bluegene/plugin/Makefile src/plugins/select/cons_res/Makefile src/plugins/select/linear/Makefile src/plugins/switch/Makefile src/plugins/switch/elan/Makefile src/plugins/switch/none/Makefile src/plugins/switch/federation/Makefile src/plugins/mpi/Makefile src/plugins/mpi/mpich1_p4/Makefile src/plugins/mpi/mpich1_shmem/Makefile src/plugins/mpi/mpichgm/Makefile src/plugins/mpi/mpichmx/Makefile src/plugins/mpi/mvapich/Makefile src/plugins/mpi/lam/Makefile src/plugins/mpi/none/Makefile src/plugins/mpi/openmpi/Makefile src/plugins/task/Makefile src/plugins/task/affinity/Makefile src/plugins/task/none/Makefile src/plugins/topology/Makefile src/plugins/topology/3d_torus/Makefile src/plugins/topology/none/Makefile src/plugins/topology/tree/Makefile doc/Makefile doc/man/Makefile doc/html/Makefile doc/html/configurator.html testsuite/Makefile testsuite/expect/Makefile testsuite/slurm_unit/Makefile testsuite/slurm_unit/api/Makefile testsuite/slurm_unit/api/manual/Makefile testsuite/slurm_unit/common/Makefile testsuite/slurm_unit/slurmctld/Makefile testsuite/slurm_unit/slurmd/Makefile testsuite/slurm_unit/slurmdbd/Makefile"
cat >confcache <<\_ACEOF
@@ -21373,8 +21401,7 @@ do
"contribs/Makefile") CONFIG_FILES="$CONFIG_FILES contribs/Makefile" ;;
"contribs/pam/Makefile") CONFIG_FILES="$CONFIG_FILES contribs/pam/Makefile" ;;
"contribs/perlapi/Makefile") CONFIG_FILES="$CONFIG_FILES contribs/perlapi/Makefile" ;;
- "contribs/perlapi/libslurm/Makefile") CONFIG_FILES="$CONFIG_FILES contribs/perlapi/libslurm/Makefile" ;;
- "contribs/perlapi/libslurm/perl/Makefile.PL") CONFIG_FILES="$CONFIG_FILES contribs/perlapi/libslurm/perl/Makefile.PL" ;;
+ "contribs/perlapi/libslurm-perl/Makefile.PL") CONFIG_FILES="$CONFIG_FILES contribs/perlapi/libslurm-perl/Makefile.PL" ;;
"contribs/torque/Makefile") CONFIG_FILES="$CONFIG_FILES contribs/torque/Makefile" ;;
"contribs/phpext/Makefile") CONFIG_FILES="$CONFIG_FILES contribs/phpext/Makefile" ;;
"contribs/phpext/slurm_php/config.m4") CONFIG_FILES="$CONFIG_FILES contribs/phpext/slurm_php/config.m4" ;;
@@ -21382,7 +21409,6 @@ do
"src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
"src/api/Makefile") CONFIG_FILES="$CONFIG_FILES src/api/Makefile" ;;
"src/common/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/Makefile" ;;
- "src/db_api/Makefile") CONFIG_FILES="$CONFIG_FILES src/db_api/Makefile" ;;
"src/database/Makefile") CONFIG_FILES="$CONFIG_FILES src/database/Makefile" ;;
"src/sacct/Makefile") CONFIG_FILES="$CONFIG_FILES src/sacct/Makefile" ;;
"src/sacctmgr/Makefile") CONFIG_FILES="$CONFIG_FILES src/sacctmgr/Makefile" ;;
@@ -21410,7 +21436,6 @@ do
"src/sview/Makefile") CONFIG_FILES="$CONFIG_FILES src/sview/Makefile" ;;
"src/plugins/Makefile") CONFIG_FILES="$CONFIG_FILES src/plugins/Makefile" ;;
"src/plugins/accounting_storage/Makefile") CONFIG_FILES="$CONFIG_FILES src/plugins/accounting_storage/Makefile" ;;
- "src/plugins/accounting_storage/common/Makefile") CONFIG_FILES="$CONFIG_FILES src/plugins/accounting_storage/common/Makefile" ;;
"src/plugins/accounting_storage/filetxt/Makefile") CONFIG_FILES="$CONFIG_FILES src/plugins/accounting_storage/filetxt/Makefile" ;;
"src/plugins/accounting_storage/mysql/Makefile") CONFIG_FILES="$CONFIG_FILES src/plugins/accounting_storage/mysql/Makefile" ;;
"src/plugins/accounting_storage/pgsql/Makefile") CONFIG_FILES="$CONFIG_FILES src/plugins/accounting_storage/pgsql/Makefile" ;;
@@ -21454,7 +21479,6 @@ do
"src/plugins/proctrack/linuxproc/Makefile") CONFIG_FILES="$CONFIG_FILES src/plugins/proctrack/linuxproc/Makefile" ;;
"src/plugins/proctrack/rms/Makefile") CONFIG_FILES="$CONFIG_FILES src/plugins/proctrack/rms/Makefile" ;;
"src/plugins/proctrack/sgi_job/Makefile") CONFIG_FILES="$CONFIG_FILES src/plugins/proctrack/sgi_job/Makefile" ;;
- "src/plugins/proctrack/cgroup/Makefile") CONFIG_FILES="$CONFIG_FILES src/plugins/proctrack/cgroup/Makefile" ;;
"src/plugins/proctrack/lua/Makefile") CONFIG_FILES="$CONFIG_FILES src/plugins/proctrack/lua/Makefile" ;;
"src/plugins/sched/Makefile") CONFIG_FILES="$CONFIG_FILES src/plugins/sched/Makefile" ;;
"src/plugins/sched/backfill/Makefile") CONFIG_FILES="$CONFIG_FILES src/plugins/sched/backfill/Makefile" ;;
8 configure.ac
View
@@ -81,7 +81,7 @@ AC_CHECK_HEADERS(mcheck.h values.h socket.h sys/socket.h \
sys/systemcfg.h ncurses.h curses.h sys/dr.h sys/vfs.h \
pam/pam_appl.h security/pam_appl.h sys/sysctl.h \
pty.h utmp.h \
- sys/syslog.h linux/sched.h \
+ sys/syslog.h \
kstat.h paths.h limits.h sys/statfs.h sys/ptrace.h sys/termios.h \
)
AC_HEADER_SYS_WAIT
@@ -318,8 +318,7 @@ AC_CONFIG_FILES([Makefile
contribs/Makefile
contribs/pam/Makefile
contribs/perlapi/Makefile
- contribs/perlapi/libslurm/Makefile
- contribs/perlapi/libslurm/perl/Makefile.PL
+ contribs/perlapi/libslurm-perl/Makefile.PL
contribs/torque/Makefile
contribs/phpext/Makefile
contribs/phpext/slurm_php/config.m4
@@ -327,7 +326,6 @@ AC_CONFIG_FILES([Makefile
src/Makefile
src/api/Makefile
src/common/Makefile
- src/db_api/Makefile
src/database/Makefile
src/sacct/Makefile
src/sacctmgr/Makefile
@@ -355,7 +353,6 @@ AC_CONFIG_FILES([Makefile
src/sview/Makefile
src/plugins/Makefile
src/plugins/accounting_storage/Makefile
- src/plugins/accounting_storage/common/Makefile
src/plugins/accounting_storage/filetxt/Makefile
src/plugins/accounting_storage/mysql/Makefile
src/plugins/accounting_storage/pgsql/Makefile
@@ -399,7 +396,6 @@ AC_CONFIG_FILES([Makefile
src/plugins/proctrack/linuxproc/Makefile
src/plugins/proctrack/rms/Makefile
src/plugins/proctrack/sgi_job/Makefile
- src/plugins/proctrack/cgroup/Makefile
src/plugins/proctrack/lua/Makefile
src/plugins/sched/Makefile
src/plugins/sched/backfill/Makefile
3  contribs/Makefile.in
View
@@ -211,6 +211,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PGSQL_CFLAGS = @PGSQL_CFLAGS@
PGSQL_LIBS = @PGSQL_LIBS@
PKG_CONFIG = @PKG_CONFIG@
+PLPA_LIBS = @PLPA_LIBS@
PROCTRACKDIR = @PROCTRACKDIR@
PROJECT = @PROJECT@
PTHREAD_CC = @PTHREAD_CC@
@@ -236,7 +237,7 @@ SLURM_MAJOR = @SLURM_MAJOR@
SLURM_MICRO = @SLURM_MICRO@
SLURM_MINOR = @SLURM_MINOR@
SLURM_PREFIX = @SLURM_PREFIX@
-SLURM_VERSION_NUMBER = @SLURM_VERSION_NUMBER@
+SLURM_VERSION = @SLURM_VERSION@
SLURM_VERSION_STRING = @SLURM_VERSION_STRING@
SO_LDFLAGS = @SO_LDFLAGS@
SSL_CPPFLAGS = @SSL_CPPFLAGS@
3  contribs/pam/Makefile.in
View
@@ -225,6 +225,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PGSQL_CFLAGS = @PGSQL_CFLAGS@
PGSQL_LIBS = @PGSQL_LIBS@
PKG_CONFIG = @PKG_CONFIG@
+PLPA_LIBS = @PLPA_LIBS@
PROCTRACKDIR = @PROCTRACKDIR@
PROJECT = @PROJECT@
PTHREAD_CC = @PTHREAD_CC@
@@ -250,7 +251,7 @@ SLURM_MAJOR = @SLURM_MAJOR@
SLURM_MICRO = @SLURM_MICRO@
SLURM_MINOR = @SLURM_MINOR@
SLURM_PREFIX = @SLURM_PREFIX@
-SLURM_VERSION_NUMBER = @SLURM_VERSION_NUMBER@
+SLURM_VERSION = @SLURM_VERSION@
SLURM_VERSION_STRING = @SLURM_VERSION_STRING@
SO_LDFLAGS = @SO_LDFLAGS@
SSL_CPPFLAGS = @SSL_CPPFLAGS@
4 contribs/pam/README
View
@@ -16,7 +16,7 @@ Overview:
Restricts access to compute nodes in a cluster using SLURM.
Recognized Arguments:
- debug; no_sys_info; no_warn; rsh_kludge; rlogin_kludge
+ debug; no_warn; rsh_kludge; rlogin_kludge
Description:
This module restricts access to compute nodes in a cluster where Simple
@@ -28,8 +28,6 @@ Description:
The behavior of this module can be modified with the following flags:
debug - log debugging information to the system log file
- no_sys_info - supress system logging of "access granted for user ...",
- access denied and other errors will still be logged
no_warn - suppress warning messages to the application
rsh_kludge - prevent truncation of first char from rsh error msg
rlogin_kludge - prevent "staircase-effect" following rlogin error msg
9 contribs/pam/pam_slurm.c
View
@@ -55,7 +55,6 @@
struct _options {
- int disable_sys_info;
int enable_debug;
int enable_silence;
const char *msg_prefix;
@@ -136,11 +135,6 @@ pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc, const char **argv)
if ((auth != PAM_SUCCESS) && (!opts.enable_silence))
_send_denial_msg(pamh, &opts, user, uid);
- if ((auth != PAM_SUCCESS) || (!opts.disable_sys_info)) {
- _log_msg(LOG_INFO, "access %s for user %s (uid=%d)",
- (auth == PAM_SUCCESS) ? "granted" : "denied",
- user, uid);
- }
_log_msg(LOG_INFO, "access %s for user %s (uid=%d)",
(auth == PAM_SUCCESS) ? "granted" : "denied", user, uid);
@@ -176,7 +170,6 @@ _parse_args(struct _options *opts, int argc, const char **argv)
{
int i;
- opts->disable_sys_info = 0;
opts->enable_debug = 0;
opts->enable_silence = 0;
opts->msg_prefix = "";
@@ -206,8 +199,6 @@ _parse_args(struct _options *opts, int argc, const char **argv)
for (i=0; i<argc; i++) {
if (!strcmp(argv[i], "debug"))
opts->enable_debug = debug = 1;
- else if (!strcmp(argv[i], "no_sys_info"))
- opts->disable_sys_info = 1;
else if (!strcmp(argv[i], "no_warn"))
opts->enable_silence = 1;
else if (!strcmp(argv[i], "rsh_kludge"))
97 contribs/perlapi/Makefile.am
View
@@ -1 +1,96 @@
-SUBDIRS = libslurm
+AUTOMAKE_OPTIONS = foreign
+# copied from pidgin
+#
+perl_dir = libslurm-perl
+perlpath = /usr/bin/perl
+perl_sources = \
+ $(perl_dir)/Makefile.PL.in \
+ $(perl_dir)/ppport.h \
+ $(perl_dir)/Slurm.pm \
+ $(perl_dir)/Slurm.xs \
+ $(perl_dir)/typemap \
+ $(perl_dir)/msg.h \
+ $(perl_dir)/alloc.c \
+ $(perl_dir)/conf.c \
+ $(perl_dir)/job.c \
+ $(perl_dir)/launch.c \
+ $(perl_dir)/node.c \
+ $(perl_dir)/partition.c \
+ $(perl_dir)/trigger.c
+
+$(perl_dir)/Makefile: $(perl_dir)/Makefile.PL
+ @if test "x${top_srcdir}" != "x${top_builddir}"; then \
+ for f in ${perl_sources}; do \
+ ${LN_S} -f ../${srcdir}/$$f $$f; \
+ done; \
+ fi
+ @cd $(perl_dir) && $(perlpath) Makefile.PL $(PERL_MM_PARAMS) prefix=${prefix}
+
+#
+# Note on linking logic below
+#
+# AIX needs to use LD to link. It can not use gcc.
+# Suse Linux compiles with gcc, but picks some other compiler to use for linking.
+# Since some CFLAGS may be incompatible with this other compiler, the build
+# may fail, as seen on BlueGene platforms.
+# Other Linux implementations sems to work fine with the LD specified as below
+#
+all-local: $(perl_dir)/Makefile #libslurm
+if HAVE_AIX
+ @cd $(perl_dir) && \
+ if [ ! -f Makefile ]; then \
+ $(perlpath) Makefile.PL $(PERL_MM_PARAMS) prefix=${prefix}; \
+ fi && \
+ ($(MAKE) CC="$(CC)" CCFLAGS="$(PERL_CFLAGS) -g -static $(CFLAGS)" $(PERL_EXTRA_OPTS) || \
+ $(MAKE) CC="$(CC)" CCFLAGS="$(PERL_CFLAGS) -g -static $(CFLAGS)" $(PERL_EXTRA_OPTS)) && \
+ cd ..;
+else
+ @cd $(perl_dir) && \
+ if [ ! -f Makefile ]; then \
+ $(perlpath) Makefile.PL $(PERL_MM_PARAMS) prefix=${prefix}; \
+ fi && \
+ ($(MAKE) CC="$(CC)" LD="$(CC) $(CFLAGS)" CCFLAGS="$(PERL_CFLAGS) -g -static $(CFLAGS)" $(PERL_EXTRA_OPTS) || \
+ $(MAKE) CC="$(CC)" LD="$(CC) $(CFLAGS)" CCFLAGS="$(PERL_CFLAGS) -g -static $(CFLAGS)" $(PERL_EXTRA_OPTS)) && \
+ cd ..;
+endif
+
+install-exec-local:
+ @cd $(perl_dir) && \
+ $(MAKE) DESTDIR=$(DESTDIR) install && \
+ cd ..;
+
+# Evil Hack (TM)
+# ... which doesn't work with DESTDIR installs. FIXME?
+uninstall-local:
+ @cd $(perl_dir) && \
+ `$(MAKE) uninstall | grep unlink | sed -e 's#/usr#${prefix}#' -e 's#unlink#rm -f#'` && \
+ cd ..;
+
+clean-generic:
+ @cd $(perl_dir); \
+ $(MAKE) clean; \
+ cd ..; \
+ rm -f *.so
+
+distclean-generic:
+ @cd $(perl_dir); \
+ $(MAKE) realclean; \
+ rm -f Makefile.PL; \
+ rm -f Makefile.old; \
+ rm -f Makefile; \
+ cd ..;
+
+ @rm -f Makefile
+
+ @if test "x${top_srcdir}" != "x${top_builddir}"; then \
+ for f in ${perl_sources}; do \
+ ${LN_S} -f ../${srcdir}/$$f $$f; \
+ done; \
+ fi
+
+AM_CPPFLAGS = \
+ -DVERSION=\"$(VERSION)\" \
+ -I$(top_srcdir) \
+ -I$(top_builddir) \
+ $(DEBUG_CFLAGS) \
+ $(PERL_CFLAGS)
395 contribs/perlapi/Makefile.in
View
@@ -79,47 +79,7 @@ CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
- distdir
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-am__relativize = \
- dir0=`pwd`; \
- sed_first='s,^\([^/]*\)/.*$$,\1,'; \
- sed_rest='s,^[^/]*/*,,'; \
- sed_last='s,^.*/\([^/]*\)$$,\1,'; \
- sed_butlast='s,/*[^/]*$$,,'; \
- while test -n "$$dir1"; do \
- first=`echo "$$dir1" | sed -e "$$sed_first"`; \
- if test "$$first" != "."; then \
- if test "$$first" = ".."; then \
- dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
- dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
- else \
- first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
- if test "$$first2" = "$$first"; then \
- dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
- else \
- dir2="../$$dir2"; \
- fi; \
- dir0="$$dir0"/"$$first"; \
- fi; \
- fi; \
- dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
- done; \
- reldir="$$dir2"
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AR = @AR@
@@ -211,6 +171,7 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PGSQL_CFLAGS = @PGSQL_CFLAGS@
PGSQL_LIBS = @PGSQL_LIBS@
PKG_CONFIG = @PKG_CONFIG@
+PLPA_LIBS = @PLPA_LIBS@
PROCTRACKDIR = @PROCTRACKDIR@
PROJECT = @PROJECT@
PTHREAD_CC = @PTHREAD_CC@
@@ -236,7 +197,7 @@ SLURM_MAJOR = @SLURM_MAJOR@
SLURM_MICRO = @SLURM_MICRO@
SLURM_MINOR = @SLURM_MINOR@
SLURM_PREFIX = @SLURM_PREFIX@
-SLURM_VERSION_NUMBER = @SLURM_VERSION_NUMBER@
+SLURM_VERSION = @SLURM_VERSION@
SLURM_VERSION_STRING = @SLURM_VERSION_STRING@
SO_LDFLAGS = @SO_LDFLAGS@
SSL_CPPFLAGS = @SSL_CPPFLAGS@
@@ -304,8 +265,34 @@ target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-SUBDIRS = libslurm
-all: all-recursive
+AUTOMAKE_OPTIONS = foreign
+# copied from pidgin
+#
+perl_dir = libslurm-perl
+perlpath = /usr/bin/perl
+perl_sources = \
+ $(perl_dir)/Makefile.PL.in \
+ $(perl_dir)/ppport.h \
+ $(perl_dir)/Slurm.pm \
+ $(perl_dir)/Slurm.xs \
+ $(perl_dir)/typemap \
+ $(perl_dir)/msg.h \
+ $(perl_dir)/alloc.c \
+ $(perl_dir)/conf.c \
+ $(perl_dir)/job.c \
+ $(perl_dir)/launch.c \
+ $(perl_dir)/node.c \
+ $(perl_dir)/partition.c \
+ $(perl_dir)/trigger.c
+
+AM_CPPFLAGS = \
+ -DVERSION=\"$(VERSION)\" \
+ -I$(top_srcdir) \
+ -I$(top_builddir) \
+ $(DEBUG_CFLAGS) \
+ $(PERL_CFLAGS)
+
+all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@@ -317,9 +304,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu contribs/perlapi/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign contribs/perlapi/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu contribs/perlapi/Makefile
+ $(AUTOMAKE) --foreign contribs/perlapi/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
@@ -344,141 +331,12 @@ mostlyclean-libtool:
clean-libtool:
-rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
tags: TAGS
+TAGS:
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- set x; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+CTAGS:
+
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -510,48 +368,19 @@ distdir: $(DISTFILES)
|| exit 1; \
fi; \
done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- fi; \
- done
- @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
- $(am__relativize); \
- new_distdir=$$reldir; \
- dir1=$$subdir; dir2="$(top_distdir)"; \
- $(am__relativize); \
- new_top_distdir=$$reldir; \
- echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
- echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
- ($(am__cd) $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$new_top_distdir" \
- distdir="$$new_distdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- am__skip_mode_fix=: \
- distdir) \
- || exit 1; \
- fi; \
- done
check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
+check: check-am
+all-am: Makefile all-local
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-installcheck: installcheck-recursive
+installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
@@ -559,98 +388,156 @@ install-strip:
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
+clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
-distclean: distclean-recursive
+distclean: distclean-am
-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
+distclean-am: clean-am distclean-generic
-dvi: dvi-recursive
+dvi: dvi-am
dvi-am:
-html: html-recursive
+html: html-am
html-am:
-info: info-recursive
+info: info-am
info-am:
install-data-am:
-install-dvi: install-dvi-recursive
+install-dvi: install-dvi-am
install-dvi-am:
-install-exec-am:
+install-exec-am: install-exec-local
-install-html: install-html-recursive
+install-html: install-html-am
install-html-am:
-install-info: install-info-recursive
+install-info: install-info-am
install-info-am:
install-man:
-install-pdf: install-pdf-recursive
+install-pdf: install-pdf-am
install-pdf-am:
-install-ps: install-ps-recursive
+install-ps: install-ps-am
install-ps-am:
installcheck-am:
-maintainer-clean: maintainer-clean-recursive
+maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
-mostlyclean: mostlyclean-recursive
+mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-pdf: pdf-recursive
+pdf: pdf-am
pdf-am:
-ps: ps-recursive
+ps: ps-am
ps-am:
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
- install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic clean-libtool \
- ctags ctags-recursive distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am
+uninstall-am: uninstall-local
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am all-local check check-am clean clean-generic \
+ clean-libtool distclean distclean-generic distclean-libtool \
+ distdir dvi dvi-am html html-am info info-am install \
+ install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-exec-local \
+ install-html install-html-am install-info install-info-am \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+ ps ps-am uninstall uninstall-am uninstall-local
+
+
+$(perl_dir)/Makefile: $(perl_dir)/Makefile.PL
+ @if test "x${top_srcdir}" != "x${top_builddir}"; then \
+ for f in ${perl_sources}; do \
+ ${LN_S} -f ../${srcdir}/$$f $$f; \
+ done; \
+ fi
+ @cd $(perl_dir) && $(perlpath) Makefile.PL $(PERL_MM_PARAMS) prefix=${prefix}
+
+#
+# Note on linking logic below
+#
+# AIX needs to use LD to link. It can not use gcc.
+# Suse Linux compiles with gcc, but picks some other compiler to use for linking.
+# Since some CFLAGS may be incompatible with this other compiler, the build
+# may fail, as seen on BlueGene platforms.
+# Other Linux implementations sems to work fine with the LD specified as below
+#
+all-local: $(perl_dir)/Makefile #libslurm
+@HAVE_AIX_TRUE@ @cd $(perl_dir) && \
+@HAVE_AIX_TRUE@ if [ ! -f Makefile ]; then \
+@HAVE_AIX_TRUE@ $(perlpath) Makefile.PL $(PERL_MM_PARAMS) prefix=${prefix}; \
+@HAVE_AIX_TRUE@ fi && \
+@HAVE_AIX_TRUE@ ($(MAKE) CC="$(CC)" CCFLAGS="$(PERL_CFLAGS) -g -static $(CFLAGS)" $(PERL_EXTRA_OPTS) || \
+@HAVE_AIX_TRUE@ $(MAKE) CC="$(CC)" CCFLAGS="$(PERL_CFLAGS) -g -static $(CFLAGS)" $(PERL_EXTRA_OPTS)) && \
+@HAVE_AIX_TRUE@ cd ..;
+@HAVE_AIX_FALSE@ @cd $(perl_dir) && \
+@HAVE_AIX_FALSE@ if [ ! -f Makefile ]; then \
+@HAVE_AIX_FALSE@ $(perlpath) Makefile.PL $(PERL_MM_PARAMS) prefix=${prefix}; \
+@HAVE_AIX_FALSE@ fi && \
+@HAVE_AIX_FALSE@ ($(MAKE) CC="$(CC)" LD="$(CC) $(CFLAGS)" CCFLAGS="$(PERL_CFLAGS) -g -static $(CFLAGS)" $(PERL_EXTRA_OPTS) || \
+@HAVE_AIX_FALSE@ $(MAKE) CC="$(CC)" LD="$(CC) $(CFLAGS)" CCFLAGS="$(PERL_CFLAGS) -g -static $(CFLAGS)" $(PERL_EXTRA_OPTS)) && \
+@HAVE_AIX_FALSE@ cd ..;
+
+install-exec-local:
+ @cd $(perl_dir) && \
+ $(MAKE) DESTDIR=$(DESTDIR) install && \
+ cd ..;
+
+# Evil Hack (TM)
+# ... which doesn't work with DESTDIR installs. FIXME?
+uninstall-local:
+ @cd $(perl_dir) && \
+ `$(MAKE) uninstall | grep unlink | sed -e 's#/usr#${prefix}#' -e 's#unlink#rm -f#'` && \
+ cd ..;
+
+clean-generic:
+ @cd $(perl_dir); \
+ $(MAKE) clean; \
+ cd ..; \
+ rm -f *.so
+distclean-generic:
+ @cd $(perl_dir); \
+ $(MAKE) realclean; \
+ rm -f Makefile.PL; \
+ rm -f Makefile.old; \
+ rm -f Makefile; \
+ cd ..;
+
+ @rm -f Makefile
+
+ @if test "x${top_srcdir}" != "x${top_builddir}"; then \
+ for f in ${perl_sources}; do \
+ ${LN_S} -f ../${srcdir}/$$f $$f; \
+ done; \
+ fi
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
21 contribs/perlapi/libslurm/perl/Makefile.PL.in → contribs/perlapi/libslurm-perl/Makefile.PL.in
View
@@ -211,16 +211,9 @@ if (eval {require ExtUtils::Constant; 1}) {
WAIT_RESOURCES
WAIT_PART_NODE_LIMIT
WAIT_PART_TIME_LIMIT
- WAIT_PART_DOWN
- WAIT_PART_INACTIVE
+ WAIT_PART_STATE
WAIT_HELD
WAIT_TIME
- WAIT_LICENSES
- WAIT_ASSOC_JOB_LIMIT
- WAIT_ASSOC_RESOURCE_LIMIT
- WAIT_ASSOC_TIME_LIMIT
- WAIT_RESERVATION
- WAIT_NODE_NOT_AVAIL
WAIT_TBD1
WAIT_TBD2
FAIL_DOWN_PARTITION
@@ -231,7 +224,6 @@ if (eval {require ExtUtils::Constant; 1}) {
FAIL_EXIT_CODE
FAIL_TIMEOUT
FAIL_INACTIVE_LIMIT
- FAIL_BANK_ACCOUNT
/];
$enums{job_acct_type} = [qw /
JOB_START
@@ -315,6 +307,16 @@ if (eval {require ExtUtils::Constant; 1}) {
SLURM_STEP_CTX_JOBID
SLURM_STEP_CTX_USER_MANAGED_SOCKETS
/];
+ $enums{select_type_plugin_info} = [qw /
+ SELECT_TYPE_INFO_NONE
+ CR_CPU
+ CR_SOCKET
+ CR_CORE
+ CR_MEMORY
+ CR_SOCKET_MEMORY
+ CR_CORE_MEMORY
+ CR_CPU_MEMORY
+ /];
$enums{select_jobdata_type} = [qw /
SELECT_JOBDATA_GEOMETRY
SELECT_JOBDATA_ROTATE
@@ -324,6 +326,7 @@ if (eval {require ExtUtils::Constant; 1}) {
SELECT_JOBDATA_IONODES
SELECT_JOBDATA_NODE_CNT
SELECT_JOBDATA_ALTERED
+ SELECT_JOBDATA_MAX_CPUS
SELECT_JOBDATA_BLRTS_IMAGE
SELECT_JOBDATA_LINUX_IMAGE
SELECT_JOBDATA_MLOADER_IMAGE
22 contribs/perlapi/libslurm/perl/Slurm.pm → contribs/perlapi/libslurm-perl/Slurm.pm
View
@@ -128,16 +128,9 @@ $constants{job_state_reason} = [qw /
WAIT_RESOURCES
WAIT_PART_NODE_LIMIT
WAIT_PART_TIME_LIMIT
- WAIT_PART_DOWN
- WAIT_PART_INACTIVE
+ WAIT_PART_STATE
WAIT_HELD
WAIT_TIME
- WAIT_LICENSES
- WAIT_ASSOC_JOB_LIMIT
- WAIT_ASSOC_RESOURCE_LIMIT
- WAIT_ASSOC_TIME_LIMIT
- WAIT_RESERVATION
- WAIT_NODE_NOT_AVAIL
WAIT_TBD1
WAIT_TBD2
FAIL_DOWN_PARTITION
@@ -148,7 +141,6 @@ $constants{job_state_reason} = [qw /
FAIL_EXIT_CODE
FAIL_TIMEOUT
FAIL_INACTIVE_LIMIT
- FAIL_BANK_ACCOUNT
/];
$constants{job_acct_type} = [qw /
@@ -242,6 +234,17 @@ $constants{ctx_keys} = [qw /
SLURM_STEP_CTX_USER_MANAGED_SOCKETS
/];
+$constants{select_type_plugin_info} = [qw /
+ SELECT_TYPE_INFO_NONE
+ CR_CPU
+ CR_SOCKET
+ CR_CORE
+ CR_MEMORY
+ CR_SOCKET_MEMORY
+ CR_CORE_MEMORY
+ CR_CPU_MEMORY
+ /];
+
$constants{select_jobdata_type} = [qw /
SELECT_JOBDATA_GEOMETRY
SELECT_JOBDATA_ROTATE
@@ -251,6 +254,7 @@ $constants{select_jobdata_type} = [qw /
SELECT_JOBDATA_IONODES
SELECT_JOBDATA_NODE_CNT
SELECT_JOBDATA_ALTERED
+ SELECT_JOBDATA_MAX_CPUS
SELECT_JOBDATA_BLRTS_IMAGE
SELECT_JOBDATA_LINUX_IMAGE
SELECT_JOBDATA_MLOADER_IMAGE
20 contribs/perlapi/libslurm/perl/Slurm.xs → contribs/perlapi/libslurm-perl/Slurm.xs
View
@@ -501,15 +501,16 @@ slurm_get_select_jobinfo_char_type(slurm_t self, SV* jobinfo = NULL, int data_ty
U16
slurm_get_select_nodeinfo_subcnt(slurm_t self, SV *nodeinfo, int state)
CODE:
- RETVAL = -1;
if(nodeinfo) {
- uint16_t tmp16;
- int rc = slurm_get_select_nodeinfo(
- (select_nodeinfo_t *)SV2ptr(nodeinfo),
- SELECT_NODEDATA_SUBCNT, state, &tmp16);
- if(rc != -1) {
+ uint16_t tmp16;
+ RETVAL = slurm_get_select_nodeinfo(
+ (select_nodeinfo_t *)SV2ptr(nodeinfo),
+ SELECT_NODEDATA_SUBCNT, state, &tmp16);
+ if(RETVAL != -1) {
RETVAL = tmp16;
}
+ } else {
+ RETVAL = -1;
}
OUTPUT:
RETVAL
@@ -517,15 +518,16 @@ slurm_get_select_nodeinfo_subcnt(slurm_t self, SV *nodeinfo, int state)
U16
slurm_get_select_nodeinfo_subgrp_size(slurm_t self, SV *nodeinfo)
CODE:
- RETVAL = -1;
if(nodeinfo) {
uint16_t tmp16;
- int rc = slurm_get_select_nodeinfo(
+ RETVAL = slurm_get_select_nodeinfo(
(select_nodeinfo_t *)SV2ptr(nodeinfo),
SELECT_NODEDATA_SUBGRP_SIZE, 0, &tmp16);
- if(rc != -1) {
+ if(RETVAL != -1) {
RETVAL = tmp16;
}
+ } else {
+ RETVAL = -1;
}
OUTPUT:
RETVAL
131 contribs/perlapi/libslurm/perl/alloc.c → contribs/perlapi/libslurm-perl/alloc.c
View
@@ -29,42 +29,8 @@ hv_to_job_desc_msg(HV* hv, job_desc_msg_t* job_desc_msg)
slurm_init_job_desc_msg(job_desc_msg);
- FETCH_FIELD(hv, job_desc_msg, account, charp, FALSE);
- FETCH_FIELD(hv, job_desc_msg, acctg_freq, uint16_t, FALSE);
- FETCH_FIELD(hv, job_desc_msg, alloc_node, charp, FALSE);
- FETCH_FIELD(hv, job_desc_msg, alloc_resp_port, uint16_t, FALSE);
- FETCH_FIELD(hv, job_desc_msg, alloc_sid, uint32_t, FALSE);
- /* argv, argc */
- if((svp = hv_fetch(hv, "argv", 4, FALSE))) {
- if(SvROK(*svp) && SvTYPE(SvRV(*svp)) == SVt_PVAV) {
- argv_av = (AV*)SvRV(*svp);
- job_desc_msg->argc = av_len(argv_av) + 1;
- if (job_desc_msg->argc > 0) {
- Newz(0, job_desc_msg->argv, (int32_t)(job_desc_msg->argc + 1), char*);
- for(i = 0; i < job_desc_msg->argc; i ++) {
- if((svp = av_fetch(argv_av, i, FALSE)))
- *(job_desc_msg->argv + i) = (char*) SvPV_nolen(*svp);
- else {
- Perl_warn(aTHX_ "error fetching `argv' of job descriptor");
- free_job_desc_msg_memory(job_desc_msg);