内存管理API之free_pages_exact
2018-01-17 08:22
459 查看
void free_pages_exact(void *virt, size_t size) 这个函数主要和alloc_pages_exact 配合使用,用于释放 由alloc_pages_exact 申请的内存. 其源码分析如下: void free_pages_exact(void *virt, size_t size) { unsigned long addr = (unsigned long)virt; #得到要释放内存的结束地址,可以看到这里的结束地址也是以page size 对齐的 unsigned long end = addr + PAGE_ALIGN(size); #可以看到这里是一个page一个page来释放内存的. while (addr < end) { free_page(addr); addr += PAGE_SIZE; } } 这里的free_page 定义如下:可见就是调用free_pages,只是形参order等于零而已. #define free_page(addr) free_pages((addr), 0)
相关文章推荐
- 内存管理API之__free_pages
- 内存管理API之alloc_pages_exact
- 内存管理API之free_pages
- 内存管理API之__get_free_pages
- 内存管理API之mempool_alloc_pages和mempool_free_pages
- 内存管理API之nr_free_buffer_pages
- 内存管理API之vma_pages
- 内存管理API之mempool_free
- 内存管理API之free_vm_area
- 内存管理API之alloc_pages
- 内存管理API之mempool_alloc_slab和mempool_free_slab
- 内存管理API之get_user_pages
- 内存管理API之get_user_pages_fast
- 内存管理之bootmem管理之__free_pages_boot_core
- 内存管理API之kmem_cache_free
- CE6实体内存管理之找到Free page
- 单片机上内存管理(重定义malloc & free)de实现
- c++ 内存管理:7、有了malloc/free为什么还要new/delete?
- Linux-0.11内核源码分析系列:内存管理get_free_page()函数分析
- 比较kmalloc/vmalloc/get_free_pages