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/