函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\slub.c Create Date:2022-07-27 17:21:46
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Get a page from somewhere. Search in increasing NUMA distances.

函数原型:static void *get_any_partial(struct kmem_cache *s, gfp_t flags, struct kmem_cache_cpu *c)

返回类型:void

参数:

类型参数名称
struct kmem_cache *s
gfp_tflags
struct kmem_cache_cpu *c
1892  high_zoneidx等于gfp_zone(flags)
1914  如果非Defragmentation by allocating from a remote node.get_cycles()取模1024大于Defragmentation by allocating from a remote node.则返回:NULL
1918  循环
1919  cpuset_mems_cookie等于read_mems_allowed_begin()
1920  zonelist等于We get the zone list from the current node and the gfp_mask.* This zone list contains a maximum of MAXNODES*MAX_NR_ZONES zones.* There are two zonelists per node, one for all zones with memory and
1924  n等于get_node(s, zone_to_nid(zone))
1926  如果ncpuset_zone_allowed(zone, flags)且nr_partial大于min_partial
1929  如果object
1937  返回:object
1941 read_mems_allowed_retry(cpuset_mems_cookie)循环
1943  返回:NULL
调用者
名称描述
get_partialGet a partial page, lock it and return it.