Corinna Vinschen wrote:
On Jun 30 15:59, Mark Geisert wrote:
This patch supplies an implementation of the CPU_SET(3) processor
affinity macros as documented on the relevant Linux man page.
---
winsup/cygwin/include/sys/cpuset.h | 62 +++++++++++++++++++++++++++---
winsup/cygwin/sched.cc | 8 ++--
2 files changed, 60 insertions(+), 10 deletions(-)
[...]
+#define CPU_SETSIZE 1024 // maximum number of logical processors tracked
+#define NCPUBITS (8 * sizeof (__cpu_mask)) // max size of processor group
+#define CPU_GROUPMAX (CPU_SETSIZE / NCPUBITS) // maximum group number
-#define __CPUELT(cpu) ((cpu) / __NCPUBITS)
-#define __CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))
+#define CPU_WORD(cpu) ((cpu) / NCPUBITS)
+#define CPU_MASK(cpu) ((__cpu_mask) 1 << ((cpu) % NCPUBITS))
I wouldn't do that. Three problems:
[...]
There's also the request from Sebastian on the newlib list to
consolidate the cpuset stuff from RTEMS and Cygwin into a single
definition.
[...]
I've also found that taskset isn't working properly on my build system with
the new CPU_SET code, though my other testcases are. So even as submitted,
and fixed per your comments here, there's a bit more to be done.
..mark