https://bugs.winehq.org/show_bug.cgi?id=45453
--- Comment #4 from Juha Lepola fluxie@kapsi.fi --- I think I know what the problem is. The command "cat /sys/devices/system/cpu/cpu0/topology/thread_siblings" reports two different siblings masks separated with a comma on my machine: "00000000,00010001".
The implementation in the function "create_logical_proc_info" seems to parse only the first mask. Because the first mask is only zeros the number of logical CPUs will be zero on my machine. I have ThreadRipper 1950X.
Parsing the siblings from "/sys/devices/system/cpu/cpu0/topology/thread_siblings_list" would be more straightforward if more inefficient. But on the other hand, if we used "thread_siblings_list" to create the "thread_mask" mask in "create_logical_proc_info" then we wouldn't have to read "thread_siblings" at all.
I can write a patch but I would like to know if it was acceptable to use "thread_siblings_list" instead of "thread_siblings"?