Skip to content
Home » News » Revolution-4.40-120126

Revolution-4.40-120126

Revolution-4.40-120126

Motivation

  • Fix compiles on Windows 10 caused by missing GroupMasks / GroupCount members in the cache relationship structure.
  • Provide a safe fallback to the older Windows 10 struct layout so L3 cache domain detection works on both Windows 10 and Windows 11.
  • Avoid functional changes while making the code resilient to platform struct differences.

Description

  • Add #include <type_traits> to enable SFINAE-based detection of Cache.GroupCount in the logical processor info struct.
  • Introduce HasGroupCount type-trait and two overloads of readCacheMembers that select the correct member access pattern depending on presence of GroupCount.
  • Use readCacheMembers(info, is_cpu_allowed) to populate L3Domain::cpus instead of directly accessing info->Cache.GroupCount / GroupMasks.
  • Keep behavior unchanged for systems where the newer members exist while falling back to the Windows 10 GroupMask layout when needed.

Testing

  • Attempted to run make -j2 to build, but it failed because there is no Makefile in this repository, so no full build/test was executed.
  • No automated unit tests were executed as part of this change in the current environment.
  • Static checks (searches/inspections) were used to verify the new helper is referenced where the old members were accessed and the file compiles locally with the added includes in environments that provide a build system.
  • Upstream patch indicates “No functional change” for this fix (informational only).

Leave a Reply

Your email address will not be published. Required fields are marked *