mirror of
https://github.com/raspberrypi/linux.git
synced 2026-01-02 15:53:42 +00:00
Add tests for memblock_alloc_exact_nid_raw() where the simulated physical
memory is set up with multiple NUMA nodes. Additionally, all of these
tests set nid != NUMA_NO_NODE. These tests are run with a top-down
allocation direction.
The tested scenarios are:
Range unrestricted:
- region can be allocated in the specific node requested:
+ there are no previously reserved regions
+ the requested node is partially reserved but has enough space
Range restricted:
- region can be allocated in the specific node requested after dropping
min_addr:
+ range partially overlaps with two different nodes, where the
first node is the requested node
+ range partially overlaps with two different nodes, where the
requested node ends before min_addr
+ range overlaps with multiple nodes along node boundaries, and
the requested node ends before min_addr
Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Rebecca Mckeever <remckee0@gmail.com>
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Link: https://lore.kernel.org/r/2cc0883243d68ddc3faf833d2d9e86f48534c1d7.1667802195.git.remckee0@gmail.com
26 lines
491 B
C
26 lines
491 B
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
#ifndef _MEMBLOCK_ALLOC_EXACT_NID_H
|
|
#define _MEMBLOCK_ALLOC_EXACT_NID_H
|
|
|
|
#include "common.h"
|
|
|
|
int memblock_alloc_exact_nid_checks(void);
|
|
int __memblock_alloc_exact_nid_numa_checks(void);
|
|
|
|
#ifdef CONFIG_NUMA
|
|
static inline int memblock_alloc_exact_nid_numa_checks(void)
|
|
{
|
|
__memblock_alloc_exact_nid_numa_checks();
|
|
return 0;
|
|
}
|
|
|
|
#else
|
|
static inline int memblock_alloc_exact_nid_numa_checks(void)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
#endif /* CONFIG_NUMA */
|
|
|
|
#endif
|