From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 129980 invoked by alias); 11 Apr 2019 08:38:46 -0000 Mailing-List: contact cygwin-developers-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner@cygwin.com Mail-Followup-To: cygwin-developers@cygwin.com Received: (qmail 129969 invoked by uid 89); 11 Apr 2019 08:38:46 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-106.9 required=5.0 tests=AWL,BAYES_00,GOOD_FROM_CORINNA_CYGWIN,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 spammy=desktop, H*F:D*cygwin.com, Manager X-HELO: mout.kundenserver.de Received: from mout.kundenserver.de (HELO mout.kundenserver.de) (212.227.126.135) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 11 Apr 2019 08:38:44 +0000 Received: from calimero.vinschen.de ([24.134.7.25]) by mrelayeu.kundenserver.de (mreue011 [212.227.15.167]) with ESMTPSA (Nemesis) id 1McpeM-1gecQw2dnO-00ZtoC; Thu, 11 Apr 2019 10:37:48 +0200 Received: by calimero.vinschen.de (Postfix, from userid 500) id 36427A806B7; Thu, 11 Apr 2019 10:37:45 +0200 (CEST) Date: Thu, 11 Apr 2019 08:38:00 -0000 From: Corinna Vinschen To: Mark Geisert Cc: cygwin-developers@cygwin.com Subject: Re: Implement sched_[gs]etaffinity() Message-ID: <20190411083745.GO4248@calimero.vinschen.de> Reply-To: cygwin-developers@cygwin.com Mail-Followup-To: Mark Geisert , cygwin-developers@cygwin.com References: <20190411082516.GN4248@calimero.vinschen.de> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="0NB0lE7sNnW8+0qW" Content-Disposition: inline In-Reply-To: <20190411082516.GN4248@calimero.vinschen.de> User-Agent: Mutt/1.11.3 (2019-02-01) X-SW-Source: 2019-04/txt/msg00030.txt.bz2 --0NB0lE7sNnW8+0qW Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-length: 1582 On Apr 11 10:25, Corinna Vinschen wrote: > Hi Mark, >=20 > On Apr 10 21:21, Mark Geisert wrote: > > I've recently sent a patch to cygwin-patches that implements these > > Linux-specific functions. I used the following test program to debug a= nd > > test the implementation. When the program is run, you can watch it mig= rate > > from CPU to CPU with Windows Task Manager. > >=20 > > I've only tested on 64-bit Windows 7 so far. If the code (in the patch= ) is > > adequate I will supply another patch for doc updates, etc. >=20 > Your patch is nicely done, but what about machines with more than 64 > CPUs? Your patch only uses the standard API for up to 64 CPUs, so a > process can never use more than 64 CPUs or use CPUs from different CPU > groups. There was also the case of this weird machine Achim Gratz once > worked on, which had less than 64 CPUs but *still* used multiple CPU > groups under Windows, for some reason. >=20 > Any chance you could update your patch to support this functionality? > For some info, see MSDN: >=20 > https://docs.microsoft.com/en-us/windows/desktop/ProcThread/processor-gro= ups >=20 > Also, there's already some code in fhandler_proc.cc, function > format_proc_cpuinfo to handle CPU groups. You can use the > wincap.has_processor_groups() method to check if the system > supports CPU groups. Btw., Glibc's cpu_set_t supports up to 1024 CPUs. See https://sourceware.org/git/?p=3Dglibc.git;a=3Dblob;f=3Dposix/bits/cpu-set.h This may be ok for the foreseable future, I guess. Thanks, Corinna --=20 Corinna Vinschen Cygwin Maintainer --0NB0lE7sNnW8+0qW Content-Type: application/pgp-signature; name="signature.asc" Content-length: 833 -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEoVYPmneWZnwT6kwF9TYGna5ET6AFAlyu/NkACgkQ9TYGna5E T6BQBw/6A2XUYFMbBB4qVG2nX3hFb3ky8b4scEs+KEmEop5uVEr1MNOim5l+wA4q Os/sEex7IXWxFfaKjtsh/iYPi2PJlS5ezrTxEmo0fLpAZRLtndNR2SXIwhckotdS NulVyHsRkZPGuyBczTeSp4PeJOc3Y9fxlEoMd1y044oyjeBCn7p5N6AIVrLr8Crm d2O5cUXOH4bpE9ci4nUOouzIv7Emg/ZOGKpH9NZV5+7gBaOdxVwhknSiXm1SYufH 3rpu+S+hl47ik3ZqjfEpHmInAOZQoA7EX/WZvORslNXgX7BevtCrW0liVX58WBGw nsvT8cSiOWE2Nt+HVdFOkQLRWa/cUwIFApaIyUYctwUJpixwEA83HEXFzrj1GAWd sy2uPr/QdHXinw4B7lfEIxNPzNusejC1Al+aUlo31PHaOGOblSBC8hXRStecrFUn bRl2Nx5GrssYLQVvdB1u+krz066cX1N3H5tJSpEBvMjHm4WtABE7kPZ3TSovi6GI kPfh3NC1jNd5QqQrsVlC5HxiecD5PslhslX5ZXAOEg2+CZVfhJ3+DOyI9rA03VZn vhKgfrEKxpxRN1Mwc/3aI7LWG9hc0PYsx5FeUWHUZ+SiHl8/ZVIemAIuEHzKJEL7 NCsYpA79Tn/cfEnfDtBst7uxtRoJY/FCOqWNIuqElsnh8gcAPZc= =SPiy -----END PGP SIGNATURE----- --0NB0lE7sNnW8+0qW--