Roderick Colenbrander : ntdll: Store core information by core on macOS.

Alexandre Julliard julliard at winehq.org
Fri Jun 22 18:32:38 CDT 2018


Module: wine
Branch: master
Commit: c6a71b91c5095e01eba08a6d02def259a0a46478
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=c6a71b91c5095e01eba08a6d02def259a0a46478

Author: Roderick Colenbrander <thunderbird2k at gmail.com>
Date:   Wed Jun 20 22:29:43 2018 -0700

ntdll: Store core information by core on macOS.

The id parameter can be used for core / package lookup. On Linux
we pass package or core values. On Mac, we use package for both.
Use a core identifier on Mac as well.

Signed-off-by: Roderick Colenbrander <thunderbird2k at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ntdll/nt.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/dlls/ntdll/nt.c b/dlls/ntdll/nt.c
index 985f58c..e4fec63 100644
--- a/dlls/ntdll/nt.c
+++ b/dlls/ntdll/nt.c
@@ -1811,6 +1811,7 @@ static NTSTATUS create_logical_proc_info(SYSTEM_LOGICAL_PROCESSOR_INFORMATION **
     for(p = 0; p < pkgs_no; ++p){
         for(j = 0; j < cores_per_package && p * cores_per_package + j < cores_no; ++j){
             ULONG_PTR mask = 0;
+            DWORD phys_core;
 
             for(k = 0; k < lcpu_per_core; ++k)
                 mask |= (ULONG_PTR)1 << (j * lcpu_per_core + k);
@@ -1822,7 +1823,8 @@ static NTSTATUS create_logical_proc_info(SYSTEM_LOGICAL_PROCESSOR_INFORMATION **
                 return STATUS_NO_MEMORY;
 
             /* add new core */
-            if(!logical_proc_info_add_by_id(data, dataex, &len, max_len, RelationProcessorCore, p, mask))
+            phys_core = p * cores_per_package + j;
+            if(!logical_proc_info_add_by_id(data, dataex, &len, max_len, RelationProcessorCore, phys_core, mask))
                 return STATUS_NO_MEMORY;
 
             for(i = 1; i < 5; ++i){




More information about the wine-cvs mailing list