-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incorrect detection number threads in multisocket motherboards on Windows #4766
Comments
This is the code location responsible for determining the number of "CPUs" (which really means "number of cores"): Lines 30 to 35 in 4991b61
@GermanAizek any idea how you could detect the correct number instead, using the Win32 API? |
@dscho I have already fixed this with mrexodia in x64dbg x64dbg/x64dbg#3272 |
@dscho GermanAizek/llvm-project@d1fa25f here is cleanest code after checking by llvm-clang contributors |
@dscho what is your C++ standard? I can do PR with an older C++11 standard |
somewhere between C89 and C99 (no ++). |
Could we even set processor group affinity for a thread without moving away from pthreads? |
I haven't written in pure С for a long time, but in theory remove lambda function and replace std:: functions should solve problem. |
I guess that this GNU-specific extension is available to us: https://www.man7.org/linux/man-pages/man3/pthread_attr_setaffinity_np.3.html. However, Git's source code tries to shy away from GNU-specific extensions, in general... |
@dscho, I found solution for your project https://projects.blender.org/blender/blender/commit/8f1a558 |
@dscho, screenshot from SDK with builded git branch Now configuration correctly defines 72 threads and both CPU is fully loaded at 100%, and not as before 50-55%. |
Running Git on multi-CPU motherboard. I have in one CPU 18 cores and 36 threads, but there are two of them installed.
Found it in graphical Git client:
gitextensions/gitextensions#11523
Same behavior is in regular git CLI usage.
Setup
Details
The text was updated successfully, but these errors were encountered: