It strange. We need to check the operation of the getHyperTwin function.
As we can see. we can read just one variable from the thread_sibling_list file.
https://github.com/PlatformLab/CoreArbiter/blob/master/src/CoreArbiterServer.cc#L975
- on Intel i5 CPU: The function will not be normal.
invain@u1604:/sys/devices/system/cpu/cpu0/topology$ ls -al
합계 0
drwxr-xr-x 2 root root 0 4월 16 07:30 .
drwxr-xr-x 8 root root 0 4월 16 07:30 ..
-r--r--r-- 1 root root 4096 4월 16 07:30 core_id
-r--r--r-- 1 root root 4096 4월 16 08:30 core_siblings
-r--r--r-- 1 root root 4096 4월 16 10:32 core_siblings_list
-r--r--r-- 1 root root 4096 4월 16 07:30 physical_package_id
-r--r--r-- 1 root root 4096 4월 16 07:30 thread_siblings
-r--r--r-- 1 root root 4096 4월 16 07:30 thread_siblings_list
invain@u1604:/sys/devices/system/cpu/cpu0/topology$ cat ./thread_siblings
1
invain@u1604:/sys/devices/system/cpu/cpu0/topology$ cat ./thread_siblings_list
0
invain@u1604:/sys/devices/system/cpu/cpu0/topology$
It strange. We need to check the operation of the
getHyperTwinfunction.As we can see. we can read just one variable from the thread_sibling_list file.
The existing source code:
Analysis
invain@u1604:/sys/devices/system/cpu/cpu0/topology$ ls -al 합계 0 drwxr-xr-x 2 root root 0 4월 16 07:30 . drwxr-xr-x 8 root root 0 4월 16 07:30 .. -r--r--r-- 1 root root 4096 4월 16 07:30 core_id -r--r--r-- 1 root root 4096 4월 16 08:30 core_siblings -r--r--r-- 1 root root 4096 4월 16 10:32 core_siblings_list -r--r--r-- 1 root root 4096 4월 16 07:30 physical_package_id -r--r--r-- 1 root root 4096 4월 16 07:30 thread_siblings -r--r--r-- 1 root root 4096 4월 16 07:30 thread_siblings_list invain@u1604:/sys/devices/system/cpu/cpu0/topology$ cat ./thread_siblings 1 invain@u1604:/sys/devices/system/cpu/cpu0/topology$ cat ./thread_siblings_list 0 invain@u1604:/sys/devices/system/cpu/cpu0/topology$