From: Jiang Liu <jiang.liu@huawei.com>
To: Yinghai Lu <yinghai@kernel.org>
Cc: Tony Luck <tony.luck@intel.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
stable@vger.kernel.org, Minchan Kim <minchan@kernel.org>,
Keping Chen <chenkeping@huawei.com>, Mel Gorman <mgorman@suse.de>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
David Rientjes <rientjes@google.com>,
Xishi Qiu <qiuxishi@huawei.com>,
Andrew Morton <akpm@linux-foundation.org>,
David Gibson <david@gibson.dropbear.id.au>,
linuxppc-dev@lists.ozlabs.org,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Jiang Liu <liuj97@gmail.com>
Subject: Re: [PATCH] mm: setup pageblock_order before it's used by sparse
Date: Tue, 3 Jul 2012 10:54:50 +0800 [thread overview]
Message-ID: <4FF25EFA.1080004@huawei.com> (raw)
In-Reply-To: <CAE9FiQXpeGFfWvUHHW_GjgTg+4Op7agsht5coZbcmn2W=f9bqw@mail.gmail.com>
On 2012-7-3 4:43, Yinghai Lu wrote:
> On Sun, Jul 1, 2012 at 7:01 PM, Jiang Liu <jiang.liu@huawei.com> wrote:
>> Hi Yinghai,
>> The patch fails compilation as below:
>> mm/page_alloc.c:151: error: initializer element is not constant
>> mm/page_alloc.c:151: error: expected ‘,’ or ‘;’ before ‘__attribute__’
>>
>> On IA64, HUGETLB_PAGE_ORDER has dependency on variable hpage_shift.
>> # define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT)
>> # define HPAGE_SHIFT hpage_shift
>>
>> And hpage_shift could be changed by early parameter "hugepagesz".
>> So seems will still need to keep function set_pageblock_order().
>
> ah, then use use _DEFAULT instead and later could update that in earlyparam.
>
> So attached -v2 should work.
Hi Yinghai,
I'm afraid the v2 will break powerpc. Currently only IA64 and PowerPC
supports variable hugetlb size.
HPAGE_SHIFT is a variable default to 0 on powerpc. But seems PowerPC
is doing something wrong here, according to it's mm initialization
sequence as below:
start_kernel()
setup_arch()
paging_init()
free_area_init_node()
set_pageblock_order()
refer to HPAGE_SHIFT (still 0)
init_rest()
do_initcalls()
hugetlbpage_init()
setup HPAGE_SHIFT
That means pageblock_order is always set to "MAX_ORDER - 1", not sure
whether this is intended. And it has the same issue as IA64 of wasting
memory if CONFIG_SPARSE is enabled.
So it would be better to keep function set_pageblock_order(), it will
fix the memory wasting on both IA64 and PowerPC.
Thanks!
Gerry
>
> Thanks
>
> Yinghai
WARNING: multiple messages have this Message-ID (diff)
From: Jiang Liu <jiang.liu@huawei.com>
To: Yinghai Lu <yinghai@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@suse.de>, Tony Luck <tony.luck@intel.com>,
Xishi Qiu <qiuxishi@huawei.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
David Rientjes <rientjes@google.com>,
Minchan Kim <minchan@kernel.org>,
Keping Chen <chenkeping@huawei.com>,
linux-mm@kvack.org, stable@vger.kernel.org,
linux-kernel@vger.kernel.org, Jiang Liu <liuj97@gmail.com>,
David Gibson <david@gibson.dropbear.id.au>,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH] mm: setup pageblock_order before it's used by sparse
Date: Tue, 3 Jul 2012 10:54:50 +0800 [thread overview]
Message-ID: <4FF25EFA.1080004@huawei.com> (raw)
In-Reply-To: <CAE9FiQXpeGFfWvUHHW_GjgTg+4Op7agsht5coZbcmn2W=f9bqw@mail.gmail.com>
On 2012-7-3 4:43, Yinghai Lu wrote:
> On Sun, Jul 1, 2012 at 7:01 PM, Jiang Liu <jiang.liu@huawei.com> wrote:
>> Hi Yinghai,
>> The patch fails compilation as below:
>> mm/page_alloc.c:151: error: initializer element is not constant
>> mm/page_alloc.c:151: error: expected ?,? or ?;? before ?__attribute__?
>>
>> On IA64, HUGETLB_PAGE_ORDER has dependency on variable hpage_shift.
>> # define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT)
>> # define HPAGE_SHIFT hpage_shift
>>
>> And hpage_shift could be changed by early parameter "hugepagesz".
>> So seems will still need to keep function set_pageblock_order().
>
> ah, then use use _DEFAULT instead and later could update that in earlyparam.
>
> So attached -v2 should work.
Hi Yinghai,
I'm afraid the v2 will break powerpc. Currently only IA64 and PowerPC
supports variable hugetlb size.
HPAGE_SHIFT is a variable default to 0 on powerpc. But seems PowerPC
is doing something wrong here, according to it's mm initialization
sequence as below:
start_kernel()
setup_arch()
paging_init()
free_area_init_node()
set_pageblock_order()
refer to HPAGE_SHIFT (still 0)
init_rest()
do_initcalls()
hugetlbpage_init()
setup HPAGE_SHIFT
That means pageblock_order is always set to "MAX_ORDER - 1", not sure
whether this is intended. And it has the same issue as IA64 of wasting
memory if CONFIG_SPARSE is enabled.
So it would be better to keep function set_pageblock_order(), it will
fix the memory wasting on both IA64 and PowerPC.
Thanks!
Gerry
>
> Thanks
>
> Yinghai
--
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: Jiang Liu <jiang.liu@huawei.com>
To: Yinghai Lu <yinghai@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@suse.de>, Tony Luck <tony.luck@intel.com>,
Xishi Qiu <qiuxishi@huawei.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
David Rientjes <rientjes@google.com>,
Minchan Kim <minchan@kernel.org>,
Keping Chen <chenkeping@huawei.com>, <linux-mm@kvack.org>,
<stable@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
Jiang Liu <liuj97@gmail.com>,
David Gibson <david@gibson.dropbear.id.au>,
<linuxppc-dev@lists.ozlabs.org>
Subject: Re: [PATCH] mm: setup pageblock_order before it's used by sparse
Date: Tue, 3 Jul 2012 10:54:50 +0800 [thread overview]
Message-ID: <4FF25EFA.1080004@huawei.com> (raw)
In-Reply-To: <CAE9FiQXpeGFfWvUHHW_GjgTg+4Op7agsht5coZbcmn2W=f9bqw@mail.gmail.com>
On 2012-7-3 4:43, Yinghai Lu wrote:
> On Sun, Jul 1, 2012 at 7:01 PM, Jiang Liu <jiang.liu@huawei.com> wrote:
>> Hi Yinghai,
>> The patch fails compilation as below:
>> mm/page_alloc.c:151: error: initializer element is not constant
>> mm/page_alloc.c:151: error: expected ‘,’ or ‘;’ before ‘__attribute__’
>>
>> On IA64, HUGETLB_PAGE_ORDER has dependency on variable hpage_shift.
>> # define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT)
>> # define HPAGE_SHIFT hpage_shift
>>
>> And hpage_shift could be changed by early parameter "hugepagesz".
>> So seems will still need to keep function set_pageblock_order().
>
> ah, then use use _DEFAULT instead and later could update that in earlyparam.
>
> So attached -v2 should work.
Hi Yinghai,
I'm afraid the v2 will break powerpc. Currently only IA64 and PowerPC
supports variable hugetlb size.
HPAGE_SHIFT is a variable default to 0 on powerpc. But seems PowerPC
is doing something wrong here, according to it's mm initialization
sequence as below:
start_kernel()
setup_arch()
paging_init()
free_area_init_node()
set_pageblock_order()
refer to HPAGE_SHIFT (still 0)
init_rest()
do_initcalls()
hugetlbpage_init()
setup HPAGE_SHIFT
That means pageblock_order is always set to "MAX_ORDER - 1", not sure
whether this is intended. And it has the same issue as IA64 of wasting
memory if CONFIG_SPARSE is enabled.
So it would be better to keep function set_pageblock_order(), it will
fix the memory wasting on both IA64 and PowerPC.
Thanks!
Gerry
>
> Thanks
>
> Yinghai
WARNING: multiple messages have this Message-ID (diff)
From: Jiang Liu <jiang.liu@huawei.com>
To: Yinghai Lu <yinghai@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@suse.de>, Tony Luck <tony.luck@intel.com>,
Xishi Qiu <qiuxishi@huawei.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
David Rientjes <rientjes@google.com>,
Minchan Kim <minchan@kernel.org>,
Keping Chen <chenkeping@huawei.com>, <linux-mm@kvack.org>,
<stable@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
Jiang Liu <liuj97@gmail.com>,
David Gibson <david@gibson.dropbear.id.au>,
<linuxppc-dev@lists.ozlabs.org>
Subject: Re: [PATCH] mm: setup pageblock_order before it's used by sparse
Date: Tue, 3 Jul 2012 10:54:50 +0800 [thread overview]
Message-ID: <4FF25EFA.1080004@huawei.com> (raw)
In-Reply-To: <CAE9FiQXpeGFfWvUHHW_GjgTg+4Op7agsht5coZbcmn2W=f9bqw@mail.gmail.com>
On 2012-7-3 4:43, Yinghai Lu wrote:
> On Sun, Jul 1, 2012 at 7:01 PM, Jiang Liu <jiang.liu@huawei.com> wrote:
>> Hi Yinghai,
>> The patch fails compilation as below:
>> mm/page_alloc.c:151: error: initializer element is not constant
>> mm/page_alloc.c:151: error: expected �,� or �;� before �__attribute__�
>>
>> On IA64, HUGETLB_PAGE_ORDER has dependency on variable hpage_shift.
>> # define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT)
>> # define HPAGE_SHIFT hpage_shift
>>
>> And hpage_shift could be changed by early parameter "hugepagesz".
>> So seems will still need to keep function set_pageblock_order().
>
> ah, then use use _DEFAULT instead and later could update that in earlyparam.
>
> So attached -v2 should work.
Hi Yinghai,
I'm afraid the v2 will break powerpc. Currently only IA64 and PowerPC
supports variable hugetlb size.
HPAGE_SHIFT is a variable default to 0 on powerpc. But seems PowerPC
is doing something wrong here, according to it's mm initialization
sequence as below:
start_kernel()
setup_arch()
paging_init()
free_area_init_node()
set_pageblock_order()
refer to HPAGE_SHIFT (still 0)
init_rest()
do_initcalls()
hugetlbpage_init()
setup HPAGE_SHIFT
That means pageblock_order is always set to "MAX_ORDER - 1", not sure
whether this is intended. And it has the same issue as IA64 of wasting
memory if CONFIG_SPARSE is enabled.
So it would be better to keep function set_pageblock_order(), it will
fix the memory wasting on both IA64 and PowerPC.
Thanks!
Gerry
>
> Thanks
>
> Yinghai
next prev parent reply other threads:[~2012-07-03 3:05 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-30 9:07 [PATCH] mm: setup pageblock_order before it's used by sparse Jiang Liu
2012-06-30 9:07 ` Jiang Liu
2012-06-30 20:15 ` Yinghai Lu
2012-07-02 2:01 ` Jiang Liu
2012-07-02 2:01 ` Jiang Liu
2012-07-02 2:01 ` Jiang Liu
2012-07-02 20:43 ` Yinghai Lu
2012-07-03 2:54 ` Jiang Liu [this message]
2012-07-03 2:54 ` Jiang Liu
2012-07-03 2:54 ` Jiang Liu
2012-07-03 2:54 ` Jiang Liu
2012-07-03 3:25 ` Yinghai Lu
2012-07-03 3:25 ` Yinghai Lu
2012-07-03 3:25 ` Yinghai Lu
2012-07-03 3:25 ` Yinghai Lu
2012-07-03 3:29 ` Jiang Liu
2012-07-03 3:29 ` Jiang Liu
2012-07-03 3:29 ` Jiang Liu
2012-07-18 7:17 ` Benjamin Herrenschmidt
2012-07-18 7:17 ` Benjamin Herrenschmidt
2012-07-18 7:17 ` Benjamin Herrenschmidt
2012-07-18 7:15 ` Benjamin Herrenschmidt
2012-07-18 7:15 ` Benjamin Herrenschmidt
2012-07-18 7:15 ` Benjamin Herrenschmidt
2012-06-30 20:46 ` Greg KH
2012-06-30 20:46 ` Greg KH
2012-07-02 12:41 ` Mel Gorman
2012-07-02 12:41 ` Mel Gorman
2012-07-03 21:07 ` Andrew Morton
2012-07-03 21:07 ` Andrew Morton
2012-07-04 1:40 ` Jiang Liu
2012-07-04 1:40 ` Jiang Liu
2012-07-04 9:20 ` Mel Gorman
2012-07-04 9:20 ` Mel Gorman
2012-07-06 1:00 ` Yinghai Lu
2012-07-06 1:00 ` Yinghai Lu
2012-07-06 1:24 ` Benjamin Herrenschmidt
2012-07-06 1:24 ` Benjamin Herrenschmidt
2012-07-17 9:31 ` Jiang Liu
2012-07-17 9:31 ` Jiang Liu
2012-07-18 7:01 ` Benjamin Herrenschmidt
2012-07-18 7:01 ` Benjamin Herrenschmidt
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=4FF25EFA.1080004@huawei.com \
--to=jiang.liu@huawei.com \
--cc=akpm@linux-foundation.org \
--cc=chenkeping@huawei.com \
--cc=david@gibson.dropbear.id.au \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=liuj97@gmail.com \
--cc=mgorman@suse.de \
--cc=minchan@kernel.org \
--cc=qiuxishi@huawei.com \
--cc=rientjes@google.com \
--cc=stable@vger.kernel.org \
--cc=tony.luck@intel.com \
--cc=yinghai@kernel.org \
/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.