Re: [RFC] Multiprocessor Control Interfaces

From: Jason Baietto (
Date: Mon Dec 10 2001 - 20:59:23 EST

Some people have asked me for more information before they'll attempt
to download and play with this stuff, so here's the --help output from
the latest version of the run(1) command:

Set scheduling parameters and CPU bias for a new process or a list
of existing processes.

OPTIONS can be one or more of the following options:

   -b, --bias=LIST Set the CPU bias to the LIST of CPUs;
                          CPUs are numbered starting from 0
   -s, --policy=POLICY Set the scheduling policy to POLICY
   -P, --priority=LEVEL Set the scheduling priority to LEVEL
   -q, --quantum=QUANTUM Set the SCHED_RR quantum to QUANTUM
   -v, --version Output version information and exit
   -h, --help Display this help and exit

PROCESS_SPECIFIER is exactly one of the following options:

   -p, --pid=LIST Specify LIST of existing PIDs to modify
   -g, --group=LIST Specify LIST of process groups to modify; all
                          existing processes in the groups will be modified
   -u, --user=LIST Specify LIST of users to modify; all existing
                          processes owned by the users will be modified
   -n, --name=LIST Specify LIST of existing process names to modify

Multiple comma separated values can be specified for all LISTs and ranges
are allowed where appropriate (e.g. "run -b 0,1-3 autopilot").

See the run(1) man page for more information.

Take care,

> Hello All,
> I'm currently working on adding multiprocessor control interfaces
> to Linux. My current efforts can be found here:
> These are clean-room implementations of similar tools that have
> been available in our proprietary *nix for quite some time, and
> so the interfaces have a fair amount of mileage under their belts.
> Note that the scope is somewhat wider than just MP.
> There has been some discussion of "chaff" and other interfaces
> recently on this list, so in an effort to hopefully move towards
> a standard more quickly I've gotten permission from my employer
> to GPL the code I've written. I'm very interested in comments
> and feedback on any or all of this work.
> Here's the README file from the package:
> This package contains:
> run(1)
> A multiprocessor control command line tool.
> mpadvise(3)
> A multiprocessor control library interface.
> These services rely upon Robert Love's CPU Affinity patch
> (version 2.4.16-1 was used for testing) which is available here:
> To build the code, simply unpack it and type "make". The code has
> been tested on Red Hat 7.1 and 7.2 systems, though it is still
> fairly new and almost certainly contains bugs.
> An attempt was made to abstract the "cpuset" representation of
> the current system in order to have binaries that in theory
> could work on systems with more than 32 cpus. For this to work,
> the run(1) command would need to be linked against a shared
> mpadvise(3) library (currently only a static library is made).
> This code is being released in the hopes that it will become
> the basis for the Linux multiprocessor control standard interfaces.
> I am very interested in getting feedback on this package,
> so please contact me via email or LKML if you have any.
> This source code is licensed under the GNU GPL Version 2.
> Copyright (C) 2001 Concurrent Computer Corporation
> --
> Jason Baietto

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Sat Dec 15 2001 - 21:00:19 EST