Re: [PATCH RESEND part2 v2 1/8] x86: get pg_data_t's memory from other node

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Mel,

On 01/17/2014 01:11 AM, Mel Gorman wrote:
On Tue, Dec 03, 2013 at 10:22:00AM +0800, Zhang Yanfei wrote:
From: Yasuaki Ishimatsu<isimatu.yasuaki@xxxxxxxxxxxxxx>

If system can create movable node which all memory of the node is allocated
as ZONE_MOVABLE, setup_node_data() cannot allocate memory for the node's
pg_data_t. So, invoke memblock_alloc_nid(...MAX_NUMNODES) again to retry when
the first allocation fails. Otherwise, the system could failed to boot.
(We don't use memblock_alloc_try_nid() to retry because in this function,
if the allocation fails, it will panic the system.)


This implies that it is possible to ahve a configuration with a big ratio
difference between Normal:Movable memory. In such configurations there
would be a risk that the system will reclaim heavily or go OOM because
the kernrel cannot allocate memory due to a relatively small Normal
zone. What protects against that? Is the user ever warned if the ratio
between Normal:Movable very high?

For now, there is no way protecting against this. But on a modern server, it won't be
that easy running out of memory when booting, I think.

The current implementation will set any node the kernel resides in as unhotpluggable, which means normal zone here. And for nowadays server, especially memory hotplug server, each node would have at least 16GB memory, which is enough for the kernel to boot.

We can add a patch to make it return to the original path if we run out of memory,
which means turn off the functionality and warn users in log.

How do you think ?

 The movable_node boot parameter still
turns the feature on and off, there appears to be no way of controlling
the ratio of memory other than booting with the minimum amount of memory
and manually hot-adding the sections to set the appropriate ratio.

For now, yes. We expect firmware and hardware to give the basic ratio (how much memory is hotpluggable), and the user decides how to arrange the memory (decide the size of
normal zone and movable zone).


--
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>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]