DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 52ABjwNN2725533 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 52ABjwNN2725533 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=crhgUwaR X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4598B3858C5F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1741607157; bh=wHVlIGl/ep0xRfagbWqkq7HzGhgh2wV2m5cm2VV0dXE=; h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=crhgUwaRAkwcq3gUZH4+UyS9dbv3RXyREmeboksKClkTOiuJZTYHiTDJ3GhRlK/0K qY9YfJTl+4tpVvaqxWyxvmYpk/uaPkuVOh938S3Cl0BAyLUSF0u3xUIY/ver+otXvk +DQOL2+2g/lJcpyD5BkzLJfzhwABcfgNtBkoC+jM= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9C22D3858CD9 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 9C22D3858CD9 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1741607097; cv=none; b=R+k457c+k7UQrKEHy4OU1T7OipS5r9sI9/vTjgBRC/Oc5K5vS1RdoJn9RYj09RUkDQ7+oRkgWyb+hcCM20kkuyYuWbp5tBxLOUX4w8GCwoWZXyfaRTLis4H3wU46/l6P1BCKqUUWufD9sUQk0nKUkxOKTycmvgr4tiwprl4e7/g= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1741607097; c=relaxed/simple; bh=OHjzwo2Gn8t18yS82HTdFMoAZRiqE19SkPtgEKAGJkI=; h=Subject:To:From:Message-ID:Date:MIME-Version; b=VOJ4KPPEP/zj1b6gn9KxA+Jrj8limM8PGou1jq3YvRvLco8io8D/3ZQVN0BR8gHbiNvaClIIvW4rKh//uspdNTf904piZMHlLO2mKuia4smAOkB0kjM6WHBjOytVEQNuul3/yVWUdqEjtp1RPk/NW8TJQLX0a71LPG/Fnfe4On8= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9C22D3858CD9 Subject: Re: sched_getaffinity() always returns the full cpu mask To: cygwin AT cygwin DOT com References: <378d90a0-bff5-36d1-d1f7-8a28e046af2a AT t-online DOT de> Message-ID: <47cfcb1c-8c4d-b24d-a246-0091e4db2404@t-online.de> Date: Mon, 10 Mar 2025 12:44:55 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 SeaMonkey/2.53.20 MIME-Version: 1.0 In-Reply-To: X-TOI-EXPURGATEID: 150726::1741607095-E97F997D-37D84413/0/0 CLEAN NORMAL X-TOI-MSGID: d4a5cc55-a96d-4f24-ba28-7ec28f92b870 X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Christian Franke via Cygwin Reply-To: cygwin AT cygwin DOT com Cc: Christian Franke Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 52ABjwNN2725533 Mark Geisert via Cygwin wrote: > Hi Christian, > > On 3/8/2025 9:11 AM, Christian Franke via Cygwin wrote: >> Testcase: >> >> $ grep processor /proc/cpuinfo | tail -1 # i7-14700K >> processor       : 27 >> >> $ sleep 60 & taskset 0x1 sleep 60 & >> [1] 62094 >> [2] 62095 >> >> $ taskset -p 62094 >> pid 62094's current affinity mask: fffffff >> >> $ taskset -p 62095 >> pid 62095's current affinity mask: fffffff > > This may well be the first test of Cygwin's affinity support on a > system where the cpu mask bit length isn't a power of 2.  I did test > such but seeing it on hardware is another matter. > > Are there in fact just 28 hardware processors on this system? ... One physical cpu with 20 cores and 28 threads (i7-14700K: 8P/HT + 12E) GetProcessAffinityMask(., ., &sysmask) returns sysmask=0xfffffff GetProcessGroupAffinity(., &groupcount, grouparray) returns groupcount=1, grouparray[0] = 0 > ... Does Windows (or Linux for that matter) allow one to set cpu group > size?  I would think the BIOS would want control over that, with the > OSs just providing read access to what was chosen.  For 28 processors, > a single group of 28 processors, or either 4 groups of 7 procs, or > 7x4, or even 2x14 or 14x2 are plausible if not all useful. I guess cpu groups are intended to reflect the physical cpus. I don't know whether this assignment could be changed. -- Regards, Christian -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple