[PATCH v4 0/2] memory-hotplug: add automatic onlining policy for the newly added memory

From: Vitaly Kuznetsov
Date: Tue Jan 12 2016 - 11:56:29 EST


Changes since v3:
- Add support for the policy to Xen balloon driver [Daniel Kiper, David Vrabel]
- I found an issue with PATCH v3: when memory auto onlining was requested we
do nothing to memblocks states so in sysfs they stay 'offline' (while in
reality they're online). Modify register_new_memory() (and its only caller,
__add_section()) to create memblocks in the proper state.

Original description:

Currently, all newly added memory blocks remain in 'offline' state unless
someone onlines them, some linux distributions carry special udev rules
like:

SUBSYSTEM=="memory", ACTION=="add", ATTR{state}=="offline", ATTR{state}="online"

to make this happen automatically. This is not a great solution for virtual
machines where memory hotplug is being used to address high memory pressure
situations as such onlining is slow and a userspace process doing this
(udev) has a chance of being killed by the OOM killer as it will probably
require to allocate some memory.

Introduce default policy for the newly added memory blocks in
/sys/devices/system/memory/auto_online_blocks file with two possible
values: "offline" which preserves the current behavior and "online" which
causes all newly added memory blocks to go online as soon as they're added.
The default is "offline".

Vitaly Kuznetsov (2):
memory-hotplug: add automatic onlining policy for the newly added
memory
xen_balloon: support memory auto onlining policy

Documentation/memory-hotplug.txt | 19 +++++++++++++++----
drivers/base/memory.c | 40 ++++++++++++++++++++++++++++++++++++----
drivers/xen/Kconfig | 20 +++++++++++++-------
drivers/xen/balloon.c | 30 +++++++++++++++++++-----------
include/linux/memory.h | 3 ++-
include/linux/memory_hotplug.h | 4 +++-
mm/memory_hotplug.c | 18 +++++++++++++++---
7 files changed, 103 insertions(+), 31 deletions(-)

--
2.5.0