Permalink
Browse files

This commit was manufactured by cvs2svn to create tag

'slurm-0-3-13-1'.
  • Loading branch information...
1 parent 8e60bcf commit 5a167a66357ad5c68204a563869606ba08ef6546 no author committed Apr 15, 2005
View
4 META
@@ -9,8 +9,8 @@
Name: slurm
Major: 0
Minor: 3
- Micro: 7
- Version: 0.3.7
+ Micro: 13
+ Version: 0.3.13
Release: 1
API_CURRENT: 5
API_AGE: 4
View
43 NEWS
@@ -1,6 +1,49 @@
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 0.3.13
+=========================
+ -- "sinfo -i" no longer aborts when nodes have associated features
+
+* Changes in SLURM 0.3.12
+=========================
+ -- Always report job scheduling details (so prolog/epilog can find
+ constraints).
+
+* Changes in SLURM 0.3.11
+=========================
+ -- Fixes for reported problems:
+ - slurm/538: user tasks block writing to stdio
+ -- Added srun option --disable-status,-X to disable srun status feature
+ and instead forward SIGINT immediately to job upon receipt of Ctrl-C.
+ -- Fix for bogus slurmd error message "Unable to put task N into pgrp..."
+ -- Fix case where slurmd may erroneously detect shared memory entry
+ as "stale" and delete entry for unkillable or slow-to-exit job.
+ -- (qsnet) Fix for running slurmd on node without and elan3 adapter.
+
+* Changes in SLURM 0.3.10
+=========================
+ -- Move startup script from "/etc/rc.d/init.d/slurm" to "/etc/init.d/slurm"
+ -- Avoid creating orphaned process group when starting job processes.
+ -- Remove calls in auth/munge plugin deprecated by munge-0.4.
+
+* Changes in SLURM 0.3.9
+========================
+ -- Fixes for reported problems:
+ - slurm/512: Let job steps run on DRAINING nodes
+ - slurm/513: Gracefully deal with UIDs missing from passwd file
+ -- Create new allocation as needed for debugger in case old allocation
+ has been purged
+ -- Fix bug in scheduling jobs when a processor count is specified
+ and FastSchedule=0 and the cluster is heterogeneous.
+ -- Fix srun bug when --input, --output and --error are all "none"
+ -- Allow single task id to be selected with --input, --output, and --error.
+ -- Create shared memory segment for Elan statistics when using the
+ switch/elan plugin.
+
+* Changes in SLURM 0.3.8
+========================
+ -- More fixes necessary for TotalView.
* Changes in SLURM 0.3.7
========================
View
@@ -171,6 +171,7 @@ Possible values are"YES" and "NO".
Set the job's required features on nodes specified value. Multiple values
may be comma separated if all features are required (AND operation) or
separated by "|" if any of the specified features are required (OR operation).
+Value may be cleared with blank data value, "Features=".
.TP
\fIJobId\fP=<id>
Identify the job to be updated. This specification is required.
@@ -196,6 +197,7 @@ Set the job's priority to the specified value.
\fIReqNodeList\fP=<nodes>
Set the job's list of required node. Multiple node names may be specified using
simple node range expressions (e.g. "lx[10-20]").
+Value may be cleared with blank data value, "ReqNodeList=".
.TP
\fIReqNodes\fP=<count>
Set the job's count of required nodes to the specified value.
@@ -232,8 +234,9 @@ changing its underlying state.
\fBSPECIFICATIONS FOR UPDATE AND DELETE COMMANDS, PARTITIONS\fR
.TP
\fIAllowGroups\fP=<name>
-Identify the user groups which may use this partition. Multiple groups
-may be specified in a comma separated list.
+Identify the user groups which may use this partition.
+Multiple groups may be specified in a comma separated list.
+To permit all groups to use the partition specify "AllowGroups=ALL"
.TP
\fIDefault\fP=<yes|no>
Specify if this partition is to be used by jobs which do not explicitly
@@ -249,6 +252,7 @@ Possible values are"YES" and "NO".
Identify the node(s) to be associated with this partition. Multiple node names
may be specified using simple node range expressions (e.g. "lx[10-20]").
Note that jobs may only be associated with one partition at any time.
+Specify a blank data value to remove all nodes from a partition: "Nodes=".
.TP
\fIPartitionName\fP=<name>
Identify the partition to be updated. This specification is required.
View
@@ -223,15 +223,24 @@ the job. By default only errors are displayed.
.TP
\fB\-W\fR, \fB\-\-wait\fR=\fIseconds\fR
Specify how long to wait after the first task terminates before terminating
-all remaining tasks. The default value is unlimited. This can be useful to
-insure that a job is terminated in a timely fashion in the event that one
-or more tasks terminate prematurely.
+all remaining tasks. A value of 0 indicates an unlimited wait (a warning will
+be issued after 60 seconds). The default value is set by the WaitTime
+parameter in the slurm configuration file (see \fBslurm.conf(5)\fR). This
+option can be useful to insure that a job is terminated in a timely fashion
+in the event that one or more tasks terminate prematurely.
.TP
\fB\-q\fR, \fB\-\-quit-on-interrupt\fR
Quit immediately on single SIGINT (Ctrl-C). Use of this option
disables the status feature normally available when \fBsrun\fR receives
a single Ctrl-C and causes \fBsrun\fR to instead immediately terminate the
-running job.
+running job.
+.TP
+\fB\-X\fR, \fB\-\-disable-status\fR
+Disable the display of task status when srun receives a single SIGINT
+(Ctrl-C). Instead immediately forward the SIGINT to the running job.
+A second Ctrl-C in one second will forcibly terminate the job and
+\fBsrun\fR will immediately exit. May also be set via the environment
+variable SLURM_DISABLE_STATUS.
.TP
\fB\-Q\fR, \fB\-\-quiet\fR
Quiet operation. Suppress informational messages. Errors will still
@@ -604,6 +613,9 @@ SLURM_TIMELIMIT
.TP
SLURM_WAIT
\fB\-W, \-\-wait\fR=\fIseconds\fR
+.TP
+SLURM_DISABLE_STATUS
+\fB\-X, \-\-disable-status\fR
.PP
Additionally,
.B srun
View
@@ -16,6 +16,11 @@
# $Id$
+BINDIR=/usr/bin
+CONFDIR=/etc/slurm
+LIBDIR=/usr/lib
+SBINDIR=/usr/sbin
+
# Source function library.
[ -f /etc/rc.d/init.d/functions ] || exit 0
. /etc/rc.d/init.d/functions
@@ -28,14 +33,17 @@ else
SLURMD_OPTIONS=""
fi
-[ -f /etc/slurm/slurm.conf ] || exit 1
+[ -f $CONFDIR/slurm.conf ] || exit 1
+
+# setup library paths for slurm and munge support
+export LD_LIBRARY_PATH="$LIBDIR:$LD_LIBRARY_PATH"
RETVAL=0
start() {
echo -n "starting $1: "
unset HOME MAIL USER USERNAME
- daemon /usr/sbin/$1 $2
+ daemon $SBINDIR/$1 $2
RETVAL=$?
echo
touch /var/lock/subsys/slurm
@@ -52,7 +60,7 @@ stop() {
}
startall() {
- for prog in `scontrol show daemons`; do
+ for prog in `$BINDIR/scontrol show daemons`; do
optvar=`echo ${prog}_OPTIONS | tr "a-z" "A-Z"`
start $prog ${!optvar}
done
@@ -68,7 +76,7 @@ slurmstatus() {
local rpid
local pidfile
- pidfile=`grep -i ${base}pid /etc/slurm/slurm.conf | grep -v '^ *#'`
+ pidfile=`grep -i ${base}pid $CONFDIR/slurm.conf | grep -v '^ *#'`
if [ $? = 0 ]; then
pidfile=${pidfile##*=}
pidfile=${pidfile%#*}
@@ -123,33 +131,34 @@ case "$1" in
startall
;;
stop)
- for prog in `scontrol show daemons`; do
+ for prog in `$BINDIR/scontrol show daemons`; do
stop $prog
done
;;
status)
- for prog in `scontrol show daemons`; do
+ for prog in `$BINDIR/scontrol show daemons`; do
slurmstatus $prog
done
;;
restart)
- $0 stop && $0 start
+ $0 stop
+ $0 start
;;
condrestart)
if [ -f /var/lock/subsys/slurm ]; then
- for prog in `scontrol show daemons`; do
+ for prog in `$BINDIR/scontrol show daemons`; do
stop $prog
start $prog
done
fi
;;
reconfig)
- for prog in `scontrol show daemons`; do
+ for prog in `$BINDIR/scontrol show daemons`; do
killproc $prog -HUP
done
;;
test)
- for prog in `scontrol show daemons`; do
+ for prog in `$BINDIR/scontrol show daemons`; do
echo "$prog runs here"
done
;;
View
@@ -24,8 +24,12 @@ Requires: openssl >= 0.9.6
#
%if %{?_with_debug:1}%{!?_with_debug:0}
%define _enable_debug --enable-debug
- %define __os_install_post /usr/lib/rpm/brp-compress
%endif
+#
+# Never allow rpm to strip binaries as this will break
+# parallel debugging capability
+#
+%define __os_install_post /usr/lib/rpm/brp-compress
%package devel
@@ -108,16 +112,16 @@ rm -rf "$RPM_BUILD_ROOT"
mkdir -p "$RPM_BUILD_ROOT"
DESTDIR="$RPM_BUILD_ROOT" make install
-install -D -m755 etc/init.d.slurm $RPM_BUILD_ROOT/etc/rc.d/init.d/slurm
+install -D -m755 etc/init.d.slurm $RPM_BUILD_ROOT/etc/init.d/slurm
install -D -m644 etc/slurm.conf.example $RPM_BUILD_ROOT/etc/slurm/slurm.conf
# Delete unpackaged files:
-rm -f $RPM_BUILD_ROOT/usr/lib/slurm/*.{a,la}
+rm -f $RPM_BUILD_ROOT/%{_libdir}/slurm/*.{a,la}
# Build file lists for optional plugin packages
for plugin in auth_munge auth_authd switch_elan; do
LIST=./${plugin}.files
touch $LIST
- test -f $RPM_BUILD_ROOT/usr/lib/slurm/${plugin}.so &&
+ test -f $RPM_BUILD_ROOT/%{_libdir}/slurm/${plugin}.so &&
echo %{_libdir}/slurm/${plugin}.so > $LIST
done
@@ -154,7 +158,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/slurm/sched_builtin.so
%{_libdir}/slurm/switch_none.so
%dir %{_libdir}/slurm/src
-%config(noreplace) /etc/rc.d/init.d/slurm
+%config(noreplace) /etc/init.d/slurm
%config(noreplace) /etc/slurm/slurm.conf
#############################################################################
@@ -189,29 +193,24 @@ rm -rf $RPM_BUILD_ROOT
#############################################################################
%pre
-#if [ -x /etc/rc.d/init.d/slurm ]; then
-# if /etc/rc.d/init.d/slurm status | grep -q running; then
-# /etc/rc.d/init.d/slurm stop
+#if [ -x /etc/init.d/slurm ]; then
+# if /etc/init.d/slurm status | grep -q running; then
+# /etc/init.d/slurm stop
# fi
#fi
%post
/sbin/ldconfig %{_libdir}
-if [ -x /etc/rc.d/init.d/slurm ]; then
- [ -x /sbin/chkconfig ] && /sbin/chkconfig --del slurm
+if [ $1 = 1 ]; then
[ -x /sbin/chkconfig ] && /sbin/chkconfig --add slurm
-# if ! /etc/rc.d/init.d/slurm status | grep -q running \
-# || ! /etc/rc.d/init.d/slurm test | grep -q slurmctld; then
-# /etc/rc.d/init.d/slurm start
-# fi
fi
%preun
-if [ "$1" = 0 ]; then
- if [ -x /etc/rc.d/init.d/slurm ]; then
+if [ $1 = 0 ]; then
+ if [ -x /etc/init.d/slurm ]; then
[ -x /sbin/chkconfig ] && /sbin/chkconfig --del slurm
- if /etc/rc.d/init.d/slurm status | grep -q running; then
- /etc/rc.d/init.d/slurm stop
+ if /etc/init.d/slurm status | grep -q running; then
+ /etc/init.d/slurm stop
fi
fi
fi
@@ -224,6 +223,11 @@ fi
%changelog
+* Fri Oct 01 2004 Mark Grondona <mgrondona@llnl.gov>
+- don't delete and add service in %post
+* Wed Aug 04 2004 Mark Grondona <mgrondona@llnl.gov>
+- don't allow rpm to strip binaries since this breaks interface to parallel
+ debuggers.
* Thu Jul 29 2004 Morris Jette <jette1@llnl.gov>
- added checkpoint_none.so and jobcomp_script.so plugins
* Fri Mar 07 2004 Mark Grondona <mgrondona@llnl.gov>
View
@@ -1,9 +1,9 @@
/*****************************************************************************
* $Id$
*****************************************************************************
- * $LSDId: cbuf.c,v 1.32 2003/01/03 21:08:19 dun Exp $
+ * $LSDId: cbuf.c,v 1.35 2005/01/13 00:41:17 dun Exp $
*****************************************************************************
- * Copyright (C) 2002-2003 The Regents of the University of California.
+ * Copyright (C) 2002-2005 The Regents of the University of California.
* Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
* Written by Chris Dunlap <cdunlap@llnl.gov>.
*
@@ -330,7 +330,7 @@ cbuf_size (cbuf_t cb)
assert(cb != NULL);
cbuf_mutex_lock(cb);
assert(cbuf_is_valid(cb));
- size = cb->size;
+ size = cb->maxsize;
cbuf_mutex_unlock(cb);
return(size);
}
@@ -344,7 +344,7 @@ cbuf_free (cbuf_t cb)
assert(cb != NULL);
cbuf_mutex_lock(cb);
assert(cbuf_is_valid(cb));
- nfree = cb->size - cb->used;
+ nfree = cb->maxsize - cb->used;
cbuf_mutex_unlock(cb);
return(nfree);
}
@@ -381,6 +381,12 @@ cbuf_lines_used (cbuf_t cb)
int
cbuf_reused (cbuf_t cb)
{
+/* If (O > R)
+ * n = O - R
+ * else
+ * n = (O - 0) + ((S+1) - R).
+ * (S+1) is used since data[] contains 'size' bytes + a 1-byte sentinel.
+ */
int reused;
assert(cb != NULL);
@@ -988,12 +994,11 @@ cbuf_write_from_fd (cbuf_t dst, int srcfd, int len, int *ndropped)
if (len == -1) {
/*
* Try to use all of the free buffer space available for writing.
- * If it is all in use, try to grab another chunk and limit the
- * amount of data being overwritten.
+ * If it is all in use, try to grab another chunk.
*/
len = dst->size - dst->used;
if (len == 0) {
- len = MIN(dst->size, CBUF_CHUNK);
+ len = CBUF_CHUNK;
}
}
if (len > 0) {
@@ -1275,7 +1280,7 @@ cbuf_get_fd (void *dstbuf, int *psrcfd, int len)
do {
n = read(*psrcfd, dstbuf, len);
- } while ((n < 0) && ((errno == EINTR) || (errno == EAGAIN)));
+ } while ((n < 0) && (errno == EINTR));
return(n);
}
Oops, something went wrong.

0 comments on commit 5a167a6

Please sign in to comment.