[lkml]   [2013]   [Jul]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 14/21] x86, acpi, numa: Reserve hotpluggable memory at early time.
On 07/24/2013 05:32 AM, Tejun Heo wrote:
> On Tue, Jul 23, 2013 at 04:55:57PM -0400, Tejun Heo wrote:
>> On Fri, Jul 19, 2013 at 03:59:27PM +0800, Tang Chen wrote:
>>> + /*
>>> + * In such an early time, we don't have nid. We specify pxm
>>> + * instead of MAX_NUMNODES to prevent memblock merging regions
>>> + * on different nodes. And later modify pxm to nid when nid is
>>> + * mapped so that we can arrange ZONE_MOVABLE on different
>>> + * nodes.
>>> + */
>>> + memblock_reserve_hotpluggable(base_address, length, pxm);
>> This is rather hacky. Why not just introduce MEMBLOCK_NO_MERGE flag?

The original thinking is to merge regions with the same nid. So I used pxm.
And then refresh the nid field when nids are mapped.

I will try to introduce MEMBLOCK_NO_MERGE and make it less hacky.

> Also, if memblock is gonna know about hotplug memory, why not just let
> it control its allocation too instead of blocking it by reserving it
> from outside? These are all pretty general memory hotplug logic which
> doesn't have much to do with acpi and I think too much is implemented
> on the acpi side.

At the very beginning, a long time ago, we just did this.
Please refer to:

In order to let memblock control the allocation, we have to store the
hotpluggable ranges somewhere, and keep the allocated range out of the
hotpluggable regions. I just think reserving the hotpluggable regions
and then memblock won't allocate them. No need to do any other limitation.

And also, the acpi side modification in this patch-set is to get SRAT
and parse it. I think most of the logic in
is necessary. I don't think letting memblock control the allocation will
make the acpi side easier.


 \ /
  Last update: 2013-07-25 04:41    [W:0.122 / U:3.176 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site