From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755662AbcAMRck (ORCPT ); Wed, 13 Jan 2016 12:32:40 -0500 Received: from mx1.redhat.com ([209.132.183.28]:55954 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754859AbcAMRcj (ORCPT ); Wed, 13 Jan 2016 12:32:39 -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 v5 0/2] memory-hotplug: add automatic onlining policy for the newly added memory Date: Wed, 13 Jan 2016 18:32:28 +0100 Message-Id: <1452706350-21158-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 v4: Patch 1: - Use memory_block_change_state() through walk_memory_range() instead of online_pages() to correctly handle possible failures [David Rientjes] - Minor memory-hotplug.txt changes (keep the old title, explicitly word that we have a global policy here) [David Rientjes, Daniel Kiper] Patch2: - 'dom0' -> 'control domain', 'domU' -> 'target domain' in Kconfig [David Vrabel] - always call add_memory_resource() with memhp_auto_online [David Vrabel] 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 | 20 +++++++++++++++++--- drivers/base/memory.c | 34 +++++++++++++++++++++++++++++++++- drivers/xen/Kconfig | 20 +++++++++++++------- drivers/xen/balloon.c | 11 ++++++++++- include/linux/memory.h | 3 +++ include/linux/memory_hotplug.h | 4 +++- mm/memory_hotplug.c | 17 +++++++++++++++-- 7 files changed, 94 insertions(+), 15 deletions(-) -- 2.5.0