All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
To: Yinghai Lu <yinghai@kernel.org>
Cc: Tejun Heo <tj@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@elte.hu>,
	Zhang Yanfei <zhangyanfei.yes@gmail.com>,
	"Rafael J . Wysocki" <rjw@sisk.pl>, Len Brown <lenb@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Toshi Kani <toshi.kani@hp.com>,
	Wanpeng Li <liwanp@linux.vnet.ibm.com>,
	Thomas Renninger <trenn@suse.de>,
	Jiang Liu <jiang.liu@huawei.com>,
	Wen Congyang <wency@cn.fujitsu.com>,
	Lai Jiangshan <laijs@cn.fujitsu.com>,
	Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>,
	Taku Izumi <izumi.taku@jp.fujitsu.com>,
	Mel Gorman <mgorman@suse.de>, Minchan Kim <minchan@kernel.org>,
	"mina86@mina86.com" <mina86@mina86.com>,
	"gong.chen@linux.intel.com" <gong.chen@linux.intel.com>,
	Vasilis Liaskovitis <vasilis.liaskovi>
Subject: Re: [PATCH part1 v6 4/6] x86/mem-hotplug: Support initialize page tables in bottom-up
Date: Fri, 11 Oct 2013 13:47:16 +0800	[thread overview]
Message-ID: <525790E4.3060806@cn.fujitsu.com> (raw)
In-Reply-To: <CAE9FiQWpwp4bTEWEYw3-CW9xF5s_zJAayJrBC_buBC7-nd=7KA@mail.gmail.com>

Hello yinghai,

I know your opinion but take code modification as an example
seems like it doesn't stand. More code doesn't mean more complexity......

On 10/11/2013 01:27 PM, Yinghai Lu wrote:
> On Wed, Oct 9, 2013 at 12:23 PM, Tejun Heo <tj@kernel.org> wrote:
>> Hello, Yinghai.
>>
>> On Wed, Oct 09, 2013 at 12:10:34PM -0700, Yinghai Lu wrote:
>>>> I still feel quite uneasy about pulling SRAT parsing and ACPI initrd
>>>> overriding into early boot.
>>>
>>> for your reconsidering to parse srat early, I refresh that old patchset
>>> at
>>>
>>> https://git.kernel.org/cgit/linux/kernel/git/yinghai/linux-yinghai.git/log/?h=for-x86-mm-3.13
>>>
>>> actually looks one-third or haf patches already have your ack.
>>
>> Yes, but those acks assume that the overall approach is a good idea.
>> The biggest issue that I have with the approach is that it is invasive
>> and modifies basic structure for an inherently kludgy solution for a
>> quite niche problem.  The benefit / cost ratio still seems quite off
>> to me - we're making a lot of general changes to serve something very
>> specialized, which might not even stay relevant for long time.
>>
> 
> I really hate adding another the code path.
> 
> Now with v7 from Yanfei, will have movable_node boot command parameter and
> if that is specified  kernel would allocate ram early in different way.
> 
> Parse srat early patchset add about 217 lines, (from x86, ACPI, NUMA,
> ia64: split SLIT handling out)
> 
>  arch/ia64/kernel/setup.c                |   4 +-
>  arch/x86/include/asm/acpi.h             |   3 +-
>  arch/x86/include/asm/page_types.h       |   2 +-
>  arch/x86/include/asm/pgtable.h          |   2 +-
>  arch/x86/include/asm/setup.h            |   9 ++
>  arch/x86/kernel/head64.c                |   2 +
>  arch/x86/kernel/head_32.S               |   4 +
>  arch/x86/kernel/microcode_intel_early.c |   8 +-
>  arch/x86/kernel/setup.c                 |  86 ++++++-----
>  arch/x86/mm/init.c                      | 101 ++++++++-----
>  arch/x86/mm/numa.c                      | 244 +++++++++++++++++++++++++-------
>  arch/x86/mm/numa_emulation.c            |   2 +-
>  arch/x86/mm/numa_internal.h             |   2 +
>  arch/x86/mm/srat.c                      |  11 +-
>  drivers/acpi/numa.c                     |  13 +-
>  drivers/acpi/osl.c                      | 131 ++++++++++++-----
>  include/linux/acpi.h                    |  20 +--
>  include/linux/mm.h                      |   3 -
>  mm/page_alloc.c                         |  52 +------
>  19 files changed, 458 insertions(+), 241 deletions(-)
> 
> if I drop last two, aka does not allocate page table on local code.
> will only keep page table on first node, will only need to have add 137 lines.
> 
>  arch/ia64/kernel/setup.c                |   4 +-
>  arch/x86/include/asm/acpi.h             |   3 +-
>  arch/x86/include/asm/page_types.h       |   2 +-
>  arch/x86/include/asm/setup.h            |   9 ++
>  arch/x86/kernel/head64.c                |   2 +
>  arch/x86/kernel/head_32.S               |   4 +
>  arch/x86/kernel/microcode_intel_early.c |   8 +-
>  arch/x86/kernel/setup.c                 |  85 +++++++++------
>  arch/x86/mm/init.c                      |  10 +-
>  arch/x86/mm/numa.c                      | 188 +++++++++++++++++++++++---------
>  arch/x86/mm/numa_emulation.c            |   2 +-
>  arch/x86/mm/numa_internal.h             |   2 +
>  arch/x86/mm/srat.c                      |  11 +-
>  drivers/acpi/numa.c                     |  13 ++-
>  drivers/acpi/osl.c                      | 131 +++++++++++++++-------
>  include/linux/acpi.h                    |  20 ++--
>  include/linux/mm.h                      |   3 -
>  mm/page_alloc.c                         |  52 +--------
>  18 files changed, 343 insertions(+), 206 deletions(-)
> 
> and Yanfei's add about 265 lines
> 
>  Documentation/kernel-
> parameters.txt |    3 +
>  arch/x86/kernel/setup.c             |    9 ++-
>  arch/x86/mm/init.c                  |  122 ++++++++++++++++++++++++++++------
>  arch/x86/mm/numa.c                  |   11 +++
>  include/linux/memblock.h            |   24 +++++++
>  include/linux/mm.h                  |    4 +
>  mm/Kconfig                          |   17 +++--
>  mm/memblock.c                       |  126 +++++++++++++++++++++++++++++++----
>  mm/memory_hotplug.c                 |   31 +++++++++
>  9 files changed, 306 insertions(+), 41 deletions(-)
> 
> For long term to keep the code more maintainable, We really should go
> though parse srat table early.
> 
> Thanks
> 
> Yinghai
> 


-- 
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@cn.fujitsu.com>
To: Yinghai Lu <yinghai@kernel.org>
Cc: Tejun Heo <tj@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@elte.hu>,
	Zhang Yanfei <zhangyanfei.yes@gmail.com>,
	"Rafael J . Wysocki" <rjw@sisk.pl>, Len Brown <lenb@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Toshi Kani <toshi.kani@hp.com>,
	Wanpeng Li <liwanp@linux.vnet.ibm.com>,
	Thomas Renninger <trenn@suse.de>,
	Jiang Liu <jiang.liu@huawei.com>,
	Wen Congyang <wency@cn.fujitsu.com>,
	Lai Jiangshan <laijs@cn.fujitsu.com>,
	Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>,
	Taku Izumi <izumi.taku@jp.fujitsu.com>,
	Mel Gorman <mgorman@suse.de>, Minchan Kim <minchan@kernel.org>,
	"mina86@mina86.com" <mina86@mina86.com>,
	"gong.chen@linux.intel.com" <gong.chen@linux.intel.com>,
	Vasilis Liaskovitis <vasilis.liaskovitis@profitbricks.com>,
	"lwoodman@redhat.com" <lwoodman@redhat.com>,
	Rik van Riel <riel@redhat.com>,
	"jweiner@redhat.com" <jweiner@redhat.com>,
	Prarit Bhargava <prarit@redhat.com>,
	"x86@kernel.org" <x86@kernel.org>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Linux MM <linux-mm@kvack.org>,
	ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
	Chen Tang <imtangchen@gmail.com>,
	Tang Chen <tangchen@cn.fujitsu.com>
Subject: Re: [PATCH part1 v6 4/6] x86/mem-hotplug: Support initialize page tables in bottom-up
Date: Fri, 11 Oct 2013 13:47:16 +0800	[thread overview]
Message-ID: <525790E4.3060806@cn.fujitsu.com> (raw)
In-Reply-To: <CAE9FiQWpwp4bTEWEYw3-CW9xF5s_zJAayJrBC_buBC7-nd=7KA@mail.gmail.com>

Hello yinghai,

I know your opinion but take code modification as an example
seems like it doesn't stand. More code doesn't mean more complexity......

On 10/11/2013 01:27 PM, Yinghai Lu wrote:
> On Wed, Oct 9, 2013 at 12:23 PM, Tejun Heo <tj@kernel.org> wrote:
>> Hello, Yinghai.
>>
>> On Wed, Oct 09, 2013 at 12:10:34PM -0700, Yinghai Lu wrote:
>>>> I still feel quite uneasy about pulling SRAT parsing and ACPI initrd
>>>> overriding into early boot.
>>>
>>> for your reconsidering to parse srat early, I refresh that old patchset
>>> at
>>>
>>> https://git.kernel.org/cgit/linux/kernel/git/yinghai/linux-yinghai.git/log/?h=for-x86-mm-3.13
>>>
>>> actually looks one-third or haf patches already have your ack.
>>
>> Yes, but those acks assume that the overall approach is a good idea.
>> The biggest issue that I have with the approach is that it is invasive
>> and modifies basic structure for an inherently kludgy solution for a
>> quite niche problem.  The benefit / cost ratio still seems quite off
>> to me - we're making a lot of general changes to serve something very
>> specialized, which might not even stay relevant for long time.
>>
> 
> I really hate adding another the code path.
> 
> Now with v7 from Yanfei, will have movable_node boot command parameter and
> if that is specified  kernel would allocate ram early in different way.
> 
> Parse srat early patchset add about 217 lines, (from x86, ACPI, NUMA,
> ia64: split SLIT handling out)
> 
>  arch/ia64/kernel/setup.c                |   4 +-
>  arch/x86/include/asm/acpi.h             |   3 +-
>  arch/x86/include/asm/page_types.h       |   2 +-
>  arch/x86/include/asm/pgtable.h          |   2 +-
>  arch/x86/include/asm/setup.h            |   9 ++
>  arch/x86/kernel/head64.c                |   2 +
>  arch/x86/kernel/head_32.S               |   4 +
>  arch/x86/kernel/microcode_intel_early.c |   8 +-
>  arch/x86/kernel/setup.c                 |  86 ++++++-----
>  arch/x86/mm/init.c                      | 101 ++++++++-----
>  arch/x86/mm/numa.c                      | 244 +++++++++++++++++++++++++-------
>  arch/x86/mm/numa_emulation.c            |   2 +-
>  arch/x86/mm/numa_internal.h             |   2 +
>  arch/x86/mm/srat.c                      |  11 +-
>  drivers/acpi/numa.c                     |  13 +-
>  drivers/acpi/osl.c                      | 131 ++++++++++++-----
>  include/linux/acpi.h                    |  20 +--
>  include/linux/mm.h                      |   3 -
>  mm/page_alloc.c                         |  52 +------
>  19 files changed, 458 insertions(+), 241 deletions(-)
> 
> if I drop last two, aka does not allocate page table on local code.
> will only keep page table on first node, will only need to have add 137 lines.
> 
>  arch/ia64/kernel/setup.c                |   4 +-
>  arch/x86/include/asm/acpi.h             |   3 +-
>  arch/x86/include/asm/page_types.h       |   2 +-
>  arch/x86/include/asm/setup.h            |   9 ++
>  arch/x86/kernel/head64.c                |   2 +
>  arch/x86/kernel/head_32.S               |   4 +
>  arch/x86/kernel/microcode_intel_early.c |   8 +-
>  arch/x86/kernel/setup.c                 |  85 +++++++++------
>  arch/x86/mm/init.c                      |  10 +-
>  arch/x86/mm/numa.c                      | 188 +++++++++++++++++++++++---------
>  arch/x86/mm/numa_emulation.c            |   2 +-
>  arch/x86/mm/numa_internal.h             |   2 +
>  arch/x86/mm/srat.c                      |  11 +-
>  drivers/acpi/numa.c                     |  13 ++-
>  drivers/acpi/osl.c                      | 131 +++++++++++++++-------
>  include/linux/acpi.h                    |  20 ++--
>  include/linux/mm.h                      |   3 -
>  mm/page_alloc.c                         |  52 +--------
>  18 files changed, 343 insertions(+), 206 deletions(-)
> 
> and Yanfei's add about 265 lines
> 
>  Documentation/kernel-
> parameters.txt |    3 +
>  arch/x86/kernel/setup.c             |    9 ++-
>  arch/x86/mm/init.c                  |  122 ++++++++++++++++++++++++++++------
>  arch/x86/mm/numa.c                  |   11 +++
>  include/linux/memblock.h            |   24 +++++++
>  include/linux/mm.h                  |    4 +
>  mm/Kconfig                          |   17 +++--
>  mm/memblock.c                       |  126 +++++++++++++++++++++++++++++++----
>  mm/memory_hotplug.c                 |   31 +++++++++
>  9 files changed, 306 insertions(+), 41 deletions(-)
> 
> For long term to keep the code more maintainable, We really should go
> though parse srat table early.
> 
> Thanks
> 
> Yinghai
> 


-- 
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>

  reply	other threads:[~2013-10-11  5:47 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-04  1:56 [PATCH part1 v6 0/6] x86, memblock: Allocate memory near kernel image before SRAT parsed Zhang Yanfei
2013-10-04  1:56 ` Zhang Yanfei
2013-10-04  1:57 ` [PATCH part1 v6 1/6] memblock: Factor out of top-down allocation Zhang Yanfei
2013-10-04  1:57   ` Zhang Yanfei
2013-10-04  1:58 ` [PATCH part1 v6 2/6] memblock: Introduce bottom-up allocation mode Zhang Yanfei
2013-10-04  1:58   ` Zhang Yanfei
2013-10-05 21:30   ` Toshi Kani
2013-10-05 21:30     ` Toshi Kani
2013-10-04  1:59 ` [PATCH part1 v6 3/6] x86/mm: Factor out of top-down direct mapping setup Zhang Yanfei
2013-10-04  1:59   ` Zhang Yanfei
2013-10-04  2:00 ` [PATCH part1 v6 4/6] x86/mem-hotplug: Support initialize page tables in bottom-up Zhang Yanfei
2013-10-04  2:00   ` Zhang Yanfei
2013-10-05 22:09   ` Toshi Kani
2013-10-05 22:09     ` Toshi Kani
2013-10-07  0:00   ` H. Peter Anvin
2013-10-07  0:00     ` H. Peter Anvin
2013-10-07 14:17     ` Zhang Yanfei
2013-10-07 14:17       ` Zhang Yanfei
2013-10-08 17:36     ` Zhang Yanfei
2013-10-08 17:36       ` Zhang Yanfei
2013-10-08 17:36       ` Zhang Yanfei
2013-10-09 16:44       ` Tejun Heo
2013-10-09 16:44         ` Tejun Heo
2013-10-09 17:14         ` Zhang Yanfei
2013-10-09 17:14           ` Zhang Yanfei
2013-10-09 19:20           ` Tejun Heo
2013-10-09 19:20             ` Tejun Heo
2013-10-09 19:30             ` Dave Hansen
2013-10-09 19:30               ` Dave Hansen
2013-10-09 19:47               ` Tejun Heo
2013-10-09 19:47                 ` Tejun Heo
2013-10-09 20:58             ` Toshi Kani
2013-10-09 20:58               ` Toshi Kani
2013-10-09 21:11               ` Tejun Heo
2013-10-09 21:11                 ` Tejun Heo
2013-10-09 21:14                 ` H. Peter Anvin
2013-10-09 21:14                   ` H. Peter Anvin
2013-10-09 21:45                   ` Zhang Yanfei
2013-10-09 21:45                     ` Zhang Yanfei
2013-10-09 23:10                     ` H. Peter Anvin
2013-10-09 23:10                       ` H. Peter Anvin
2013-10-09 23:26                       ` Zhang Yanfei
2013-10-09 23:26                         ` Zhang Yanfei
2013-10-10  1:20                         ` Zhang Yanfei
2013-10-10  1:20                           ` Zhang Yanfei
2013-10-10  1:20                           ` Zhang Yanfei
2013-10-10  0:25                   ` Toshi Kani
2013-10-10  0:25                     ` Toshi Kani
2013-10-09 23:58                 ` Toshi Kani
2013-10-09 23:58                   ` Toshi Kani
2013-10-10  1:00                   ` Tejun Heo
2013-10-10  1:00                     ` Tejun Heo
2013-10-10 14:36                     ` Toshi Kani
2013-10-10 14:36                       ` Toshi Kani
2013-10-10 15:35                       ` Tejun Heo
2013-10-10 15:35                         ` Tejun Heo
2013-10-10 16:24                         ` Toshi Kani
2013-10-10 16:24                           ` Toshi Kani
2013-10-10 16:46                           ` Tejun Heo
2013-10-10 16:46                             ` Tejun Heo
2013-10-10 16:50                             ` Toshi Kani
2013-10-10 16:50                               ` Toshi Kani
2013-10-10 16:55                               ` Tejun Heo
2013-10-10 16:55                                 ` Tejun Heo
2013-10-10 16:59                                 ` Toshi Kani
2013-10-10 16:59                                   ` Toshi Kani
2013-10-10 17:12                                   ` H. Peter Anvin
2013-10-10 17:12                                     ` H. Peter Anvin
2013-10-10 19:17                                     ` Toshi Kani
2013-10-10 19:17                                       ` Toshi Kani
2013-10-10 22:19                                       ` Tejun Heo
2013-10-10 22:19                                         ` Tejun Heo
2013-10-10 23:00                                         ` Toshi Kani
2013-10-10 23:00                                           ` Toshi Kani
2013-10-09 21:19             ` Zhang Yanfei
2013-10-09 21:19               ` Zhang Yanfei
2013-10-09 21:22               ` H. Peter Anvin
2013-10-09 21:22                 ` H. Peter Anvin
2013-10-09 23:30                 ` Zhang Yanfei
2013-10-09 23:30                   ` Zhang Yanfei
2013-10-09 19:10         ` Yinghai Lu
2013-10-09 19:10           ` Yinghai Lu
2013-10-09 19:23           ` Tejun Heo
2013-10-09 19:23             ` Tejun Heo
2013-10-11  5:27             ` Yinghai Lu
2013-10-11  5:27               ` Yinghai Lu
2013-10-11  5:47               ` Zhang Yanfei [this message]
2013-10-11  5:47                 ` Zhang Yanfei
2013-10-11  6:33                 ` Ingo Molnar
2013-10-11  6:33                   ` Ingo Molnar
2013-10-11  6:46                   ` Zhang Yanfei
2013-10-11  6:46                     ` Zhang Yanfei
2013-10-04  2:01 ` [PATCH part1 v6 5/6] x86, acpi, crash, kdump: Do reserve_crashkernel() after SRAT is parsed Zhang Yanfei
2013-10-04  2:01   ` Zhang Yanfei
2013-10-05 22:10   ` Toshi Kani
2013-10-05 22:10     ` Toshi Kani
2013-10-04  2:02 ` [PATCH part1 v6 6/6] mem-hotplug: Introduce movable_node boot option Zhang Yanfei
2013-10-04  2:02   ` Zhang Yanfei
2013-10-05 22:28   ` Toshi Kani
2013-10-05 22:28     ` Toshi Kani
2013-10-06 14:43     ` [PATCH part1 v6 update " Zhang Yanfei
2013-10-06 14:43       ` Zhang Yanfei
2013-10-06 14:43       ` Zhang Yanfei
2013-10-06 23:03       ` Toshi Kani
2013-10-06 23:03         ` Toshi Kani
2013-10-08  4:23 ` [PATCH part1 v6 0/6] x86, memblock: Allocate memory near kernel image before SRAT parsed Ingo Molnar
2013-10-08  4:23   ` Ingo Molnar
2013-10-08 15:28   ` Zhang Yanfei
2013-10-08 15:28     ` Zhang Yanfei

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=525790E4.3060806@cn.fujitsu.com \
    --to=zhangyanfei@cn.fujitsu.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=laijs@cn.fujitsu.com \
    --cc=lenb@kernel.org \
    --cc=liwanp@linux.vnet.ibm.com \
    --cc=mgorman@suse.de \
    --cc=mina86@mina86.com \
    --cc=minchan@kernel.org \
    --cc=mingo@elte.hu \
    --cc=rjw@sisk.pl \
    --cc=tglx@linutronix.de \
    --cc=tj@kernel.org \
    --cc=toshi.kani@hp.com \
    --cc=trenn@suse.de \
    --cc=wency@cn.fujitsu.com \
    --cc=yinghai@kernel.org \
    --cc=zhangyanfei.yes@gmail.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.