函数逻辑报告 |
Source Code:mm\slob.c |
Create Date:2022-07-27 17:09:22 |
Last Modify:2022-05-20 09:26:42 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:slob_page_alloc() - Allocate a slob block within a given slob_page sp.*@sp: Page to look in.*@size: Size of the allocation.*@align: Allocation alignment.*@align_offset: Offset in the allocated block that will be aligned.
函数原型:static void *slob_page_alloc(struct page *sp, size_t size, int align, int align_offset, bool *page_removed_from_list)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct page * | sp | |
size_t | size | |
int | align | |
int | align_offset | |
bool * | page_removed_from_list |
241 | delta等于0, units等于SLOB_UNITS(size) |
243 | * page_removed_from_list = false |
244 | 循环 |
254 | 如果align则 |
255 | aligned等于@a is a power of 2 value ((unsignedlong)cur + align_offset, align)减align_offset |
263 | 如果delta则 |
276 | 否则 first free object 等于next |
278 | 否则 |
281 | 否则 first free object 等于cur加units |
287 | 如果非 SLOB 则 |
288 | clear_slob_page_free(sp) |
289 | * page_removed_from_list = true |
291 | 返回:cur |
293 | 如果Returns true if s is the last free block in its page.则返回:NULL |
名称 | 描述 |
---|---|
slob_alloc | slob_alloc: entry point into the slob allocator. |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |