[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <519D9D04.9090403@cn.fujitsu.com>
Date: Thu, 23 May 2013 12:37:24 +0800
From: Tang Chen <tangchen@...fujitsu.com>
To: "Rafael J. Wysocki" <rjw@...k.pl>
CC: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Toshi Kani <toshi.kani@...com>,
ACPI Devel Maling List <linux-acpi@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
isimatu.yasuaki@...fujitsu.com,
vasilis.liaskovitis@...fitbricks.com, Len Brown <lenb@...nel.org>,
linux-mm@...ck.org
Subject: Re: [PATCH] Driver core / memory: Simplify __memory_block_change_state()
Reviewed-by: Tang Chen <tangchen@...fujitsu.com>
Thanks. :)
On 05/23/2013 06:06 AM, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki<rafael.j.wysocki@...el.com>
>
> As noted by Tang Chen, the last_online field in struct memory_block
> introduced by commit 4960e05 (Driver core: Introduce offline/online
> callbacks for memory blocks) is not really necessary, because
> online_pages() restores the previous state if passed ONLINE_KEEP as
> the last argument. Therefore, remove that field along with the code
> referring to it.
>
> References: http://marc.info/?l=linux-kernel&m=136919777305599&w=2
> Signed-off-by: Rafael J. Wysocki<rafael.j.wysocki@...el.com>
> ---
>
> Hi,
>
> The patch is on top (and the commit mentioned in the changelog is present in)
> the acpi-hotplug branch of the linux-pm.git tree.
>
> Thanks,
> Rafael
>
> ---
> drivers/base/memory.c | 11 ++---------
> include/linux/memory.h | 1 -
> 2 files changed, 2 insertions(+), 10 deletions(-)
>
> Index: linux-pm/drivers/base/memory.c
> ===================================================================
> --- linux-pm.orig/drivers/base/memory.c
> +++ linux-pm/drivers/base/memory.c
> @@ -291,13 +291,7 @@ static int __memory_block_change_state(s
> mem->state = MEM_GOING_OFFLINE;
>
> ret = memory_block_action(mem->start_section_nr, to_state, online_type);
> - if (ret) {
> - mem->state = from_state_req;
> - } else {
> - mem->state = to_state;
> - if (to_state == MEM_ONLINE)
> - mem->last_online = online_type;
> - }
> + mem->state = ret ? from_state_req : to_state;
> return ret;
> }
>
> @@ -310,7 +304,7 @@ static int memory_subsys_online(struct d
>
> ret = mem->state == MEM_ONLINE ? 0 :
> __memory_block_change_state(mem, MEM_ONLINE, MEM_OFFLINE,
> - mem->last_online);
> + ONLINE_KEEP);
>
> mutex_unlock(&mem->state_mutex);
> return ret;
> @@ -618,7 +612,6 @@ static int init_memory_block(struct memo
> base_memory_block_id(scn_nr) * sections_per_block;
> mem->end_section_nr = mem->start_section_nr + sections_per_block - 1;
> mem->state = state;
> - mem->last_online = ONLINE_KEEP;
> mem->section_count++;
> mutex_init(&mem->state_mutex);
> start_pfn = section_nr_to_pfn(mem->start_section_nr);
> Index: linux-pm/include/linux/memory.h
> ===================================================================
> --- linux-pm.orig/include/linux/memory.h
> +++ linux-pm/include/linux/memory.h
> @@ -26,7 +26,6 @@ struct memory_block {
> unsigned long start_section_nr;
> unsigned long end_section_nr;
> unsigned long state;
> - int last_online;
> int section_count;
>
> /*
>
>
--
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