[RFC] Multiprocessor Control Interfaces

Jason Baietto
2001-12-10T20:15:27Z

Hello All,

I'm currently working on adding multiprocessor control interfaces
to Linux. My current efforts can be found here:

http://www.ccur.com/realtime/oss

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:

http://www.kernel.org/pub/linux/kernel/people/rml/cpu-affinity/v2.4/

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
jason.baiett@ccur.com