mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
mm: Remove unused exact_nid parameter from memmap_alloc()
Commit ffe5539313 ("mm/sparse: remove sparse buffer pre-allocation
mechanism") removed sparse_buffer_init(), which was the only caller of
memmap_alloc() that passed true for exact_nid.
All remaining callers pass false, leaving the exact-node allocation
branch unreachable. Remove the exact_nid parameter and unconditionally
use memblock_alloc_try_nid_raw().
This has no functional impact.
Signed-off-by: Kaitao Cheng <chengkaitao@kylinos.cn>
Link: https://patch.msgid.link/20260919135327.74089-2-kaitao.cheng@linux.dev
Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
This commit is contained in:
parent
5728d3523f
commit
063b5e8bbd
14
mm/mm_init.c
14
mm/mm_init.c
|
|
@ -1549,7 +1549,7 @@ static void __init free_area_init_core(struct pglist_data *pgdat)
|
|||
}
|
||||
|
||||
void __init *memmap_alloc(phys_addr_t size, phys_addr_t align,
|
||||
phys_addr_t min_addr, int nid, bool exact_nid)
|
||||
phys_addr_t min_addr, int nid)
|
||||
{
|
||||
void *ptr;
|
||||
|
||||
|
|
@ -1557,14 +1557,8 @@ void __init *memmap_alloc(phys_addr_t size, phys_addr_t align,
|
|||
* Kmemleak will explicitly scan mem_map by traversing all valid
|
||||
* `struct *page`,so memblock does not need to be added to the scan list.
|
||||
*/
|
||||
if (exact_nid)
|
||||
ptr = memblock_alloc_exact_nid_raw(size, align, min_addr,
|
||||
MEMBLOCK_ALLOC_NOLEAKTRACE,
|
||||
nid);
|
||||
else
|
||||
ptr = memblock_alloc_try_nid_raw(size, align, min_addr,
|
||||
MEMBLOCK_ALLOC_NOLEAKTRACE,
|
||||
nid);
|
||||
ptr = memblock_alloc_try_nid_raw(size, align, min_addr,
|
||||
MEMBLOCK_ALLOC_NOLEAKTRACE, nid);
|
||||
|
||||
if (ptr && size > 0)
|
||||
page_init_poison(ptr, size);
|
||||
|
|
@ -1592,7 +1586,7 @@ static void __init alloc_node_mem_map(struct pglist_data *pgdat)
|
|||
end = ALIGN(pgdat_end_pfn(pgdat), MAX_ORDER_NR_PAGES);
|
||||
size = (end - start) * sizeof(struct page);
|
||||
map = memmap_alloc(size, SMP_CACHE_BYTES, MEMBLOCK_LOW_LIMIT,
|
||||
pgdat->node_id, false);
|
||||
pgdat->node_id);
|
||||
if (!map)
|
||||
panic("Failed to allocate %ld bytes for node %d memory map\n",
|
||||
size, pgdat->node_id);
|
||||
|
|
|
|||
|
|
@ -31,8 +31,8 @@ static inline void clear_zone_contiguous(struct zone *zone)
|
|||
|
||||
void memblock_free_pages(unsigned long pfn, unsigned int order);
|
||||
|
||||
void *memmap_alloc(phys_addr_t size, phys_addr_t align, phys_addr_t min_addr,
|
||||
int nid, bool exact_nid);
|
||||
void *memmap_alloc(phys_addr_t size, phys_addr_t align,
|
||||
phys_addr_t min_addr, int nid);
|
||||
|
||||
void memmap_init_range(unsigned long size, int nid, unsigned long zone,
|
||||
unsigned long start_pfn, unsigned long zone_end_pfn,
|
||||
|
|
|
|||
|
|
@ -44,20 +44,6 @@
|
|||
#include "mm_init.h"
|
||||
#include "sparse.h"
|
||||
|
||||
/*
|
||||
* Allocate a block of memory to be used to back the virtual memory map
|
||||
* or to back the page tables that are used to create the mapping.
|
||||
* Uses the main allocators if they are available, else bootmem.
|
||||
*/
|
||||
|
||||
static void * __ref __earlyonly_bootmem_alloc(int node,
|
||||
unsigned long size,
|
||||
unsigned long align,
|
||||
unsigned long goal)
|
||||
{
|
||||
return memmap_alloc(size, align, goal, node, false);
|
||||
}
|
||||
|
||||
void * __meminit vmemmap_alloc_block(unsigned long size, int node)
|
||||
{
|
||||
/* If the main allocator is up use that, fallback to bootmem. */
|
||||
|
|
@ -78,8 +64,7 @@ void * __meminit vmemmap_alloc_block(unsigned long size, int node)
|
|||
}
|
||||
return NULL;
|
||||
} else
|
||||
return __earlyonly_bootmem_alloc(node, size, size,
|
||||
__pa(MAX_DMA_ADDRESS));
|
||||
return memmap_alloc(size, size, __pa(MAX_DMA_ADDRESS), node);
|
||||
}
|
||||
|
||||
static void * __meminit altmap_alloc_block_buf(unsigned long size,
|
||||
|
|
|
|||
|
|
@ -231,7 +231,7 @@ struct page __init *__populate_section_memmap(unsigned long pfn,
|
|||
{
|
||||
unsigned long size = section_map_size();
|
||||
|
||||
return memmap_alloc(size, size, __pa(MAX_DMA_ADDRESS), nid, false);
|
||||
return memmap_alloc(size, size, __pa(MAX_DMA_ADDRESS), nid);
|
||||
}
|
||||
#endif /* !CONFIG_SPARSEMEM_VMEMMAP */
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user