From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9271 invoked by alias); 13 Apr 2018 18:29:37 -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 6907 invoked by uid 89); 13 Apr 2018 18:29:36 -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=H*Ad:D*ca X-HELO: smtp-out-so.shaw.ca Received: from smtp-out-so.shaw.ca (HELO smtp-out-so.shaw.ca) (64.59.136.138) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 13 Apr 2018 18:29:34 +0000 Received: from [192.168.1.100] ([24.64.240.204]) by shaw.ca with ESMTP id 73RzfWRq5Lkoz73S0fjpZr; Fri, 13 Apr 2018 12:29:32 -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=XMieiRAVHrDds7vgfVQA: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> <5AD0BAE5.2040904@tlinx.org> From: Brian Inglis Message-ID: <8829ca51-a131-a88b-4b36-00c965af0b2b@SystematicSw.ab.ca> Date: Fri, 13 Apr 2018 18:29: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: <5AD0BAE5.2040904@tlinx.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfBBnTaooPTgMpKEYrBmouwdpAAk3GPfHwfecxQY3Z6nm5d6YtWmUgVaB4NV0sZtxjLTJQM2fCDPZNTWZ//U1Qho3ris053GDYKtURLo7A0UNUK3PTvJO m2/dC66Spa/g+7M7yBm/902jyBKOOq+VwgaFlHFDQy1cGWJwwgcjUw/0Ef9BErgW9+cLZOxjw1KLcw== X-IsSubscribed: yes X-SW-Source: 2018-04/txt/msg00154.txt.bz2 On 2018-04-13 08:12, L A Walsh wrote: > 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. Glibc adds {pthread,sched}_...affinity... functions. Linux uses namespaces, control groups (cgroups), cpusets, sysfs/kernfs: util-linux provides unshare and taskset (not on Cygwin). BSDs use cpu or processor sets functions and commands. Mac OS X/Darwin supports either same or different thread cache affinity set and tag /hints/ (which could be used like cpu sets), but only cache sharing cpu counts, no explicit cpu identification or control. -- 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