| /linux/tools/testing/memblock/tests/ |
| H A D | basic_api.c | 17 ASSERT_NE(memblock.memory.regions, NULL); in memblock_initialization_check() 18 ASSERT_EQ(memblock.memory.cnt, 0); in memblock_initialization_check() 19 ASSERT_EQ(memblock.memory.max, EXPECTED_MEMBLOCK_REGIONS); in memblock_initialization_check() 20 ASSERT_EQ(strcmp(memblock.memory.name, "memory"), 0); in memblock_initialization_check() 22 ASSERT_NE(memblock.reserved.regions, NULL); in memblock_initialization_check() 23 ASSERT_EQ(memblock.reserved.cnt, 0); in memblock_initialization_check() 24 ASSERT_EQ(memblock.memory.max, EXPECTED_MEMBLOCK_REGIONS); in memblock_initialization_check() 25 ASSERT_EQ(strcmp(memblock.reserved.name, "reserved"), 0); in memblock_initialization_check() 27 ASSERT_EQ(memblock.bottom_up, false); in memblock_initialization_check() 28 ASSERT_EQ(memblock.current_limit, MEMBLOCK_ALLOC_ANYWHERE); in memblock_initialization_check() [all …]
|
| H A D | alloc_nid_api.c | 66 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_nid_top_down_simple_check() 91 ASSERT_EQ(memblock.reserved.cnt, 1); in alloc_nid_top_down_simple_check() 92 ASSERT_EQ(memblock.reserved.total_size, size); in alloc_nid_top_down_simple_check() 118 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_nid_top_down_end_misaligned_check() 144 ASSERT_EQ(memblock.reserved.cnt, 1); in alloc_nid_top_down_end_misaligned_check() 145 ASSERT_EQ(memblock.reserved.total_size, size); in alloc_nid_top_down_end_misaligned_check() 169 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_nid_exact_address_generic_check() 194 ASSERT_EQ(memblock.reserved.cnt, 1); in alloc_nid_exact_address_generic_check() 195 ASSERT_EQ(memblock.reserved.total_size, size); in alloc_nid_exact_address_generic_check() 221 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_nid_top_down_narrow_range_check() [all …]
|
| H A D | alloc_exact_nid_api.c | 30 struct memblock_region *new_rgn = &memblock.reserved.regions[0]; in alloc_exact_nid_top_down_numa_simple_check() 31 struct memblock_region *req_node = &memblock.memory.regions[nid_req]; in alloc_exact_nid_top_down_numa_simple_check() 56 ASSERT_EQ(memblock.reserved.cnt, 1); in alloc_exact_nid_top_down_numa_simple_check() 57 ASSERT_EQ(memblock.reserved.total_size, size); in alloc_exact_nid_top_down_numa_simple_check() 82 struct memblock_region *new_rgn = &memblock.reserved.regions[1]; in alloc_exact_nid_top_down_numa_part_reserved_check() 83 struct memblock_region *req_node = &memblock.memory.regions[nid_req]; in alloc_exact_nid_top_down_numa_part_reserved_check() 112 ASSERT_EQ(memblock.reserved.cnt, 2); in alloc_exact_nid_top_down_numa_part_reserved_check() 113 ASSERT_EQ(memblock.reserved.total_size, size + r1.size); in alloc_exact_nid_top_down_numa_part_reserved_check() 143 struct memblock_region *new_rgn = &memblock.reserved.regions[0]; in alloc_exact_nid_top_down_numa_split_range_low_check() 144 struct memblock_region *req_node = &memblock.memory.regions[nid_req]; in alloc_exact_nid_top_down_numa_split_range_low_check() [all …]
|
| H A D | alloc_helpers_api.c | 20 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_from_simple_generic_check() 38 ASSERT_EQ(memblock.reserved.cnt, 1); in alloc_from_simple_generic_check() 39 ASSERT_EQ(memblock.reserved.total_size, size); in alloc_from_simple_generic_check() 63 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_from_misaligned_generic_check() 82 ASSERT_EQ(memblock.reserved.cnt, 1); in alloc_from_misaligned_generic_check() 83 ASSERT_EQ(memblock.reserved.total_size, size); in alloc_from_misaligned_generic_check() 110 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_from_top_down_high_addr_check() 127 ASSERT_EQ(memblock.reserved.cnt, 1); in alloc_from_top_down_high_addr_check() 128 ASSERT_EQ(memblock.reserved.total_size, size); in alloc_from_top_down_high_addr_check() 153 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_from_top_down_no_space_above_check() [all …]
|
| H A D | alloc_api.c | 26 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_top_down_simple_check() 44 ASSERT_EQ(memblock.reserved.cnt, 1); in alloc_top_down_simple_check() 45 ASSERT_EQ(memblock.reserved.total_size, size); in alloc_top_down_simple_check() 73 struct memblock_region *rgn1 = &memblock.reserved.regions[1]; in alloc_top_down_disjoint_check() 74 struct memblock_region *rgn2 = &memblock.reserved.regions[0]; in alloc_top_down_disjoint_check() 105 ASSERT_EQ(memblock.reserved.cnt, 2); in alloc_top_down_disjoint_check() 106 ASSERT_EQ(memblock.reserved.total_size, total_size); in alloc_top_down_disjoint_check() 125 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_top_down_before_check() 147 ASSERT_EQ(memblock.reserved.cnt, 1); in alloc_top_down_before_check() 148 ASSERT_EQ(memblock.reserved.total_size, total_size); in alloc_top_down_before_check() [all …]
|
| H A D | common.c | 41 memset(memblock.memory.regions, 0, in reset_memblock_regions() 42 memblock.memory.cnt * sizeof(struct memblock_region)); in reset_memblock_regions() 43 memblock.memory.cnt = 0; in reset_memblock_regions() 44 memblock.memory.max = INIT_MEMBLOCK_REGIONS; in reset_memblock_regions() 45 memblock.memory.total_size = 0; in reset_memblock_regions() 47 memset(memblock.reserved.regions, 0, in reset_memblock_regions() 48 memblock.reserved.cnt * sizeof(struct memblock_region)); in reset_memblock_regions() 49 memblock.reserved.cnt = 0; in reset_memblock_regions() 50 memblock.reserved.max = INIT_MEMBLOCK_RESERVED_REGIONS; in reset_memblock_regions() 51 memblock.reserved.total_size = 0; in reset_memblock_regions() [all …]
|
| /linux/tools/testing/memblock/ |
| H A D | Makefile | 11 DEP_OFILES = memblock.o lib/slab.o mmzone.o slab.o cmdline.o 13 EXTR_SRC = ../../../mm/memblock.c 27 include: ../../../include/linux/memblock.h ../../include/linux/*.h \ 31 test -L linux/memblock.h || ln -s ../../../../include/linux/memblock.h linux/memblock.h 35 memblock.c: $(EXTR_SRC) 36 test -L memblock.c || ln -s $(EXTR_SRC) memblock.c 39 $(RM) $(TARGETS) $(OFILES) linux/memblock.h memblock.c asm/asm.h asm/cmpxchg.h
|
| H A D | README | 14 difficult. This test suite, usually referred as memblock simulator, is 15 an attempt at testing the memblock mechanism. It runs one monolithic test that 17 allocation functionalities of memblock. The main data structure of the boot time 22 As this project uses the actual memblock code and has to run in user space, 24 introduced memblock simulator (commit 16802e55dea9 ("memblock tests: Add 25 skeleton of the memblock simulator")) and a few preparation commits just 61 memblock 72 | |-- common.(c|h) -- helper functions for resetting memblock; 83 memblock to track valid memory ranges. To achieve this, the test suite registers 84 with memblock memory stored by test_memory struct. It is a small wrapper that [all …]
|
| H A D | .gitignore | 2 memblock.c 3 linux/memblock.h
|
| /linux/mm/ |
| H A D | memblock.c | 18 #include <linux/memblock.h> 24 #include <linux/kho/abi/memblock.h> 44 * DOC: memblock overview 67 * wrapped with struct memblock. This structure is statically 77 * The early architecture setup should tell memblock what the physical 85 * Once memblock is setup the memory can be allocated using one of the 102 * memblock data structures (except "physmem") will be discarded after the 129 struct memblock memblock __initdata_memblock = { 151 * keep a pointer to &memblock [all...] |
| H A D | numa_memblks.c | 248 if (!memblock_overlaps_region(&memblock.memory, in numa_cleanup_meminfo() 360 &memblock.reserved, mb->nid); in numa_clear_kernel_node_hotplug() 412 &memblock.memory, mb->nid); in numa_register_meminfo() 455 WARN_ON(memblock_set_node(0, max_addr, &memblock.memory, NUMA_NO_NODE)); in numa_memblks_init() 456 WARN_ON(memblock_set_node(0, max_addr, &memblock.reserved, in numa_memblks_init()
|
| H A D | Makefile | 70 obj-y += memblock.o
|
| /linux/Documentation/translations/zh_CN/core-api/ |
| H A D | boot-time-mm.rst | 22 一个叫做 ``memblock`` 的专用分配器执行启动时的内存管理。特定架构的初始化 36 mm/memblock.c 42 下面是关于memblock数据结构、函数和宏的描述。其中一些实际上是内部的,但由于 48 include/linux/memblock.h 49 mm/memblock.c
|
| /linux/Documentation/core-api/ |
| H A D | boot-time-mm.rst | 10 A specialized allocator called ``memblock`` performs the 26 .. kernel-doc:: mm/memblock.c 27 :doc: memblock overview 33 Here is the description of memblock data structures, functions and 39 .. kernel-doc:: include/linux/memblock.h 40 .. kernel-doc:: mm/memblock.c
|
| /linux/arch/loongarch/kernel/ |
| H A D | mem.c | 60 memblock_set_node(0, PHYS_ADDR_MAX, &memblock.memory, 0); in memblock_init() 61 memblock_set_node(0, PHYS_ADDR_MAX, &memblock.reserved, 0); in memblock_init()
|
| /linux/arch/arm/mm/ |
| H A D | pmsa-v8.c | 248 add_range(mem, ARRAY_SIZE(mem), 0, memblock.memory.regions[0].base, in pmsav8_setup() 249 memblock.memory.regions[0].base + memblock.memory.regions[0].size); in pmsav8_setup()
|
| /linux/drivers/infiniband/core/ |
| H A D | uverbs_ioctl.c | 513 struct bundle_alloc_head *memblock; in bundle_destroy() local 550 for (memblock = pbundle->allocated_mem; memblock;) { in bundle_destroy() 551 struct bundle_alloc_head *tmp = memblock; in bundle_destroy() 553 memblock = memblock->next; in bundle_destroy()
|
| /linux/arch/riscv/kernel/ |
| H A D | setup.c | 152 num_resources = memblock.memory.cnt + memblock.reserved.cnt + 1; in init_resources()
|
| /linux/arch/powerpc/include/asm/ |
| H A D | fadump-internal.h | 20 #define memblock_num_regions(memblock_type) (memblock.memblock_type.cnt)
|
| /linux/Documentation/ABI/testing/ |
| H A D | ppc-memtrace | 15 aligned to the memblock size. This amount of RAM will be removed
|
| /linux/arch/mips/loongson64/ |
| H A D | init.c | 108 &memblock.reserved, node); in szmem()
|
| /linux/arch/sh/kernel/ |
| H A D | setup.c | 236 &memblock.memory, nid); in __add_active_range()
|
| /linux/arch/arm64/kernel/ |
| H A D | setup.c | 224 num_standard_resources = memblock.memory.cnt; in request_standard_resources()
|
| /linux/arch/powerpc/mm/ |
| H A D | mem.c | 186 memblock_set_node(0, PHYS_ADDR_MAX, &memblock.memory, 0); in mem_topology_setup()
|
| /linux/drivers/net/wireless/ti/wlcore/ |
| H A D | wlcore_i.h | 540 size_t wl12xx_copy_fwlog(struct wl1271 *wl, u8 *memblock, size_t maxlen);
|