On 07/26/2013 06:26 PM, Tejun Heo wrote:
On Fri, Jul 26, 2013 at 11:45:36AM +0800, Tang Chen wrote:
I just don't want to any new variables to store the hotpluggable regions.
But without a new shared variable, it seems difficult to achieve the goal
you said below.
Why can't it be done with the .flags field that was added anyway?
I'm sorry but I'm a little misunderstanding here. There are some more
things I
want to confirm, thanks for your patient. :)
By "the goal" above, I mean making ACPI and memblock parts more
independent from
each other. I think in this patch-set, I called memblock_reserve() which
made
these two parts interactive.
So the point is, how to mark the hotpluggable regions and at the same
time, make
ACPI and memblock parts independent, right ?
But, please see below.
So how about this.
1. Introduce a new global list used to store hotpluggable regions.
2. On acpi side, find and fulfill the list.
3. On memblock side, make the default allocation function stay away from
these regions.
I was thinking more along the line of
1. Mark hotpluggable regions with a flag in memblock.
2. On ACPI side, find and mark hotpluggable regions.
But marking hotpluggable regions on ACPI side will also make ACPI and
memblock
parts more interactive. In this patch-set, I just called memblock_reserve()
directly on ACPI side.
I think marking hotpluggable regions on ACPI side is much the same as
reserving
the regions. I will just call something like memblock_mark_flags() to
mark the
regions. The only difference will be a different memblock_xxx() function
call,
right ?
In the last mail, I suggested a global array. So both sides will just
use the
array, and it seems to be independent. But I think the global array and
the flags
in memblock are redundant. They are for the same goal.
Actually I want to use flags. I think it is also useful when we try to
put thins
on local node, such as node_data.
So, is it OK to mark the hotpluggable regions on ACPI side ?
3. Make memblock avoid giving out hotpluggable regions for normal
allocations.
This step3 is different from this patch-set. I reserved hotpluggable
regions in
memblock.reserved.
So are you saying mark the hotpluggable regions in memblock.memory, but not
reserve them in memblock.reserved, and make the default allocate
function avoid
the hotpluggable regions in memblock.memory ?
This way will be convenient when we put the node_data on local node
(don't need
to free regions from memblock.reserved, as you mentioned before), right?
Thanks.
--
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=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>