On Apr 11 09:02, Corinna Vinschen wrote: > THanks for the report but this belongs to the cygwin ML. > I'm redirecting this here. > > > Corinna > > On Apr 10 18:36, Achim Gratz wrote: > > > > As briefly discussed on IRC I've got a new Server 2016 blade with 2 > > sockets × 8 cores × 2 HT =32 logical processors and Cygwin spews errors > > for processor ID 16 and up (also top doesn't quite work, which likely > > has the same reason, although the code path may be unrelated to the > > /proc/cpuinfo bug described here). > > > > --8<---------------cut here---------------start------------->8--- > > 64bit (166)~ > cat /proc/cpuinfo > > 0 [main] cat 10068 format_proc_cpuinfo: SetThreadGroupAffinity(10000,0 (10/16)) failed Win32 error 87 > > [...] > > This results in Windows coming up with two 64 core processor groups that > > have 16 active logical processors each: > > > > --8<---------------cut here---------------start------------->8--- > > (gdb) print plpi > > $1 = (PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX) 0x600008020 > > (gdb) print *plpi > > $2 = {Relationship = RelationGroup, Size = 128, {Processor = {Flags = 2 '\002', Reserved = "\000\002", '\000' , GroupCount = 0, > > GroupMask = {{Mask = 4160, Group = 0, Reserved = {0, 0, 0}}}}, NumaNode = {NodeNumber = 131074, Reserved = '\000' , > > GroupMask = {Mask = 4160, Group = 0, Reserved = {0, 0, 0}}}, Cache = {Level = 2 '\002', Associativity = 0 '\000', LineSize = 2, CacheSize = 0, > > Type = CacheUnified, Reserved = '\000' , "@\020\000\000\000\000\000", GroupMask = {Mask = 0, Group = 0, Reserved = {0, 0, > > 0}}}, Group = {MaximumGroupCount = 2, ActiveGroupCount = 2, Reserved = '\000' , GroupInfo = {{ > > MaximumProcessorCount = 64 '@', ActiveProcessorCount = 16 '\020', Reserved = '\000' , ActiveProcessorMask = 65535}}}}} > > --8<---------------cut here---------------end--------------->8--- > > > > I've confirmed that the error message is not printed if I manually > > correct the information for processor ID 17 as follows: > > [...] I'm a bit puzzled about the connection between MaximumProcessorCount and ActiveProcessorCount here. Why isn't MaximumProcessorCount 16 as well? Setting it to 64 doesn't make any sense for a system with 32 logical CPUs in total. I'm not sure just simply using ActiveProcessorCount rather than MaximumProcessorCount is the right thing to do... > > As an aside, the cache size is reported as 256kiB (not just for this > > processor, but also for a Celeron 1037U on another machine), which seems > > to be the L2 cache for a single hardware core on these architectures. > > Linux now reports L3 cache sizes (and possibly L4 if present) for these > > (20MiB and 2MiB per socket respectively). L3 is easy. Checking the Linux kernel source I don't see that it reports L4. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat