[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHGf_=o_Wu1kr56C=7XTjYRzL4egSyGJYd4+2RecVWzpeM427Q@mail.gmail.com>
Date: Wed, 17 Oct 2012 04:59:22 -0400
From: KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>
To: Wen Congyang <wency@...fujitsu.com>
Cc: Yasuaki Ishimatsu <isimatu.yasuaki@...fujitsu.com>, x86@...nel.org,
linux-mm@...ck.org, linux-kernel@...r.kernel.org,
linux-acpi@...r.kernel.org, rientjes@...gle.com, liuj97@...il.com,
len.brown@...el.com, cl@...ux.com, minchan.kim@...il.com,
akpm@...ux-foundation.org
Subject: Re: [PATCH 1/4] acpi,memory-hotplug : add memory offline code to acpi_memory_device_remove()
On Wed, Oct 17, 2012 at 2:48 AM, Wen Congyang <wency@...fujitsu.com> 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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists