Re: [PATCH v1 4/5] mm/memory_hotplug: convert memhp_auto_online to store an online_type

David Hildenbrand
2020-03-16T15:34:22Z

On 16.03.20 16:24, Michal Hocko wrote:
> On Wed 11-03-20 13:30:25, David Hildenbrand wrote:
> [...]
>> diff --git a/arch/powerpc/platforms/powernv/memtrace.c b/arch/powerpc/platforms/powernv/memtrace.c
>> index d6d64f8718e6..e15a600cfa4d 100644
>> --- a/arch/powerpc/platforms/powernv/memtrace.c
>> +++ b/arch/powerpc/platforms/powernv/memtrace.c
>> @@ -235,7 +235,7 @@ static int memtrace_online(void)
>> * If kernel isn't compiled with the auto online option
>> * we need to online the memory ourselves.
>> */
>> - if (!memhp_auto_online) {
>> + if (memhp_default_online_type == MMOP_OFFLINE) {
>> lock_device_hotplug();
>> walk_memory_blocks(ent->start, ent->size, NULL,
>> online_mem_block);
>
> Whut? This stinks, doesn't it. For your defense, the original code is
> fishy already but this just makes it even more ugly.

PPC64 onlines all memory directly from the kernel, and not triggered by
user space (I think that's ugly and not desired, but it is what it is
and I am not going to touch that).

See
arch/powerpc/platforms/pseries/hotplug-memory.c:dlpar_change_lmb_state().

Best I can do here is to also always online all memory.

What are your suggestions?

--
Thanks,

David / dhildenb