From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 72144 invoked by alias); 13 Apr 2018 17:22:35 -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 72133 invoked by uid 89); 13 Apr 2018 17:22:34 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 spammy=UD:t, Canada, H*Ad:D*ca, inglis X-HELO: smtp-out-so.shaw.ca Received: from smtp-out-so.shaw.ca (HELO smtp-out-so.shaw.ca) (64.59.136.139) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 13 Apr 2018 17:22:32 +0000 Received: from [192.168.1.100] ([24.64.240.204]) by shaw.ca with ESMTP id 72P7fW4WLLkoz72P8fjZcJ; Fri, 13 Apr 2018 11:22:31 -0600 X-Authority-Analysis: v=2.3 cv=OeS28CbY c=1 sm=1 tr=0 a=MVEHjbUiAHxQW0jfcDq5EA==:117 a=MVEHjbUiAHxQW0jfcDq5EA==:17 a=IkcTkHD0fZMA:10 a=QyXUC8HyAAAA:8 a=B6mlKY4akW7_WWLOp5UA:9 a=QEXdDO2ut3YA:10 Reply-To: Brian.Inglis@SystematicSw.ab.ca Subject: Re: More oddities with multiple processor groups To: cygwin@cygwin.com References: <87in8xwre7.fsf@Rainer.invalid> From: Brian Inglis Message-ID: Date: Fri, 13 Apr 2018 17:22:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <87in8xwre7.fsf@Rainer.invalid> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfFTclRBl7hS/1kZbSKL2NHMUFmCcthjwN27qEhMlCnK68rIIRzpFdKFBmLJ50ip82H0DmVlv/mViknfrMhM5TXx3rRkImDnMuGIQFlpUSHn0O+lSbDfY X0Tj/8EaQGfIvoTLRVw4j5hLKel0ZX20MjULrZNLOVkFcUh2FOubePo+U4kRIqZDceRsaaGxqtG3/Q== X-IsSubscribed: yes X-SW-Source: 2018-04/txt/msg00152.txt.bz2 On 2018-04-11 12:05, Achim Gratz wrote: > 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). Have you tried installing and running hwloc package to find out how it sees your system? If you run lstopo under X, you get a pretty diagram, but you can also run lstopo-no-graphics aka hwloc-ls without X. Running "apropos hwloc" lists commands you can use to manipulate the topology. -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada -- 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