Re: [PATCH 1/4] acpi,memory-hotplug : add memory offline code to acpi_memory_device_remove()

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

 



On Wed, Oct 17, 2012 at 2:48 AM, Wen Congyang <wency@xxxxxxxxxxxxxx> wrote:
> At 10/13/2012 03:10 AM, KOSAKI Motohiro Wrote:
>>>>> -static int acpi_memory_disable_device(struct acpi_memory_device *mem_device)
>>>>> +static int acpi_memory_remove_memory(struct acpi_memory_device *mem_device)
>>>>>  {
>>>>>         int result;
>>>>>         struct acpi_memory_info *info, *n;
>>>>>
>>>>> +       list_for_each_entry_safe(info, n, &mem_device->res_list, list) {
>>>>
>>>> Which lock protect this loop?
>>>
>>> There is no any lock to protect it now...
>>
>> When iterate an item removal list, you should use lock for protecting from
>> memory corruption.
>>
>>
>>
>>
>>>>> +static int acpi_memory_disable_device(struct acpi_memory_device *mem_device)
>>>>> +{
>>>>> +       int result;
>>>>>
>>>>>         /*
>>>>>          * Ask the VM to offline this memory range.
>>>>>          * Note: Assume that this function returns zero on success
>>>>>          */
>>>>
>>>> Write function comment instead of this silly comment.
>>>>
>>>>> -       list_for_each_entry_safe(info, n, &mem_device->res_list, list) {
>>>>> -               if (info->enabled) {
>>>>> -                       result = remove_memory(info->start_addr, info->length);
>>>>> -                       if (result)
>>>>> -                               return result;
>>>>> -               }
>>>>> -               kfree(info);
>>>>> -       }
>>>>> +       result = acpi_memory_remove_memory(mem_device);
>>>>> +       if (result)
>>>>> +               return result;
>>>>>
>>>>>         /* Power-off and eject the device */
>>>>>         result = acpi_memory_powerdown_device(mem_device);
>>>>
>>>> This patch move acpi_memory_powerdown_device() from ACPI_NOTIFY_EJECT_REQUEST
>>>> to release callback, but don't explain why.
>>>
>>> Hmm, it doesn't move the code. It just reuse the code in acpi_memory_powerdown_device().
>>
>> Even if reuse or not reuse, you changed the behavior. If any changes
>> has no good rational, you cannot get an ack.
>
> I don't understand this? IIRC, the behavior isn't changed.

Heh, please explain why do you think so.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]