Messages in this thread | ![/](/images/icornerl.gif) | | From | "Luck, Tony" <> | Subject | RE: [PATCH] mm: Introduce kernelcore=reliable option | Date | Fri, 30 Oct 2015 19:42:17 +0000 |
| |
> If each memory controller has the same distance/latency, you (your firmware) don't need > to allocate reliable memory per each memory controller. > If distance is problem, another node should be allocated. > > ...is the behavior(splitting zone) really required ?
It's useful from a memory bandwidth perspective to have allocations spread across both memory controllers. Keeping a whole bunch of Xeon cores fed needs all the bandwidth you can get.
Socket0 is also a problem. We want to mirror <4GB addresses because there is a bunch of critical stuff there (entire kernel text+data). But we can currently only mirror one block per memory controller, so we end up with just 2GB mirrored (the 2GB-4GB range is MMIO). This isn't enough for even a small machine (I have 128GB on node0 ... but that is really the bare minimum configuration ... 2GB is only enough to cover the "struct page" allocations for node0). I really have to allocate some more mirror from the other memory controller.
-Tony
| ![\](/images/icornerr.gif) |