mirror of
https://github.com/torvalds/linux.git
synced 2026-04-21 00:04:01 -04:00
memblock test: Add test to memblock_add() 129th region
Add 129th region into the memblock, and this will trigger the memblock_double_array() function, this needs valid memory regions. So using dummy_physical_memory_init() to allocate a large enough memory region, and split it into a large enough memory which can be choosed by memblock_double_array(), and the left memory will be split into small memory region, and add them into the memblock. It make sure the memblock_double_array() will always choose the valid memory region that is allocated by the dummy_physical_memory_init(). So memblock_double_array() must success. Another thing should be done is to restore the memory.regions after memblock_double_array(), due to now the memory.regions is pointing to a memory region allocated by dummy_physical_memory_init(). And it will affect the subsequent tests if we don't restore the memory region. So simply record the origin region, and restore it after the test. Signed-off-by: Shaoqin Huang <shaoqin.huang@intel.com> Signed-off-by: Mike Rapoport <rppt@linux.ibm.com> Link: https://lore.kernel.org/r/20221011062128.49359-2-shaoqin.huang@intel.com
This commit is contained in:
committed by
Mike Rapoport
parent
30a0b95b13
commit
085bdaa6eb
@@ -5,8 +5,6 @@
|
||||
#include <linux/memory_hotplug.h>
|
||||
#include <linux/build_bug.h>
|
||||
|
||||
#define INIT_MEMBLOCK_REGIONS 128
|
||||
#define INIT_MEMBLOCK_RESERVED_REGIONS INIT_MEMBLOCK_REGIONS
|
||||
#define PREFIXES_MAX 15
|
||||
#define DELIM ": "
|
||||
#define BASIS 10000
|
||||
@@ -115,6 +113,11 @@ void dummy_physical_memory_cleanup(void)
|
||||
free(memory_block.base);
|
||||
}
|
||||
|
||||
phys_addr_t dummy_physical_memory_base(void)
|
||||
{
|
||||
return (phys_addr_t)memory_block.base;
|
||||
}
|
||||
|
||||
static void usage(const char *prog)
|
||||
{
|
||||
BUILD_BUG_ON(ARRAY_SIZE(help_opts) != ARRAY_SIZE(long_opts) - 1);
|
||||
|
||||
Reference in New Issue
Block a user