[ANNOUNCE] scheduler utilities

Robert Love (rml@mvista.com)
21 May 2002 09:37:49 -0700

I'll only announce this once as it lives in user, not kernel, space. It
is, however, infinitely related to the kernel and could use some eyes by
fellow kernel developers and users alike.

I ask that, in general, aside from this posting email correspondence be
kept off the list. This is not a kernel topic in the strictest since.
This is also an early release, so please keep that in mind when you make

Now with formalities done...

I would like to publicly announce "schedutils" - a suite of
scheduler-related tools for Linux. They are simple GNU-style utilities
in similar fashion as the other Linux utility packages - except they
manipulate the scheduler.

They are released under the GNU GPL v2.

Version 0.0.5 can be had at:

source tarball: http://tech9.net/rml/schedutils-0.0.5.tar.gz
i386 RPM: http://tech9.net/rml/schedutils-0.0.5-1.i386.rpm
source RPM: http://tech9.net/rml/schedutils-0.0.5-1.src.rpm

Currently there is no standard utilities for manipulating scheduler
parameters. Thus this has two goals: first, to provide utilities for
such manipulation. Second, and most importantly, to provide a
_standard_ suite of utilities for such manipulation. Something that can
be depended on to exist in distributions, etc. etc.

Right now the package consists of four utilities and their associated

rt(1) - get or set the real-time scheduling class and priority of an
existing pid, or launch a new task with a given class and priority.

taskset(1) - get or set the CPU affinity of a given pid, or launch a new
task with a given CPU affinity. This requires the 2.5 kernel or a
patched 2.4 kernel (see my website for patches).

irqset(1) - get or set the CPU affinity of a given interrupt. This is
implemented as a bash script which parses the `/proc' output.

lsrt(1) - list real-time processes on the system, their priorities, and
their scheduling class. Right now RT information is not exported out of
`/proc' so ps(1) does not display this information. A better solution
may be to export this information from `/proc' but for now this exists
(and is most likely much faster).

There is some basic information and complete man pages in the package.
The RPM was built on RedHat 7.3 but should work on any 7.x release and
perhaps even any glibc 2.2.x RPM-based distribution.

Source users can do:
./configure [options]
make install

I am open to any suggestions, bugs, patches, complaints, etc. The idea
here is to provide standard utilities for scheduler-related stuff.


Robert Love

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/