Re: [PATCH 1/2 V2] memory-hotplug: fix BUG_ON in move_freepages()
From: Xishi Qiu
Date: Sun Apr 19 2015 - 23:35:04 EST
On 2015/4/20 11:15, Yasuaki Ishimatsu wrote:
>
> On Mon, 20 Apr 2015 10:59:37 +0800
> Xishi Qiu <qiuxishi@xxxxxxxxxx> wrote:
>
>> On 2015/4/20 10:09, Gu Zheng wrote:
>>
>>> Hi Ishimatsu, Xishi,
>>>
>>> On 04/20/2015 10:11 AM, Yasuaki Ishimatsu wrote:
>>>
>>>>
>>>>> When hot adding memory and creating new node, the node is offline.
>>>>> And after calling node_set_online(), the node becomes online.
>>>>>
>>>>> Oh, sorry. I misread your ptaches.
>>>>>
>>>>
>>>> Please ignore it...
>>>
>>> Seems also a misread to me.
>>> I clear it (my worry) here:
>>> If we set the node size to 0 here, it may hidden more things than we experted.
>>> All the init chunks around with the size (spanned/present/managed...) will
>>> be non-sense, and the user/caller will not get a summary of the hot added node
>>> because of the changes here.
>>> I am not sure the worry is necessary, please correct me if I missing something.
>>>
>>> Regards,
>>> Gu
>>>
>>
>> Hi Gu,
>>
>> My patch is just set size to 0 when hotadd a node(old or new). I know your worry,
>> but I think it is not necessary.
>>
>
>> When we calculate the size, it uses "arch_zone_lowest_possible_pfn[]" and "memblock",
>> and they are both from boot time. If we hotadd a new node, the calculated size is
>> 0 too. When add momery, __add_zone() will grow the size and start.
>
> If hot adding new node, you are right. But if hot removing a memory which
> is presented at boot time, memblock of the memory range is not deleted.
> So when hot adding the memory, the calculated size does not become 0.
>
Yes, so I just set it to 0, init_currently_empty_zone() and memmap_init() will be called
in __add_zone(), and start/size also will be grow there.
Thanks,
Xishi Qiu
> Thanks,
> Yasuaki Ishimatsu
>
>>
>> Thanks,
>> Xishi Qiu
>>
>
> .
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/