Re: [PATCH part1 v6 4/6] x86/mem-hotplug: Support initialize page tables in bottom-up

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx> 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@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]