-
Notifications
You must be signed in to change notification settings - Fork 15
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
Unable to run without CONFIG_NUMA=y in Linux kernel #37
Comments
Hmm... Nowhere in the program does it call Looking at the code, yeah it's not easy to strip out all the NUMA stuff or have it cleanly "fall through" when the topology data is missing or incomplete. This kind of thing is also really hard to test anyway. Do doable, but too niche and too difficult to test. Part of the code here is trying to query the NUMA node of each core to know where to place the data and how to optimize the way the memory is allocated and committed. What does your |
For both NUMA and non-NUMA kernels, it shows |
Is the NUMA information missing from that file? |
There's nothing other than 0-31 in that file.
|
Then it's been a while since I've looked at the Linux stuff. Looking at it again, the files that matter are:
There might be more. |
cpuinfo and zoneinfo are more or less identical, but /sys/devices/system/node/ is missing without NUMA. |
Might be worth checking to see if this still repros in latest. I made some changes in this area to suppress some of the errors hopefully let it fall-through better. I doubt it will work yet, but it may make it further. |
sorry for the delay in response. i rebuilt my kernel with CONFIG_NUMA=n again and i was able to do e.g. calculate pi after hitting enter after this:
using the stress.cfg as shown in the initial issue here leads to this (core 2, for example):
|
Looks like it did indeed get a bit further. lol |
I was successfully using the stress-test mode of y-cruncher (v0.7.10.9513-dynamic, Ubuntu 23.04, Ryzen 7950X) until I compiled a stripped down kernel. I then saw the following error:
Recompiling with CONFIG_NUMA=y fixed the issue. Unsure if there's maybe a way to enumerate CPUs (and allocate memory to threads?) that's independent of NUMA being enabled on a kernel? Possibly this is a non-starter, but figured it's worth documenting (even if only in the form of this issue).
Without attaching the full strace, I did spot this:
A peek at the man page for
get_mempolicy
shows it to be NUMA-related: "retrieve NUMA memory policy for a thread".Example config that caused the failure without NUMA:
The text was updated successfully, but these errors were encountered: