feedback icon indicating copy to clipboard operation
feedback copied to clipboard

GetLogicalProcessorInformationEx() doc missing for Dies and Modules

Open bgoglin opened this issue 1 year ago • 4 comments

Hello

The documentation of GetLogicalProcessorInformationEx (for instance in https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getlogicalprocessorinformationex) cites RelationProcessorModule and RelationProcessorDie as (new) possible relation values but it needs some clarification.

What should we expect on processor with no concept of die (no support in x86 CPUID for instance) or with a single die per CPU (recent processor with CPUID support for die/module enumeration but single die and single module)? Should we expect that GetLogicalProcessorInformationEx(RelationAll) will always return one RelationProcessorDie (equal to RelationProcessorPackage) and one RelationProcessorModule (same)? Or should we expect none?

I don't have a machine with multiple dies or modules per CPU, GetLogicalProcessorInformationEx(RelationAll) currently doesn't report any RelationProcessorDie or RelationProcessorModule there. But if I query Dies explicitly with GetLogicalProcessorInformationEx(RelationProcessorDie) I get one relation (identical to Package). And if I query Modules explicitly with GetLogicalProcessorInformationEx(RelationProcessorModule), I get error 0x1F. Is this the intended behavior?

Can you explicit it in the doc? This currently makes the development of the hwloc library difficult. Thank you

bgoglin avatar May 16 '23 17:05 bgoglin

Thank you for opening an issue! One of our team members will get back to you with additional information.

If this is a product issue, please close this issue and contact the product's support instead. For a list of support websites, see Support for Microsoft products and apps.

welcome[bot] avatar May 16 '23 17:05 welcome[bot]

FYI @Karl-Bridge-Microsoft

gewarren avatar May 19 '23 19:05 gewarren

Thanks @gewarren - I've contacted a feature dev for assistance.

Karl-Bridge-Microsoft avatar May 19 '23 20:05 Karl-Bridge-Microsoft

Hello, I see that the documentation of SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX was updated in February 2024 (I guess the change is the addition of Dies and Modules), but the above questions still remain about the behavior of GetLogicalProcessorInformationEx() for these new types. Thanks

bgoglin avatar Apr 16 '24 13:04 bgoglin