Re: [PATCH RFC] memory-hotplug: add automatic onlining policy for the newly added memory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Xishi Qiu <qiuxishi@xxxxxxxxxx> 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@xxxxxxx>
>> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>> Cc: Daniel Kiper <daniel.kiper@xxxxxxxxxx>
>> Cc: Dan Williams <dan.j.williams@xxxxxxxxx>
>> Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx>
>> Cc: David Vrabel <david.vrabel@xxxxxxxxxx>
>> Cc: David Rientjes <rientjes@xxxxxxxxxx>
>> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
>> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
>> Cc: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx>
>> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx>
>> Cc: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>
>> Cc: "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx>
>> Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
>> ---
>> - 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@xxxxxxxxxx
> liuchangsheng@xxxxxxxxxx
>
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux