Procstate patches for RedHat's 2.4.18 (+patches) kernel -------------------------------------------------------- This is not a port of pset to newer kernels. It is a new system call pair for Linux which makes some of the pset functionality possible. int sched_getprocstate(int cpu, int *state); int sched_setprocstate(int cpu, int state); These calls allow you to handle the state of a processor. States are currently defined as: PROC_ENABLED can run any task PROC_RESTRICTED can only run tasks that have their affinity (see sched_setaffinity) set to that CPU PROC_ISOLATED can only run tasks that have had their affinity set to that CPU by root In this directory you will find the kernel patch against Red Hat kernel 2.4.18-14. I think it all works. It gets pretty hairy in some parts. Test away. Also in this directory is a VERY ROUGH snapshot of the utils package. It is mostly just the old pset-utils package. You should be able to build libsysmp in the lib/ subdir, runon in the utils/ subdir, and all the tests in the tests/ subdir. I will spend more time on the tools now that the kernel side is "in beta". Planned: * libprocstate for apps * new 'procstate' command to manage procstates from cmdline * revised 'mpadmin' command which is another way of calling 'procstate' * libsysmp with most of sysmp() support wrapped around these syscalls. * a sourceforge site for all this * a 2.6.x port and submission for general integration to Linux-2.6 Maybe if I have time: * tie IRQ affinity in, somehow * ulimit style command to set your affinity * support fully-disabled CPUs Tim Hockin July 19, 2003