https://bugs.winehq.org/show_bug.cgi?id=43277
--- Comment #28 from Berillions berillions@gmail.com --- (In reply to Roderick Colenbrander from comment #27)
Hm, okay. I forgot one small change for GetLogicalProcessorInformation (the test app uses the Ex version). Try to add the following change on top of the patch: diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c index 8995c362a9..315a91beee 100644 --- a/dlls/ntdll/nt.c +++ b/dlls/ntdll/nt.c @@ -1318,9 +1318,7 @@ static inline BOOL logical_proc_info_add_by_id(SYSTEM_LOGICAL_PROCESSOR_INFORMAT
(*pdata)[i].Relationship = rel; (*pdata)[i].ProcessorMask = mask;
/* TODO: set processor core flags */
(*pdata)[i].u.Reserved[0] = 0;
(*pdata)[i].u.Reserved[1] = id;
}else{ SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX *dataex;(*pdata)[i].u.ProcessCore.Flags = 0x1; *len = i+1;
This makes cores also reported as logical for GetLogicalProcessorInformation. I haven't been able to test or compile this.
After trying to find where the crash came from during the compilation, there is a typo error here :
(*pdata)[i].u.ProcessCore.Flags = 0x1; must be to replace by (*pdata)[i].u.ProcessorCore.Flags = 0x1;
And i test it without success. Always bad performance with all my cpus enabled.