On 02/20/2013 05:00:56 AM, Tang Chen wrote:
There could be several memory ranges in the node in which the kernel
resides.
When using movablemem_map=acpi, we may skip one range that have
memory reserved
by memblock. But if it is too small, then the kernel will fail to
boot. So, make
the whole node which the kernel resides in un-hotpluggable. Then the
kernel has
enough memory to use.
Reported-by: H Peter Anvin <hpa@xxxxxxxxx>
Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx>
Docs part Acked-by: Rob Landley <rob@xxxxxxxxxxx> (with minor
non-blocking snark).
@@ -1673,6 +1675,10 @@ bytes respectively. Such letter suffixes can
also be entirely omitted.
satisfied. So the administrator should be
careful that
the amount of movablemem_map areas are not too
large.
Otherwise kernel won't have enough memory to
start.
+ NOTE: We don't stop users specifying the node
the
+ kernel resides in as hotpluggable so that
this
+ option can be used as a workaround of
firmware
+ bugs.
I usually see workaround "for", not "of". And your whitespace is
inconsistent on that last line.
And I'm now kind of curious what such a workaround would accomplish,
but I'm suspect it's obvious to people who wind up needing it.
MTD_Partition= [MTD]
Format: <name>,<region-number>,<size>,<offset>
diff --git a/arch/x86/mm/srat.c b/arch/x86/mm/srat.c
index b8028b2..79836d0 100644
--- a/arch/x86/mm/srat.c
+++ b/arch/x86/mm/srat.c
@@ -166,6 +166,9 @@ handle_movablemem(int node, u64 start, u64 end,
u32 hotpluggable)
* for other purposes, such as for kernel image. We cannot
prevent
* kernel from using these memory, so we need to exclude these
memory
* even if it is hotpluggable.
+ * Furthermore, to ensure the kernel has enough memory to boot,
we make
+ * all the memory on the node which the kernel resides in
+ * un-hotpluggable.
*/
Can you hot-unplug half a node? (Do you have a choice with the
granularity here?)
Rob
--
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