[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3908561D78D1C84285E8C5FCA982C28F32B64312@ORSMSX114.amr.corp.intel.com>
Date: Fri, 30 Oct 2015 19:42:17 +0000
From: "Luck, Tony" <tony.luck@...el.com>
To: Kamezawa Hiroyuki <kamezawa.hiroyu@...fujitsu.com>,
"Izumi, Taku" <izumi.taku@...fujitsu.com>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"qiuxishi@...wei.com" <qiuxishi@...wei.com>,
"mel@....ul.ie" <mel@....ul.ie>,
"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
"Hansen, Dave" <dave.hansen@...el.com>,
"matt@...eblueprint.co.uk" <matt@...eblueprint.co.uk>
Subject: RE: [PATCH] mm: Introduce kernelcore=reliable option
> 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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists