This is a ChangeLog for the run(1) and mpadvise(3) 
multiprocessor control interfaces.

3.0  September 9, 2004
 - Added new run -t option to specify thread IDs
 - Made run -p apply to all threads in process
 - Changed run -a to apply to all threads and processes
 - Changed run -i to print both PID and TID
 - Changed run -i to not truncate process names
 - Added initial autoconf/automake support
 - Added mpadvise MPA_TID selector
 - Added run -l option as alias to -t (tid a.k.a. LWP)
 - Made mpadvise MPA_PID apply to all threads in process
 - Disallow use of run -a to set scheduling parameters due
   to kernel daemon migration issues (non-RedHawk only).

2.1  February 04, 2004
 - Made the code deal with both the old and new styles of
   sched_{set|get}affinity library routines.
 - Added the -a process specifier to select all processes
 - Changed many fatal errors to warnings to allow processing
   to continue in the presence of errors; an error code is
   still returned by the run command if any errors occurred
 - Changed included libraries and headers from GPL to LGPL

2.0  June 11, 2003
 - Minor code cleanups for second public release
 - Added USE_CPUCNTL_SYSCALL checks (off in public release)
 - Added USE_PROC_PID_AFFINITY checks (off in public release)
 - Added relevant man pages from RedHawk to public release
 - Switch to simpler version numbering scheme

1.1.3  March 1, 2003
 - Ignore hard-coded quantum nice-to-milliseconds table
   on systems supporting /proc/sys/sched.

1.1.2  October 27, 2002
 - Use sysconf instead of ad-hoc parsing /proc/cpuinfo
 - Added --cpus option for testing (undocumented)
 - Added more help output including --quantum=list,
   scheduler polices and priority ranges per policy

1.1.1  October 11, 2002
 - Changed run to make all errors fatal, after trying best
   to perform as much of the requested actions as possible
 - Fixed bug that caused "boot" and "active" keywords to
   be erroneously parsed as an integer list.
 - Added more error messages and made them more descriptive
 - Added --quantum option, taking nice value or milliseconds
 - Added --quantum=list option to show millisecond values

1.0.9  September 30, 2002
 - Changed run behavior when no options/arguments specified
   to be equivalent to --info of the run process itself

1.0.8  May 29, 2002
 - Fixed segfault caused by not checking return from
   pid_stat(PID_STAT_CMD)
 - Added code to handle /proc changes during walk better
 - Added --debug option (undocumented)
 - Turned on -Wall and -O3 and fixed all warnings

1.0.7  April 4, 2002
 - Update run to deal with latest cpu shielding tweaks
   (slightly modified file layout under /proc/shield)

1.0.6  February 22, 2002
 - Update run to deal with latest cpu shielding changes
   (only if the current system supports /proc/shield)
 - Added additional cpuset bitwise arithmetic operations

1.0.5  February 18, 2002
 - Added --info option
 - Changed pid_stat to open /proc/pid/stat read-only
   and added missing close for file descriptor (doh!)

1.0.4  February 15, 2002
 - Fixed getopt processing to stop as soon as a first
   non-option argument is encountered.

1.0.3  January 28, 2002
 - Added --copies option
 - Modified --fork behavior to exit immediately instead
   of waiting for all children

1.0.2  December 13, 2001
 - Added --fork option to execute command in background
 - Added initial man page source (cleanup to follow)
 - Changed run to call cpuset_alloc() instead of
   creating local cpuset_t instances.
 - Added --negate option to select all CPUs except
   those specified in the bias list
 - Added cpuset_copy() and cpuset_negate() functions
 - Added --version option

1.0.1  December 10, 2001
 - Initial release of clean-room code for Linux.
 - Requires Robert Love's cpu-affinity-2.4.16-1-patch.
 - The version is 1.0 as the interface has been in use
   at Concurrent for nearly a decade.
