There is a problem in the linux code:

[twoodall@roadkill linux]$ svn diff
Index: paffinity_linux_module.c
===================================================================
--- paffinity_linux_module.c    (revision 6884)
+++ paffinity_linux_module.c    (working copy)
@@ -162,7 +162,7 @@
    We do not have the CPU_ZERO(), CPU_SET(), CPU_ISSET(), etc. macros.
  ************************************************************************/

-static int make_mask(unsigned int &len, unsigned long **mask)
+static int make_mask(unsigned int *len, unsigned long **mask)
 {


Tim


[twoodall@roadkill linux]$

Is anyone having problems compiling the "linux" paffinity component?

It turns out that there are *3* different implementations of the Linux system call sched_setaffinity() (and 3 different corresponding prototypes -- #@$@#$%!!!). The differences seem to be loosely categorized as:

1. implementation that was back-ported to 2.4 kernels (the one that is listed in sched_setaffinity(2))
2. implementation in early 2.6 kernels
3. implementation in later 2.6 kernels

(although there seem to be some exceptions to the above categorization)

Plus, at least some 2.4 kernels seem to have broken aspects. Or is it glibc? Who knows, who cares: in some places, the CPU_ZERO() macro won't compile.

The default code path is for case #3. I have fixes for all cases ready to commit, but they involve changes to that component's configure.m4, which means making everyone re-run autogen.sh.

Unless someone is actively running into compilation problems now, I was planning until waiting until tonight to commit (observing the "try not to cause people to re-run autogen.sh during the US work day" rule).

Reply via email to