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