mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-01 19:34:35 +08:00
8f98435d67
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;
|
|
}
|