All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zhang Yanfei <zhangyanfei.yes@gmail.com>
To: Tejun Heo <tj@kernel.org>
Cc: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>,
	"Rafael J . Wysocki" <rjw@sisk.pl>,
	lenb@kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	mingo@elte.hu, "H. Peter Anvin" <hpa@zytor.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Toshi Kani <toshi.kani@hp.com>,
	Wanpeng Li <liwanp@linux.vnet.ibm.com>,
	Thomas Renninger <trenn@suse.de>, Yinghai Lu <yinghai@kernel.org>,
	Jiang Liu <jiang.liu@huawei.com>,
	Wen Congyang <wency@cn.fujitsu.com>,
	Lai Jiangshan <laijs@cn.fujitsu.com>,
	isimatu.yasuaki@jp.fujitsu.com, izumi.taku@jp.fujitsu.com,
	Mel Gorman <mgorman@suse.de>, Minchan Kim <minchan@kernel.org>,
	mina86@mina86.com, gong.chen@linux.intel.com,
	vasilis.liaskovitis@profitbricks.com, lwoodman@redhat.com,
	Rik van Riel <riel@redhat.com>,
	jweiner@redhat.com, prarit@redhat.com,
	"x86@kernel.org" <x86@kernel.org>,
	linux-doc@vger.kernel.org"linux-kernel@vger.kernel.org" <l>
Subject: Re: [PATCH 4/6] x86/mem-hotplug: Support initialize page tables bottom up
Date: Tue, 24 Sep 2013 21:23:48 +0800	[thread overview]
Message-ID: <52419264.3020409@gmail.com> (raw)
In-Reply-To: <20130924123340.GE2366@htj.dyndns.org>

On 09/24/2013 08:33 PM, Tejun Heo wrote:
> Hello,
> 
> On Tue, Sep 24, 2013 at 06:08:27PM +0800, Zhang Yanfei wrote:
>> +#ifdef CONFIG_MOVABLE_NODE
> 
> You don't need the above ifdef.  The compiler will be able to cull the
> code as long as memblock_bottom_up() is defined as constant
> expression when !MOVABLE_NODE.

yeah, will remove the #if. thanks.

> 
>> +/**
>> + * memory_map_bottom_up - Map [map_start, map_end) bottom up
>> + * @map_start: start address of the target memory range
>> + * @map_end: end address of the target memory range
>> + *
>> + * This function will setup direct mapping for memory range [map_start, map_end)
>> + * in a heuristic way. In the beginning, step_size is small. The more memory we
>> + * map memory in the next loop.
> 
> The same comment as before.  Now we have two function with the
> identical comment but behaving differently, which isn't nice.

OK, will change them.

> 
> ...
>> +	 * If the allocation is in bottom-up direction, we start from the
>> +	 * bottom and go to the top: first [kernel_end, end) and then
>> +	 * [ISA_END_ADDRESS, kernel_end). Otherwise, we start from the top
>> +	 * (end of memory) and go to the bottom.
>> +	 *
>> +	 * The memblock_find_in_range() gets us a block of RAM in
>> +	 * [min_pfn_mapped, max_pfn_mapped) used as new pages for page table.
>>  	 */
>> -	memory_map_top_down(ISA_END_ADDRESS, end);
>> +	if (memblock_bottom_up()) {
>> +		unsigned long kernel_end;
>> +
>> +		kernel_end = round_up(__pa_symbol(_end), PMD_SIZE);
>> +		memory_map_bottom_up(kernel_end, end);
>> +		memory_map_bottom_up(ISA_END_ADDRESS, kernel_end);
> 
> Hmm... so, this is kinda weird.  We're doing it in two chunks and
> mapping memory between ISA_END_ADDRESS and kernel_end right on top of
> ISA_END_ADDRESS?  Can't you give enough information to the mapping
> function so that it can map everything on top of kernel_end in single
> go?

You mean we should call memory_map_bottom_up like this:

memory_map_bottom_up(ISA_END_ADDRESS, end)

right?

> 
> Thanks.
> 


-- 
Thanks.
Zhang Yanfei

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

WARNING: multiple messages have this Message-ID (diff)
From: Zhang Yanfei <zhangyanfei.yes@gmail.com>
To: Tejun Heo <tj@kernel.org>
Cc: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>,
	"Rafael J . Wysocki" <rjw@sisk.pl>,
	lenb@kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	mingo@elte.hu, "H. Peter Anvin" <hpa@zytor.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Toshi Kani <toshi.kani@hp.com>,
	Wanpeng Li <liwanp@linux.vnet.ibm.com>,
	Thomas Renninger <trenn@suse.de>, Yinghai Lu <yinghai@kernel.org>,
	Jiang Liu <jiang.liu@huawei.com>,
	Wen Congyang <wency@cn.fujitsu.com>,
	Lai Jiangshan <laijs@cn.fujitsu.com>,
	isimatu.yasuaki@jp.fujitsu.com, izumi.taku@jp.fujitsu.com,
	Mel Gorman <mgorman@suse.de>, Minchan Kim <minchan@kernel.org>,
	mina86@mina86.com, gong.chen@linux.intel.com,
	vasilis.liaskovitis@profitbricks.com, lwoodman@redhat.com,
	Rik van Riel <riel@redhat.com>,
	jweiner@redhat.com, prarit@redhat.com,
	"x86@kernel.org" <x86@kernel.org>,
	linux-doc@vger.kernel.org,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Linux MM <linux-mm@kvack.org>,
	linux-acpi@vger.kernel.org, imtangchen@gmail.com
Subject: Re: [PATCH 4/6] x86/mem-hotplug: Support initialize page tables bottom up
Date: Tue, 24 Sep 2013 21:23:48 +0800	[thread overview]
Message-ID: <52419264.3020409@gmail.com> (raw)
In-Reply-To: <20130924123340.GE2366@htj.dyndns.org>

On 09/24/2013 08:33 PM, Tejun Heo wrote:
> Hello,
> 
> On Tue, Sep 24, 2013 at 06:08:27PM +0800, Zhang Yanfei wrote:
>> +#ifdef CONFIG_MOVABLE_NODE
> 
> You don't need the above ifdef.  The compiler will be able to cull the
> code as long as memblock_bottom_up() is defined as constant
> expression when !MOVABLE_NODE.

yeah, will remove the #if. thanks.

> 
>> +/**
>> + * memory_map_bottom_up - Map [map_start, map_end) bottom up
>> + * @map_start: start address of the target memory range
>> + * @map_end: end address of the target memory range
>> + *
>> + * This function will setup direct mapping for memory range [map_start, map_end)
>> + * in a heuristic way. In the beginning, step_size is small. The more memory we
>> + * map memory in the next loop.
> 
> The same comment as before.  Now we have two function with the
> identical comment but behaving differently, which isn't nice.

OK, will change them.

> 
> ...
>> +	 * If the allocation is in bottom-up direction, we start from the
>> +	 * bottom and go to the top: first [kernel_end, end) and then
>> +	 * [ISA_END_ADDRESS, kernel_end). Otherwise, we start from the top
>> +	 * (end of memory) and go to the bottom.
>> +	 *
>> +	 * The memblock_find_in_range() gets us a block of RAM in
>> +	 * [min_pfn_mapped, max_pfn_mapped) used as new pages for page table.
>>  	 */
>> -	memory_map_top_down(ISA_END_ADDRESS, end);
>> +	if (memblock_bottom_up()) {
>> +		unsigned long kernel_end;
>> +
>> +		kernel_end = round_up(__pa_symbol(_end), PMD_SIZE);
>> +		memory_map_bottom_up(kernel_end, end);
>> +		memory_map_bottom_up(ISA_END_ADDRESS, kernel_end);
> 
> Hmm... so, this is kinda weird.  We're doing it in two chunks and
> mapping memory between ISA_END_ADDRESS and kernel_end right on top of
> ISA_END_ADDRESS?  Can't you give enough information to the mapping
> function so that it can map everything on top of kernel_end in single
> go?

You mean we should call memory_map_bottom_up like this:

memory_map_bottom_up(ISA_END_ADDRESS, end)

right?

> 
> Thanks.
> 


-- 
Thanks.
Zhang Yanfei

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

WARNING: multiple messages have this Message-ID (diff)
From: Zhang Yanfei <zhangyanfei.yes@gmail.com>
To: Tejun Heo <tj@kernel.org>
Cc: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>,
	"Rafael J . Wysocki" <rjw@sisk.pl>,
	lenb@kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	mingo@elte.hu, "H. Peter Anvin" <hpa@zytor.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Toshi Kani <toshi.kani@hp.com>,
	Wanpeng Li <liwanp@linux.vnet.ibm.com>,
	Thomas Renninger <trenn@suse.de>, Yinghai Lu <yinghai@kernel.org>,
	Jiang Liu <jiang.liu@huawei.com>,
	Wen Congyang <wency@cn.fujitsu.com>,
	Lai Jiangshan <laijs@cn.fujitsu.com>,
	isimatu.yasuaki@jp.fujitsu.com, izumi.taku@jp.fujitsu.com,
	Mel Gorman <mgorman@suse.de>, Minchan Kim <minchan@kernel.org>,
	mina86@mina86.com, gong.chen@linux.intel.com,
	vasilis.liaskovitis@profitbricks.com, lwoodman@redhat.com,
	Rik van Riel <riel@redhat.com>,
	jweiner@redhat.com, prarit@redhat.com,
	"x86@kernel.org" <x86@kernel.org>,
	linux-doc@vger.kernel.org,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Linux MM <linux-mm@kvack.org>,
	linux-acpi@vger.kernel.org, imtangchen@gmail.com
Subject: Re: [PATCH 4/6] x86/mem-hotplug: Support initialize page tables bottom up
Date: Tue, 24 Sep 2013 21:23:48 +0800	[thread overview]
Message-ID: <52419264.3020409@gmail.com> (raw)
In-Reply-To: <20130924123340.GE2366@htj.dyndns.org>

On 09/24/2013 08:33 PM, Tejun Heo wrote:
> Hello,
> 
> On Tue, Sep 24, 2013 at 06:08:27PM +0800, Zhang Yanfei wrote:
>> +#ifdef CONFIG_MOVABLE_NODE
> 
> You don't need the above ifdef.  The compiler will be able to cull the
> code as long as memblock_bottom_up() is defined as constant
> expression when !MOVABLE_NODE.

yeah, will remove the #if. thanks.

> 
>> +/**
>> + * memory_map_bottom_up - Map [map_start, map_end) bottom up
>> + * @map_start: start address of the target memory range
>> + * @map_end: end address of the target memory range
>> + *
>> + * This function will setup direct mapping for memory range [map_start, map_end)
>> + * in a heuristic way. In the beginning, step_size is small. The more memory we
>> + * map memory in the next loop.
> 
> The same comment as before.  Now we have two function with the
> identical comment but behaving differently, which isn't nice.

OK, will change them.

> 
> ...
>> +	 * If the allocation is in bottom-up direction, we start from the
>> +	 * bottom and go to the top: first [kernel_end, end) and then
>> +	 * [ISA_END_ADDRESS, kernel_end). Otherwise, we start from the top
>> +	 * (end of memory) and go to the bottom.
>> +	 *
>> +	 * The memblock_find_in_range() gets us a block of RAM in
>> +	 * [min_pfn_mapped, max_pfn_mapped) used as new pages for page table.
>>  	 */
>> -	memory_map_top_down(ISA_END_ADDRESS, end);
>> +	if (memblock_bottom_up()) {
>> +		unsigned long kernel_end;
>> +
>> +		kernel_end = round_up(__pa_symbol(_end), PMD_SIZE);
>> +		memory_map_bottom_up(kernel_end, end);
>> +		memory_map_bottom_up(ISA_END_ADDRESS, kernel_end);
> 
> Hmm... so, this is kinda weird.  We're doing it in two chunks and
> mapping memory between ISA_END_ADDRESS and kernel_end right on top of
> ISA_END_ADDRESS?  Can't you give enough information to the mapping
> function so that it can map everything on top of kernel_end in single
> go?

You mean we should call memory_map_bottom_up like this:

memory_map_bottom_up(ISA_END_ADDRESS, end)

right?

> 
> Thanks.
> 


-- 
Thanks.
Zhang Yanfei

  reply	other threads:[~2013-09-24 13:23 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-24 10:00 [PATCH v4 0/6] x86, memblock: Allocate memory near kernel image before SRAT parsed Zhang Yanfei
2013-09-24 10:00 ` Zhang Yanfei
2013-09-24 10:03 ` [PATCH 1/6] memblock: Factor out of top-down allocation Zhang Yanfei
2013-09-24 10:03   ` Zhang Yanfei
2013-09-24 12:10   ` Tejun Heo
2013-09-24 12:10     ` Tejun Heo
2013-09-24 12:10     ` Tejun Heo
2013-09-24 13:04     ` Zhang Yanfei
2013-09-24 13:04       ` Zhang Yanfei
2013-09-24 13:04       ` Zhang Yanfei
2013-09-24 10:05 ` [PATCH 2/6] memblock: Introduce bottom-up allocation mode Zhang Yanfei
2013-09-24 10:05   ` Zhang Yanfei
2013-09-24 12:17   ` Tejun Heo
2013-09-24 12:17     ` Tejun Heo
2013-09-24 12:17     ` Tejun Heo
2013-09-24 13:17     ` Zhang Yanfei
2013-09-24 13:17       ` Zhang Yanfei
2013-09-24 13:17       ` Zhang Yanfei
2013-09-24 13:23       ` Tejun Heo
2013-09-24 13:23         ` Tejun Heo
2013-09-24 13:23         ` Tejun Heo
2013-09-24 14:12         ` Zhang Yanfei
2013-09-24 14:12           ` Zhang Yanfei
2013-09-24 14:12           ` Zhang Yanfei
2013-09-24 14:16           ` Tejun Heo
2013-09-24 14:16             ` Tejun Heo
2013-09-24 14:16             ` Tejun Heo
2013-09-24 14:19             ` Zhang Yanfei
2013-09-24 14:19               ` Zhang Yanfei
2013-09-24 14:19               ` Zhang Yanfei
2013-09-24 10:06 ` [PATCH 3/6] x86/mm: Factor out of top-down direct mapping setup Zhang Yanfei
2013-09-24 10:06   ` Zhang Yanfei
2013-09-24 10:06   ` Zhang Yanfei
2013-09-24 12:27   ` Tejun Heo
2013-09-24 12:27     ` Tejun Heo
2013-09-24 12:27     ` Tejun Heo
2013-09-24 13:20     ` Zhang Yanfei
2013-09-24 13:20       ` Zhang Yanfei
2013-09-24 13:20       ` Zhang Yanfei
2013-09-24 10:08 ` [PATCH 4/6] x86/mem-hotplug: Support initialize page tables bottom up Zhang Yanfei
2013-09-24 10:08   ` Zhang Yanfei
2013-09-24 12:33   ` Tejun Heo
2013-09-24 12:33     ` Tejun Heo
2013-09-24 12:33     ` Tejun Heo
2013-09-24 13:23     ` Zhang Yanfei [this message]
2013-09-24 13:23       ` Zhang Yanfei
2013-09-24 13:23       ` Zhang Yanfei
2013-09-24 13:27       ` Tejun Heo
2013-09-24 13:27         ` Tejun Heo
2013-09-24 13:27         ` Tejun Heo
2013-09-24 13:34         ` Zhang Yanfei
2013-09-24 13:34           ` Zhang Yanfei
2013-09-24 13:34           ` Zhang Yanfei
2013-09-24 13:39           ` Tejun Heo
2013-09-24 13:39             ` Tejun Heo
2013-09-24 13:39             ` Tejun Heo
2013-09-24 13:53             ` Zhang Yanfei
2013-09-24 13:53               ` Zhang Yanfei
2013-09-24 13:53               ` Zhang Yanfei
2013-09-24 14:05               ` Tejun Heo
2013-09-24 14:05                 ` Tejun Heo
2013-09-24 14:05                 ` Tejun Heo
2013-09-24 14:07                 ` Zhang Yanfei
2013-09-24 14:07                   ` Zhang Yanfei
2013-09-24 14:07                   ` Zhang Yanfei
2013-09-24 10:09 ` [PATCH 5/6] x86, acpi, crash, kdump: Do reserve_crashkernel() after SRAT is parsed Zhang Yanfei
2013-09-24 10:09   ` Zhang Yanfei
2013-09-24 12:34   ` Tejun Heo
2013-09-24 12:34     ` Tejun Heo
2013-09-24 12:34     ` Tejun Heo
2013-09-24 13:24     ` Zhang Yanfei
2013-09-24 13:24       ` Zhang Yanfei
2013-09-24 13:24       ` Zhang Yanfei
2013-09-24 10:11 ` [PATCH 6/6] mem-hotplug: Introduce movablenode boot option Zhang Yanfei
2013-09-24 10:11   ` Zhang Yanfei
2013-09-24 12:41   ` Tejun Heo
2013-09-24 12:41     ` Tejun Heo
2013-09-24 12:41     ` Tejun Heo
2013-09-24 13:31     ` Zhang Yanfei
2013-09-24 13:31       ` Zhang Yanfei
2013-09-24 13:31       ` Zhang Yanfei
2013-09-24 15:24       ` Zhang Yanfei
2013-09-24 15:24         ` Zhang Yanfei
2013-09-24 15:24         ` Zhang Yanfei
2013-09-24 15:32         ` Tejun Heo
2013-09-24 15:32           ` Tejun Heo
2013-09-24 15:32           ` Tejun Heo
2013-09-24 15:43           ` Zhang Yanfei
2013-09-24 15:43             ` Zhang Yanfei
2013-09-24 15:43             ` Zhang Yanfei
2013-09-24 16:00         ` Toshi Kani
2013-09-24 16:00           ` Toshi Kani
2013-09-24 16:00           ` Toshi Kani
2013-09-24 16:08           ` Zhang Yanfei
2013-09-24 16:08             ` Zhang Yanfei
2013-09-24 16:08             ` Zhang Yanfei
2013-09-24 16:33             ` Toshi Kani
2013-09-24 16:33               ` Toshi Kani
2013-09-24 16:33               ` Toshi Kani

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52419264.3020409@gmail.com \
    --to=zhangyanfei.yes@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=gong.chen@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=isimatu.yasuaki@jp.fujitsu.com \
    --cc=izumi.taku@jp.fujitsu.com \
    --cc=jiang.liu@huawei.com \
    --cc=jweiner@redhat.com \
    --cc=laijs@cn.fujitsu.com \
    --cc=lenb@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=liwanp@linux.vnet.ibm.com \
    --cc=lwoodman@redhat.com \
    --cc=mgorman@suse.de \
    --cc=mina86@mina86.com \
    --cc=minchan@kernel.org \
    --cc=mingo@elte.hu \
    --cc=prarit@redhat.com \
    --cc=riel@redhat.com \
    --cc=rjw@sisk.pl \
    --cc=tglx@linutronix.de \
    --cc=tj@kernel.org \
    --cc=toshi.kani@hp.com \
    --cc=trenn@suse.de \
    --cc=vasilis.liaskovitis@profitbricks.com \
    --cc=wency@cn.fujitsu.com \
    --cc=x86@kernel.org \
    --cc=yinghai@kernel.org \
    --cc=zhangyanfei@cn.fujitsu.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.