Home
last modified time | relevance | path

Searched refs:buddy (Results 1 – 9 of 9) sorted by relevance

/DragonOS/docs/kernel/memory_management/
H A Dmmio.md27 3. `mmio_create`对申请的地址空间大小按照2的n次幂进行对齐,然后从buddy中申请内存地址空间
61   伙伴(buddy)算法的作用是维护以及组织大块连续内存块的分配和回收,以减少系统时运行产生的外部碎片。伙伴系统中的每个内存块的大小均为$2^n$。 在DragonOS中,伙伴…
127 /// buddy内存池
156   DragonOS中,使用`MmioBuddyMemPool`结构体作为buddy(为表述方便,以下将伙伴算法简称为buddy)内存池的数据结构,其记录了内存池的起始地址(po…
158 …list`中。通过上述换算公式,每次取出或释放$2^n$大小的内存块,只需要操作`free_regions[n -12]`即可。DragonOS中,buddy内存池最大的内存块大小为$1G = …
160   作为内存分配机制,buddy服务于所有进程,为了解决在各个进程之间实现free_regions中的链表数据同步的问题,`free_regions`中的链表类型采用加了 {re…
171 | __give_back_block(&self, vaddr, exp) | 将地址为vaddr,幂为exp的内存块归还给buddy
173 | __query_addr_region(&self,exp,list_guard) | 从buddy中申请一块大小为$2^{exp}$的内存块 …
186 | __mmio_buddy_init() | 初始化buddy系统,**在mmio_init()中调用,请勿随意调用** |
189 | mmio_release(vaddr, length) | 取消地址为vaddr,大小为length的mmio的映射并将其归还到buddy中 |
H A Dallocate-memory.md17 …动分配页帧。使用`LockedFrameAllocator`的`allocate()`函数,能够分配在物理地址上连续的页帧。请注意,由于底层使用的是buddy分配器,因此页帧数目必须是2的n次幂,…
/DragonOS/kernel/src/mm/allocator/
H A Dmod.rs1 pub mod buddy; module
H A Dbuddy.rs332 let buddy = *x.as_ref().unwrap() + (1 << current_order); in pop_front() localVariable
335 unsafe { self.buddy_free(buddy, current_order as u8) }; in pop_front()
/DragonOS/docs/community/ChangeLog/V0.1.x/
H A DV0.1.5.md205 修复了mmio buddy的bug (#189)
221 修改mmio-buddy代码结构和函数名 (#184)
223 * 修改mmio-buddy结构和函数名
233 * mmio-buddy文档
H A DV0.1.9.md1003 1. 分区域把空闲页添加到buddy
1798 * 修复mmio buddy忘记归还buddy block的问题
2208 mmio buddy新增guard,把映射的职责交由其守卫进行处理,并且守卫被drop的时候自动释放内存 (#346)
2210 * mmio buddy新增guard,把映射的职责交由其守卫进行处理,并且守卫被drop的时候自动释放内存
/DragonOS/kernel/src/arch/riscv64/mm/
H A Dinit.rs17 allocator::{buddy::BuddyAllocator, bump::BumpAllocator, page_frame::FrameAllocator},
H A Dmod.rs11 buddy::BuddyAllocator,
/DragonOS/kernel/src/arch/x86_64/mm/
H A Dmod.rs25 mm::allocator::{buddy::BuddyAllocator, bump::BumpAllocator},