Re: [RFC PATCH 0/4] x86_64/mm: remove bottom-up allocation style by pushing forward the parsing of mem hotplug info

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

 



On Mon, Jan 07, 2019 at 04:24:41PM +0800, Pingfan Liu wrote:
>Background about the defect of the current bottom-up allocation style, take
>the following scenario:
>  |  unmovable node |     movable node                           |
>     | kaslr-kernel |subtree of pgtable for phy<->virt |
>
>Although kaslr-kernel can avoid to stain the movable node. But the
>pgtable can still stain the movable node. That is a probability problem,
>with low probability, but still exist. This patch tries to eliminate the
>probability. With the previous patch, at the point of init_mem_mapping(),
>memblock allocator can work with the knowledge of acpi memory hotmovable
>info, and avoid to stain the movable node. As a result,
>memory_map_bottom_up() is not needed any more.
>

Hi Pingfan,

Tang Chen ever tried to do this before adding 'movable_node':
commit e8d1955258091e4c92d5a975ebd7fd8a98f5d30f
Author: Tang Chen <tangchen@xxxxxxxxxxxxxx>
Date:   Fri Feb 22 16:33:44 2013 -0800

    acpi, memory-hotplug: parse SRAT before memblock is ready

Then, Lu Yinghai tried to do the similar job, you can see:
https://lwn.net/Articles/554854/
for more information. Hope that can help you.

Thanks,
Chao Fan

>
>Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
>Cc: Ingo Molnar <mingo@xxxxxxxxxx>
>Cc: Borislav Petkov <bp@xxxxxxxxx>
>Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
>Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
>Cc: Andy Lutomirski <luto@xxxxxxxxxx>
>Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
>Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx>
>Cc: Len Brown <lenb@xxxxxxxxxx>
>Cc: linux-kernel@xxxxxxxxxxxxxxx
>
>Pingfan Liu (4):
>  acpi: change the topo of acpi_table_upgrade()
>  x86/setup: parse acpi to get hotplug info before init_mem_mapping()
>  x86/mm: set allowed range for memblock allocator
>  x86/mm: remove bottom-up allocation style for x86_64
>
> arch/arm64/kernel/setup.c |   2 +-
> arch/x86/kernel/setup.c   |  17 ++++-
> arch/x86/mm/init.c        | 154 +++++++---------------------------------------
> arch/x86/mm/init_32.c     | 123 ++++++++++++++++++++++++++++++++++++
> arch/x86/mm/mm_internal.h |   7 +++
> drivers/acpi/tables.c     |   4 +-
> include/linux/acpi.h      |   5 +-
> 7 files changed, 172 insertions(+), 140 deletions(-)
>
>-- 
>2.7.4
>
>
>





[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux