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

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

 



David Vrabel <david.vrabel@xxxxxxxxxx> writes:

> On 18/12/15 16:45, 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" 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 "online" when MEMORY_HOTPLUG_AUTOONLINE kernel config option
>> is selected.
>
> FWIW, I'd prefer it if the caller of add_memory_resource() could specify
> that it wants the new memory automatically onlined.
>

Oh, I missed the fact that add_memory_resource() is also called directly
from Xen balloon driver. I can change the interface and move the policy
check to add_memory() then.

> I'm not sure just having one knob is appropriate -- there are different
> sorts of memory that can be added.  e,g., in the Xen balloon driver we
> use the memory add infrastructure to add empty pages (pages with no
> machine pages backing them) for mapping things into, as well as adding
> regular pages.

But all this memory still appears in /sys/devices/system/memory/* and
someone (e.g. - a udev rule) can still try to online it, right? Actually
Hyper-V driver does something similar when adding partially populated
memory blocks and it registers a special callback (hv_online_page()) to
prevent non-populated pages from onlining.

-- 
  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