函数逻辑报告 |
Source Code:mm\mempolicy.c |
Create Date:2022-07-27 17:04:23 |
Last Modify:2020-03-17 22:28:11 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:Retrieve NUMA policy
函数原型:static long do_get_mempolicy(int *policy, nodemask_t *nmask, unsigned long addr, unsigned long flags)
返回类型:long
参数:
类型 | 参数 | 名称 |
---|---|---|
int * | policy | |
nodemask_t * | nmask | |
unsigned long | addr | |
unsigned long | flags |
891 | struct vm_area_struct * vma = NULL |
892 | struct mempolicy * pol = mempolicy, * pol_refcount = NULL |
894 | 如果flags按位与urn next IL mode instead of node mask 按位或look up vma using address 按位或urn allowed memories 的值的反则返回:负EINVAL |
898 | 如果flags按位与urn allowed memories 则 |
899 | 如果flags按位与urn next IL mode instead of node mask 按位或look up vma using address 的值则返回:负EINVAL |
901 | policy等于0 |
904 | task_unlock(当前进程) |
905 | 返回:0 |
908 | 如果flags按位与look up vma using address 则 |
914 | lock for reading |
915 | vma等于Look up the first VMA which intersects the interval start_addr..end_addr-1,NULL if none. Assume start_addr < end_addr. |
916 | 如果非vma则 |
918 | 返回:负EFAULT |
922 | 否则pol等于NUMA policy for the VMA |
930 | 如果flags按位与urn next IL mode instead of node mask 则 |
931 | 如果flags按位与look up vma using address 则 |
945 | 否则如果pol恒等于mempolicy且See MPOL_* above 恒等于MPOL_INTERLEAVE则 |
948 | 否则 |
952 | 否则 |
962 | err等于0 |
963 | 如果nmask则 |
964 | 如果mpol_store_user_nodemask(pol)则 |
965 | nmask等于 nodemask passed by user |
966 | 否则 |
969 | task_unlock(当前进程) |
973 | out : |
974 | mpol_cond_put(pol) |
975 | 如果vma则lease a read lock |
977 | 如果pol_refcount则mpol_put(pol_refcount) |
979 | 返回:err |
名称 | 描述 |
---|---|
kernel_get_mempolicy | Retrieve NUMA policy |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |