More oddities with multiple processor groups

L A Walsh
Fri Apr 13 14:12:00 GMT 2018

Achim Gratz wrote:
> The problem here is that on Linux you don't need to do anything extra to
> use any of the advertised logical processors from a single application,
> while on Windows you need to first create a thread and set it's affinity
> to a different group than where your process was started in, then assign
> each new thread an affinity to one of the available groups.  If you
> don't do that, all threads will be restricted to the original group.
	Not exactly true.  They are not *restricted* -- it's a *feature*
of the Windows scheduler, in that future procs/threads inherit the
cpu of the parent.  Linux's scheduler is more advanced as well as
being replaceable.  MS doesn't want you to do that

> there might
> need to be some option to restrict Cygwin to a single processor group
> for some applications to work (correctly).
	There is.  Start them all on a single cpu & set the cpu 
mask.  Pretty much the same way you restrict procs on linux --
you can run them with a specific cpu mask, and most programs will
keep running w/that mask.

	Unfortunately, AFAIK, I don't think POSIX specifies
a way to set affinities, so I'm not sure how cygwin would do it.

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list