From: Mike Rapoport
There are several places in the code that directly dereference
memblock_region.nid despite this field being defined only when
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y.
Replace these with calls to memblock_get_region_nid() to improve code
robustness and to avoid possible breakage when
From: Mike Rapoport
Hi,
After the discussion [1] about removal of CONFIG_NODES_SPAN_OTHER_NODES and
CONFIG_HAVE_MEMBLOCK_NODE_MAP options, I took it a bit further and updated
the node/zone initialization.
Since all architectures have memblock, it is possible to use only the newer
version of fr
From: Mike Rapoport
The early_pfn_to_nid() and it's helper __early_pfn_to_nid() are spread
around include/linux/mm.h, include/linux/mmzone.h and mm/page_alloc.c.
Drop unused stub for __early_pfn_to_nid() and move its actual generic
implementation close to its users.
Signed-off-by: Mike Rapoport
From: Mike Rapoport
Currently, architectures that use free_area_init() to initialize memory map
and node and zone structures need to calculate zone and hole sizes. We can
use free_area_init_nodes() instead and let it detect the zone boundaries
while the architectures will only have to supply the
From: Mike Rapoport
The CONFIG_HAVE_MEMBLOCK_NODE_MAP is used to differentiate initialization
of nodes and zones structures between the systems that have region to node
mapping in memblock and those that don't.
Currently all the NUMA architectures enable this option and for the
non-NUMA systems
From: Mike Rapoport
The free_area_init() has effectively became a wrapper for
free_area_init_nodes() and there is no point of keeping it. Still
free_area_init() name is shorter and more general as it does not imply
necessity to initialize multiple nodes.
Rename free_area_init_nodes() to free_are
From: Mike Rapoport
The free_area_init() function only requires the definition of maximal PFN
for each of the supported zone rater than calculation of actual zone sizes
and the sizes of the holes between the zones.
After removal of CONFIG_HAVE_MEMBLOCK_NODE_MAP the free_area_init() is
available
From: Mike Rapoport
The free_area_init() function only requires the definition of maximal PFN
for each of the supported zone rater than calculation of actual zone sizes
and the sizes of the holes between the zones.
After removal of CONFIG_HAVE_MEMBLOCK_NODE_MAP the free_area_init() is
available
From: Mike Rapoport
The free_area_init() function only requires the definition of maximal PFN
for each of the supported zone rater than calculation of actual zone sizes
and the sizes of the holes between the zones.
After removal of CONFIG_HAVE_MEMBLOCK_NODE_MAP the free_area_init() is
available
From: Mike Rapoport
The free_area_init() function only requires the definition of maximal PFN
for each of the supported zone rater than calculation of actual zone sizes
and the sizes of the holes between the zones.
After removal of CONFIG_HAVE_MEMBLOCK_NODE_MAP the free_area_init() is
available
From: Mike Rapoport
The free_area_init() function only requires the definition of maximal PFN
for each of the supported zone rater than calculation of actual zone sizes
and the sizes of the holes between the zones.
After removal of CONFIG_HAVE_MEMBLOCK_NODE_MAP the free_area_init() is
available
From: Mike Rapoport
The free_area_init() function only requires the definition of maximal PFN
for each of the supported zone rater than calculation of actual zone sizes
and the sizes of the holes between the zones.
After removal of CONFIG_HAVE_MEMBLOCK_NODE_MAP the free_area_init() is
available
From: Mike Rapoport
The free_area_init() function only requires the definition of maximal PFN
for each of the supported zone rater than calculation of actual zone sizes
and the sizes of the holes between the zones.
After removal of CONFIG_HAVE_MEMBLOCK_NODE_MAP the free_area_init() is
available
From: Mike Rapoport
The free_area_init() function only requires the definition of maximal PFN
for each of the supported zone rater than calculation of actual zone sizes
and the sizes of the holes between the zones.
After removal of CONFIG_HAVE_MEMBLOCK_NODE_MAP the free_area_init() is
available
From: Baoquan He
When called during boot the memmap_init_zone() function checks if each PFN
is valid and actually belongs to the node being initialized using
early_pfn_valid() and early_pfn_in_nid().
Each such check may cost up to O(log(n)) where n is the number of memory
banks, so for large amo
From: Mike Rapoport
The commit f47ac088c406 ("mm: memmap_init: iterate over memblock regions
rather that check each PFN") made early_pfn_in_nid() obsolete and since
CONFIG_NODES_SPAN_OTHER_NODES is only used to pick a stub or a real
implementation of early_pfn_in_nid() it is also not needed anymo
From: Mike Rapoport
The free_area_init() function only requires the definition of maximal PFN
for each of the supported zone rater than calculation of actual zone sizes
and the sizes of the holes between the zones.
After removal of CONFIG_HAVE_MEMBLOCK_NODE_MAP the free_area_init() is
available
From: Mike Rapoport
The free_area_init_node() now always uses memblock info and the zone PFN
limits so it does not need the backwards compatibility functions to
calculate the zone spanned and absent pages. The removal of the compat_
versions of zone_{abscent,spanned}_pages_in_node() in turn, make
From: Mike Rapoport
Some architectures (e.g. ARC) have the ZONE_HIGHMEM zone below the
ZONE_NORMAL. Allowing free_area_init() parse max_zone_pfn array even it is
sorted in descending order allows using free_area_init() on such
architectures.
Add top -> down traversal of max_zone_pfn array in fre
From: Mike Rapoport
The free_area_init_node() is only used by x86 to initialize a memory-less
nodes.
Make its name reflect this and drop all the function parameters except node
ID as they are anyway zero.
Signed-off-by: Mike Rapoport
---
arch/x86/mm/numa.c | 5 +
include/linux/mm.h | 9 +++
From: Mike Rapoport
The find_min_pfn_with_active_regions() calls find_min_pfn_for_node() with
nid parameter set to MAX_NUMNODES. This makes the find_min_pfn_for_node()
traverse all memblock memory regions although the first PFN in the system
can be easily found with memblock_start_of_DRAM().
Use
From: Mike Rapoport
to reflect the updates to free_area_init() family of functions.
Signed-off-by: Mike Rapoport
---
Documentation/vm/memory-model.rst | 9 -
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/Documentation/vm/memory-model.rst
b/Documentation/vm/memory-model
ARC uses the UTS_MACHINE defined in the top Makefile as follows:
UTS_MACHINE := $(ARCH)
We know it is "arc" when we are building the kernel for ARC.
Hard-code user_regset_view::name, like many other architectures do.
Signed-off-by: Masahiro Yamada
---
arch/arc/kernel/Makefile | 3 ---
a
CONFIG_AS_CFI_SIGNAL_FRAME is never defined for ARC.
Suggested-by: Nick Desaulniers
Signed-off-by: Masahiro Yamada
---
arch/arc/kernel/unwind.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/arch/arc/kernel/unwind.c b/arch/arc/kernel/unwind.c
index 27ea64b1fa33..f87758a6851b 100644
--- a
Hi Masahiro San,
On 4/12/20 6:32 PM, Masahiro Yamada wrote:
> ARC uses the UTS_MACHINE defined in the top Makefile as follows:
>
> UTS_MACHINE := $(ARCH)
>
> We know it is "arc" when we are building the kernel for ARC.
> Hard-code user_regset_view::name, like many other architectures do.
>
On 4/12/20 7:05 PM, Masahiro Yamada wrote:
> CONFIG_AS_CFI_SIGNAL_FRAME is never defined for ARC.
>
> Suggested-by: Nick Desaulniers
Where, how ?
> Signed-off-by: Masahiro Yamada
> ---
>
> arch/arc/kernel/unwind.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/arch/arc/kernel/unw
On Mon, Apr 13, 2020 at 2:38 PM Vineet Gupta wrote:
>
> On 4/12/20 7:05 PM, Masahiro Yamada wrote:
> > CONFIG_AS_CFI_SIGNAL_FRAME is never defined for ARC.
> >
> > Suggested-by: Nick Desaulniers
>
> Where, how ?
I was working on various cleanups of x86 CONFIG_AS_* macros.
https://lore.kernel.o
27 matches
Mail list logo