Hello everyone,

I am trying to set affinity on a program to make sure I can get the
best use of the cache as possible and to eliminate as much noise as
possible with running my program.  I have tried unsuccessfully to set
affinity using sched_set/getaffinity and the CPU_SET macros.  In
particular, I can not seem to get the process to use affinity I
specify as in:

int main () {
 cpu_set_t mask;
 cpu_set_t setmask;
 long long x;
 double foo;
 printf("Mask set to %08lx\n", sched_getaffinity(0, &mask));
 CPU_SET(1, &mask);
 if (sched_setaffinity(0, &mask) == -1) {
    printf("error setting affinity.");
 }

 printf("Mask is reset to %08lx\n", sched_getaffinity(0, &mask));
 // do some long lasting calculations ....

 return;
}

No mater what I do, the process is never bond to the processor in
question as exposed by this little appy and by cat /proc/<pid>/cpu.
Is this just impossible to do?

Ah, the kernel I am using is RH 2.4.21-37.ELsmp.

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

Reply via email to