From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754756AbcAMIHP (ORCPT ); Wed, 13 Jan 2016 03:07:15 -0500 Received: from userp1040.oracle.com ([156.151.31.81]:19812 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751159AbcAMIHM (ORCPT ); Wed, 13 Jan 2016 03:07:12 -0500 Date: Wed, 13 Jan 2016 09:06:22 +0100 From: Daniel Kiper To: Vitaly Kuznetsov Cc: linux-mm@kvack.org, Jonathan Corbet , Greg Kroah-Hartman , 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: Re: [PATCH v4 1/2] memory-hotplug: add automatic onlining policy for the newly added memory Message-ID: <20160113080622.GW3485@olila.local.net-space.pl> References: <1452617777-10598-1-git-send-email-vkuznets@redhat.com> <1452617777-10598-2-git-send-email-vkuznets@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1452617777-10598-2-git-send-email-vkuznets@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Source-IP: aserv0022.oracle.com [141.146.126.234] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jan 12, 2016 at 05:56:16PM +0100, Vitaly Kuznetsov wrote: > 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". > > Signed-off-by: Vitaly Kuznetsov > --- > Documentation/memory-hotplug.txt | 19 +++++++++++++++---- > drivers/base/memory.c | 40 ++++++++++++++++++++++++++++++++++++---- > drivers/xen/balloon.c | 2 +- > include/linux/memory.h | 3 ++- > include/linux/memory_hotplug.h | 4 +++- > mm/memory_hotplug.c | 18 +++++++++++++++--- > 6 files changed, 72 insertions(+), 14 deletions(-) > > diff --git a/Documentation/memory-hotplug.txt b/Documentation/memory-hotplug.txt > index ce2cfcf..ceaf40c 100644 > --- a/Documentation/memory-hotplug.txt > +++ b/Documentation/memory-hotplug.txt > @@ -254,12 +254,23 @@ If the memory block is online, you'll read "online". > If the memory block is offline, you'll read "offline". > > > -5.2. How to online memory > +5.2. Memory onlining > ------------ > -Even if the memory is hot-added, it is not at ready-to-use state. > -For using newly added memory, you have to "online" the memory block. > +When the memory is hot-added, the kernel decides whether or not to "online" > +it according to the policy which can be read from "auto_online_blocks" file: > > -For onlining, you have to write "online" to the memory block's state file as: > +% cat /sys/devices/system/memory/auto_online_blocks > + > +The default is "offline" which means the newly added memory is not in a > +ready-to-use state and you have to "online" the newly added memory blocks > +manually. Automatic onlining can be requested by writing "online" to > +"auto_online_blocks" file: > + > +% echo online > /sys/devices/system/memory/auto_online_blocks It looks that you forgot to mention that setting auto_online_blocks to online does not online currently offlined blocks automatically. Daniel