Messages in this thread |  | | From | Rusty Russell <> | Subject | Re: [PATCH] How to write a portable "run_on" program? | Date | Thu, 08 May 2003 17:00:24 +1000 |
| |
In message <Pine.LNX.4.44.0305072221120.16772-100000@home.transmeta.com> you write: > In other words, the proper way to do set_cpu() is > > int set_cpu(int cpu) > { > fd_set cpuset; > > FD_ZERO(&cpuset); > FD_SET(cpu, cpuset); > return sched_setaffinity(getpid(), sizeof(cpuset), &cpuset); > } > > which is a HELL OF A LOT more readable than the crap you're spouting > (either your "before" _or_ your "after" crap).
Sorry, I remember your solution now. You're absolutely right (still).
I preferred the "include/exclude" flag, which covers the "what to do when cpus come online/go offline" as well as the size issue, but that's personal preference.
However, I shall dutifully attack the glibc people for this, then (/usr/include/sched.h):
#ifdef __USE_GNU /* Set the CPU affinity for a task */ extern int sched_setaffinity (__pid_t __pid, unsigned long int __len, unsigned long int *__mask) __THROW;
/* Get the CPU affinity for a task */ extern int sched_getaffinity (__pid_t __pid, unsigned long int __len, unsigned long int *__mask) __THROW; #endif
Thanks! Rusty. -- Anyone who quotes me in their sig is an idiot. -- Rusty Russell. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |