Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1300627 > unrolled thread
| Started by | Vitaly Kuznetsov <vkuznets@redhat.com> |
|---|---|
| First post | 2016-01-04 11:50 +0100 |
| Last post | 2016-01-04 13:40 +0100 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH v2] memory-hotplug: add automatic onlining policy for the newly added memory Vitaly Kuznetsov <vkuznets@redhat.com> - 2016-01-04 11:50 +0100
Re: [PATCH v2] memory-hotplug: add automatic onlining policy for the newly added memory Igor Mammedov <imammedo@redhat.com> - 2016-01-04 13:40 +0100
| From | Vitaly Kuznetsov <vkuznets@redhat.com> |
|---|---|
| Date | 2016-01-04 11:50 +0100 |
| Subject | Re: [PATCH v2] memory-hotplug: add automatic onlining policy for the newly added memory |
| Message-ID | <qNaS6-2gZ-21@gated-at.bofh.it> |
Andrew Morton <akpm@linux-foundation.org> writes:
> On Tue, 22 Dec 2015 17:32:30 +0100 Vitaly Kuznetsov <vkuznets@redhat.com> 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.
>
> I think the default should be "offline" so vendors can ship kernels
> which have CONFIG_MEMORY_HOTPLUG_AUTOONLINE=y while being
> back-compatible with previous kernels.
>
(sorry for the delayed response, just picking things up after holidays)
I was under an (wrong?) impression that in the majority of use cases
users want to start using their newly added memory right away and that's
what distros will ship. As an alternative to making the feature off by
default I can suggest making CONFIG_MEMORY_HOTPLUG_AUTOONLINE a tristate
switch (no feature, default offline, default online).
>> --- a/Documentation/kernel-parameters.txt
>> +++ b/Documentation/kernel-parameters.txt
>> @@ -2537,6 +2537,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
>> shutdown the other cpus. Instead use the REBOOT_VECTOR
>> irq.
>>
>> + nomemhp_autoonline Don't automatically online newly added memory.
>> +
>
> This wasn't mentioned in the changelog. Why do we need a boot
> parameter as well as the sysfs knob?
>
I was thinking about some faulty hardware (e.g. reporting new memory
blocks which for some reason are not really usable) and an easy way to
make such hardware work.
>> +config MEMORY_HOTPLUG_AUTOONLINE
>> + bool "Automatically online hot-added memory"
>> + depends on MEMORY_HOTPLUG_SPARSE
>> + help
>> + When memory is hot-added, it is not at ready-to-use state, a special
>
> "When memory is hot-added it is not in a ready-to-use state. A special"
>
>> + userspace action is required to online the newly added blocks. With
>> + this option enabled, the kernel will try to online all newly added
>> + memory automatically.
>> +
>>
>> ...
>>
--
Vitaly
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Igor Mammedov <imammedo@redhat.com> |
|---|---|
| Date | 2016-01-04 13:40 +0100 |
| Subject | Re: [PATCH v2] memory-hotplug: add automatic onlining policy for the newly added memory |
| Message-ID | <qNcAz-3to-43@gated-at.bofh.it> |
| In reply to | #1300627 |
On Mon, 04 Jan 2016 11:47:12 +0100
Vitaly Kuznetsov <vkuznets@redhat.com> wrote:
> Andrew Morton <akpm@linux-foundation.org> writes:
>
> > On Tue, 22 Dec 2015 17:32:30 +0100 Vitaly Kuznetsov <vkuznets@redhat.com> 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.
> >
> > I think the default should be "offline" so vendors can ship kernels
> > which have CONFIG_MEMORY_HOTPLUG_AUTOONLINE=y while being
> > back-compatible with previous kernels.
> >
>
> (sorry for the delayed response, just picking things up after holidays)
>
> I was under an (wrong?) impression that in the majority of use cases
> users want to start using their newly added memory right away and that's
> what distros will ship. As an alternative to making the feature off by
> default I can suggest making CONFIG_MEMORY_HOTPLUG_AUTOONLINE a tristate
> switch (no feature, default offline, default online).
That what probably would satisfy every distro,
only question is why do you need 'no feature',
wouldn't 'default offline' cover current state?
>
> >> --- a/Documentation/kernel-parameters.txt
> >> +++ b/Documentation/kernel-parameters.txt
> >> @@ -2537,6 +2537,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
> >> shutdown the other cpus. Instead use the REBOOT_VECTOR
> >> irq.
> >>
> >> + nomemhp_autoonline Don't automatically online newly added memory.
> >> +
> >
> > This wasn't mentioned in the changelog. Why do we need a boot
> > parameter as well as the sysfs knob?
if 'default online' policy is set then we need a kernel option to disable
auto-onlining at kernel boot time (when it parses ACPI tables for x86) if needed
and vice verse for 'default offline' to enable auto-onlining at kernel boot time.
For RHEL we would probably use 'default online' policy like
we do in RHEL6 with custom patch.
> >
>
> I was thinking about some faulty hardware (e.g. reporting new memory
> blocks which for some reason are not really usable) and an easy way to
> make such hardware work.
>
> >> +config MEMORY_HOTPLUG_AUTOONLINE
> >> + bool "Automatically online hot-added memory"
> >> + depends on MEMORY_HOTPLUG_SPARSE
> >> + help
> >> + When memory is hot-added, it is not at ready-to-use state, a special
> >
> > "When memory is hot-added it is not in a ready-to-use state. A special"
> >
> >> + userspace action is required to online the newly added blocks. With
> >> + this option enabled, the kernel will try to online all newly added
> >> + memory automatically.
> >> +
> >>
> >> ...
> >>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web