> 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 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href