mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-12-26 17:18:24 +00:00
feat: mm: added affinity pages allocator
This patch introduces a tagged pages allocator to address the existing problems of page aliasing on specific platforms and the requirement of page coloring. It implements an affinity-id aware page manager by separating the runtime page list into two types: a normal single linked-list and a multi-dimensional affinity-list. Changes: - Introduced tagged pages allocator and managing algorithm for affinity pages list - Modified components to support affinity-id list management - Updated page allocation and freeing functions to handle tagged pages - Added configuration options for page affinity block size and debugging - Modified mmap and elf loading to respect affinity settings - Enhanced page list management to support multi-dimensional affinity-list Signed-off-by: Shell <smokewood@qq.com>
This commit is contained in:
@@ -576,7 +576,7 @@ static int elf_aux_fill(elf_load_info_t *load_info)
|
||||
elf_addr_t *aux_info;
|
||||
uint32_t random_value = rt_tick_get();
|
||||
size_t prot = PROT_READ | PROT_WRITE;
|
||||
size_t flags = MAP_PRIVATE;
|
||||
size_t flags = MAP_FIXED | MAP_PRIVATE;
|
||||
rt_lwp_t lwp = load_info->lwp;
|
||||
void *va;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user