[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1546849485-27933-1-git-send-email-kernelfans@gmail.com>
Date: Mon, 7 Jan 2019 16:24:41 +0800
From: Pingfan Liu <kernelfans@...il.com>
To: x86@...nel.org, linux-acpi@...r.kernel.org
Cc: Pingfan Liu <kernelfans@...il.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
"H. Peter Anvin" <hpa@...or.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Andy Lutomirski <luto@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
"Rafael J. Wysocki" <rjw@...ysocki.net>,
Len Brown <lenb@...nel.org>, linux-kernel@...r.kernel.org
Subject: [RFC PATCH 0/4] x86_64/mm: remove bottom-up allocation style by pushing forward the parsing of mem hotplug info
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.
Cc: Thomas Gleixner <tglx@...utronix.de>
Cc: Ingo Molnar <mingo@...hat.com>
Cc: Borislav Petkov <bp@...en8.de>
Cc: "H. Peter Anvin" <hpa@...or.com>
Cc: Dave Hansen <dave.hansen@...ux.intel.com>
Cc: Andy Lutomirski <luto@...nel.org>
Cc: Peter Zijlstra <peterz@...radead.org>
Cc: "Rafael J. Wysocki" <rjw@...ysocki.net>
Cc: Len Brown <lenb@...nel.org>
Cc: linux-kernel@...r.kernel.org
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
Powered by blists - more mailing lists