From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964998AbcALQ41 (ORCPT ); Tue, 12 Jan 2016 11:56:27 -0500 Received: from mx1.redhat.com ([209.132.183.28]:44655 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934239AbcALQ4Z (ORCPT ); Tue, 12 Jan 2016 11:56:25 -0500 From: Vitaly Kuznetsov To: linux-mm@kvack.org Cc: Jonathan Corbet , Greg Kroah-Hartman , Daniel Kiper , Dan Williams , Tang Chen , David Vrabel , David Rientjes , Andrew Morton , Naoya Horiguchi , Xishi Qiu , Mel Gorman , "K. Y. Srinivasan" , Igor Mammedov , Kay Sievers , Konrad Rzeszutek Wilk , Boris Ostrovsky , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org Subject: [PATCH v4 0/2] memory-hotplug: add automatic onlining policy for the newly added memory Date: Tue, 12 Jan 2016 17:56:15 +0100 Message-Id: <1452617777-10598-1-git-send-email-vkuznets@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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