lkml.org 
[lkml]   [2015]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH RFC] memory-hotplug: add automatic onlining policy for the newly added memory
Date
Xishi Qiu <qiuxishi@huawei.com> writes:

> On 2015/12/16 2:05, 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/hotplug_autoonline file with two possible
>> values: "offline" (the default) which preserves the current behavior and
>> "online" which causes all newly added memory blocks to go online as
>> soon as they're added.
>>
>> Cc: Jonathan Corbet <corbet@lwn.net>
>> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>> Cc: Daniel Kiper <daniel.kiper@oracle.com>
>> Cc: Dan Williams <dan.j.williams@intel.com>
>> Cc: Tang Chen <tangchen@cn.fujitsu.com>
>> Cc: David Vrabel <david.vrabel@citrix.com>
>> Cc: David Rientjes <rientjes@google.com>
>> Cc: Andrew Morton <akpm@linux-foundation.org>
>> Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
>> Cc: Gu Zheng <guz.fnst@cn.fujitsu.com>
>> Cc: Xishi Qiu <qiuxishi@huawei.com>
>> Cc: Mel Gorman <mgorman@techsingularity.net>
>> Cc: "K. Y. Srinivasan" <kys@microsoft.com>
>> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
>> ---
>> - I was able to find previous attempts to fix the issue, e.g.:
>> http://marc.info/?l=linux-kernel&m=137425951924598&w=2
>> http://marc.info/?l=linux-acpi&m=127186488905382
>> but I'm not completely sure why it didn't work out and the solution
>> I suggest is not 'smart enough', thus 'RFC'.
>
> + CC:
> yanxiaofeng@inspur.com
> liuchangsheng@inspur.com
>
> Hi Vitaly,
>
> Why not use udev rule? I think it can online pages automatically.
>

Two main reasons:
1) I remember someone saying "You never need a mouse in order to add
another mouse to the kernel" -- but we we need memory to add more
memory. Udev has a chance of being killed by the OOM killer as
performing an action will probably require to allocate some
memory. Other than that udev actions are generally slow compared to what
we can do in kernel.

2) I agree with Kay that '... unconditional hotplug loop through
userspace is absolutely pointless' (https://lkml.org/lkml/2013/7/25/354).
(... and I should had add him to CC, adding now). Udev maintainers
refused to add a rule for unconditional memory onlining to udev and now
linux distros have to carry such custom rules.

--
Vitaly


\
 
 \ /
  Last update: 2015-12-16 10:41    [W:0.164 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site