From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 117590 invoked by alias); 11 Apr 2018 18:05:13 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 117573 invoked by uid 89); 11 Apr 2018 18:05:12 -0000 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 Received: from mx009.vodafonemail.xion.oxcs.net (HELO mx009.vodafonemail.xion.oxcs.net) (153.92.174.39) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 11 Apr 2018 18:05:10 +0000 Received: from vsmx002.vodafonemail.xion.oxcs.net (unknown [192.168.75.192]) by mta-6-out.mta.xion.oxcs.net (Postfix) with ESMTP id 88F20D9BC11 for ; Wed, 11 Apr 2018 18:05:07 +0000 (UTC) Received: from Gertrud (unknown [91.47.59.44]) by mta-6-out.mta.xion.oxcs.net (Postfix) with ESMTPA id 640C7199C43 for ; Wed, 11 Apr 2018 18:05:05 +0000 (UTC) From: Achim Gratz To: cygwin@cygwin.com Subject: More oddities with multiple processor groups Date: Wed, 11 Apr 2018 18:05:00 -0000 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 X-SW-Source: 2018-04/txt/msg00132.txt.bz2 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