函数逻辑报告 |
Source Code:mm\slub.c |
Create Date:2022-07-27 17:21:43 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:Try to allocate a partial slab from a specific node.
函数原型:static void *get_partial_node(struct kmem_cache *s, struct kmem_cache_node *n, struct kmem_cache_cpu *c, gfp_t flags)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct kmem_cache * | s | |
struct kmem_cache_node * | n | |
struct kmem_cache_cpu * | c | |
gfp_t | flags |
1840 | void * object = NULL |
1841 | available等于0 |
1850 | 如果非n或非nr_partial则返回:NULL |
1853 | 加自旋锁 |
1857 | 如果非pfmemalloc_match(page, flags)则继续下一循环 |
1860 | t等于Remove slab from the partial list, freeze it and* return the pointer to the freelist.* Returns a list of objects or NULL if it fails. |
1865 | 如果非object则 |
1869 | 否则 |
1870 | put_cpu_partial(s, page, 0) |
1873 | 如果非kmem_cache_has_cpu_partial(s)或available大于slub_cpu_partial(s)除2则退出 |
1878 | 自旋锁解锁 |
1879 | 返回:object |
名称 | 描述 |
---|---|
get_any_partial | Get a page from somewhere. Search in increasing NUMA distances. |
get_partial | Get a partial page, lock it and return it. |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |