[2/3] ntdll: Implement NtQuerySystemInformation/SystemLogicalProcessorInformation (try 6)

Vitaliy Margolen wine-devel at kievinfo.com
Sat Oct 9 17:26:45 CDT 2010


On 10/09/2010 12:37 PM, Rudolf Mayerhofer wrote:
 >>> +static SYSTEM_LOGICAL_PROCESSOR_INFORMATION cached_lpi[1024];
 >> You think there are systems with that many CPUs running Wine?
 > I honestly don't know the array is currently large enough to support
 > 146 CPU's with 4 unique Caches (L1i,L1d,L2,L3), each in it's own
 > processorpackage and numa node. This might be a bit of an overkill,
 > any suggestions how many cpu's are used with wine in the worst case?
Then you probably want to allocate it from the heap instead of creating a 
static array.

>> People already asked you not to do this. From looking at the code it
>> appears that there is always one node. So get rid of everything except
>> do{} while() block. It will do exactly what you want with extra if()s.
>
> This assumption is definitely wrong, on non-numa systems there is no node
> definition in SysFS. Windows on the same system shows one node and MSDN also
> hints that there should be a dummy node with number 0 and a processormask
> containing all known processors on the system in that case.

I'm not talking about the content of the SysFS. I'm talking about what your 
code does. If you remove that "if{} else{}" part and keep
"do{} while();" part as-is you will get exactly the same result.

Vitaliy.



More information about the wine-devel mailing list