mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-23 16:24:15 +00:00
Add tests for memblock_alloc_try_nid for top down allocation direction.
As the definition of this function is pretty close to the core
memblock_alloc_range_nid, the test cases implemented here cover most of
the code paths related to the memory allocations.
The tested scenarios are:
- Region can be allocated within the requested range (both with aligned
and misaligned boundaries)
- Region can be allocated between two already existing entries
- Not enough space between already reserved regions
- Memory range is too narrow but memory can be allocated before
the maximum address
- Edge cases:
+ Minimum address is below memblock_start_of_DRAM()
+ Maximum address is above memblock_end_of_DRAM()
Add checks for both allocation directions:
- Region starts at the min_addr and ends at max_addr
- Maximum address is too close to the beginning of the available
memory
- Memory at the range boundaries is reserved but there is enough space
to allocate a new region
Signed-off-by: Karolina Drobnik <karolinadrobnik@gmail.com>
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Link: https://lore.kernel.org/r/d6c282e0f9f62c15bf74c216214604764232d637.1646055639.git.karolinadrobnik@gmail.com
16 lines
338 B
C
16 lines
338 B
C
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
#include "tests/basic_api.h"
|
|
#include "tests/alloc_api.h"
|
|
#include "tests/alloc_helpers_api.h"
|
|
#include "tests/alloc_nid_api.h"
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
memblock_basic_checks();
|
|
memblock_alloc_checks();
|
|
memblock_alloc_helpers_checks();
|
|
memblock_alloc_nid_checks();
|
|
|
|
return 0;
|
|
}
|