Skip to content
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

Support emulated NUMA for BCM2711 and BCM2712 #6443

Merged
merged 6 commits into from
Oct 25, 2024

Conversation

popcornmix
Copy link
Collaborator

This is 6.12 version of #6273

Note, the implementation is different, as it uses a parallel implementation of NUMA_EMU that has been merged upstream.

Note, on 6.6 it was enabled with CONFIG_NUMA_EMULATION and on 6.12 it is CONFIG_NUMA_EMU.

The downstream patches to avoid cma failure and set default configuration are a little different.

Tvrtko Ursulin and others added 6 commits October 25, 2024 12:20
system_heap.max_order=<uint>

Signed-off-by: Tvrtko Ursulin <[email protected]>
Add numa_policy kernel argument to allow overriding the kernel's default
NUMA policy at boot time.

Syntax identical to what tmpfs accepts as it's mpol argument is accepted.

Some examples:

 numa_policy=interleave
 numa_policy=interleave=skip-interleave
 numa_policy=bind:0-3,5,7,9-15
 numa_policy=bind=static:1-2

Signed-off-by: Tvrtko Ursulin <[email protected]>
... Make sure CMA zones do not straddle the emulated NUMA nodes ...

Signed-off-by: Tvrtko Ursulin <[email protected]>
Allow NUMA and NUMA_EMULATION on 64-bit Pi kernels

Signed-off-by: Dom Cobley <[email protected]>
Most 2711 devices and all 2712 device share common bootargs (command
lines). Make the common values shared defaults, overriding them were
necessary.

Signed-off-by: Phil Elwell <[email protected]>
The default cmdline adjustment is now numa_policy=interleave for 2711 and 2712,
and additionally system_heap.max_order=0 iommu_dma_numa_policy=interleave for
just 2712 (due to its better iommu support).

The key setting numa=fake=<n> is not set here, so we will boot with a single
numa region and behaviour should be pretty much unchanged from before this PR.

Signed-off-by: Dom Cobley <[email protected]>
@popcornmix popcornmix merged commit 0ed329b into raspberrypi:rpi-6.12.y Oct 25, 2024
11 of 12 checks passed
@popcornmix popcornmix deleted the rpi-6.12.y-numa branch October 25, 2024 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants