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/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]