X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:mime-version :content-type; q=dns; s=default; b=KyY4a8E4lOSyms6ZSEQ/jJ5Wgthmb I4H8IDqpH2/eQBbDv1/IAMXNl+ehkKLt/uHx9qOj8euvAyFWIaRWohbP5dW6GPly 2GITECbqygdz9YW/UCrHlfZXx74KGduqJqVeQYgKMdAWHLA72tPKrkuY29BiCGbV lAmAkKIr+/ZGOA= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:mime-version :content-type; s=default; bh=XKWLFlGmz/00ckEZA5FLpr2lC4Y=; b=D9v GxmJLwl4OUW2KSkhOYS9iZ3h6Ka/et5lEgMJ4gTfhyBcsguhDD8QlTjhqQ6GSb/9 b+93bh9v3V5OxPaFYggjhZSucuuhYeDWjtcNDQY1IClhgyOskWTmeSn1ccHsIQGJ 5P5vESzzKS/swbvexFLgMY7SBzkX4dSwaW5yF9HA= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.2 spammy=blogs, advertised, UD:t, interestingly X-HELO: mx009.vodafonemail.xion.oxcs.net From: Achim Gratz To: cygwin AT cygwin DOT com Subject: More oddities with multiple processor groups Date: Wed, 11 Apr 2018 20:05:04 +0200 Message-ID: <87in8xwre7.fsf@Rainer.invalid> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-VADE-STATUS: LEGIT I seem to be the first to try Cygwin on a box that has multiple processor groups, which seems odd. Anyway, I've already noticed two more things that indicate that Cygwin and/or Cygwin applications currently don't deal well with the situation: 1. Trying to run top, it shows only the first 16 processors and then exits with an error that "openproc failed". Interestingly enough it will keep running despite this error when running under strace (still only showing the processors from one group, presumably the one that top got started in). 2. Git will correctly determine that it can use 32 threads for garbage collection, but it starts them all in the same processor group. 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. Some more info on these differences (and already a bit outdated w.r.t. the way processor groups are formed): https://software.intel.com/en-us/blogs/2010/12/16/tbb-30-high-end-many-cores-and-windows-processor-groups If it would be possible for Cygwin to hide that ugliness from Cygwin applications I think that'd be highly welcome. Otherwise there might need to be some option to restrict Cygwin to a single processor group for some applications to work (correctly). Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf rackAttack: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple