函数逻辑报告 |
Source Code:mm\swapfile.c |
Create Date:2022-07-27 16:47:41 |
| Last Modify:2020-03-17 22:19:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:get_swap_pages
函数原型:int get_swap_pages(int n_goal, swp_entry_t swp_entries[], int entry_size)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| int | n_goal | |
| swp_entry_t | swp_entries | |
| int | entry_size |
| 994 | size等于Define swap_entry_size() as constant to let compiler to optimize* out some code if !CONFIG_THP_SWAP(entry_size) |
| 997 | n_ret等于0 |
| 1001 | WARN_ON_ONCE(n_goal > 1 && size == SWAPFILE_CLUSTER) |
| 1003 | avail_pgs等于atomic_long_read( & nr_swap_pages)除size |
| 1007 | 如果n_goal大于SWAP_BATCH则n_goal等于SWAP_BATCH |
| 1013 | atomic_long_sub(n_goal * size, & nr_swap_pages) |
| 1015 | 加自旋锁 |
| 1017 | start_over : |
| 1022 | 自旋锁解锁 |
| 1023 | 加自旋锁 |
| 1024 | 如果非dex of last free in swap_map 或非SWP_USED etc: see above 按位与SWP_WRITEOK的值则 |
| 1025 | 加自旋锁 |
| 1026 | 如果节点不在链表上则 |
| 1030 | WARN(!dex of last free in swap_map , "swap_info %d in list but !highest_bit\n", strange name for an index ) |
| 1033 | WARN(!(SWP_USED etc: see above & SWP_WRITEOK), "swap_info %d in list but !SWP_WRITEOK\n", strange name for an index ) |
| 1036 | __del_from_avail_list(si) |
| 1037 | 自旋锁解锁 |
| 1038 | 转到:nextsi |
| 1040 | 如果size恒等于SWAPFILE_CLUSTER则 |
| 1041 | 如果非SWP_USED etc: see above 按位与SWP_FS的值则n_ret等于swap_alloc_cluster(si, swp_entries) |
| 1046 | 自旋锁解锁 |
| 1047 | 如果n_ret或size恒等于SWAPFILE_CLUSTER则转到:check_out |
| 1049 | pr_debug("scan_swap_map of si %d failed to find offset\n", strange name for an index ) |
| 1052 | 加自旋锁 |
| 1053 | nextsi : |
| 1065 | 如果节点不在链表上则转到:start_over |
| 1069 | 自旋锁解锁 |
| 1071 | check_out : |
| 1072 | 如果n_ret小于n_goal则atomic_long_add((long)(n_goal - n_ret) * size, & nr_swap_pages) |
| 1075 | noswap : |
| 1076 | 返回:n_ret |
| 名称 | 描述 |
|---|---|
| refill_swap_slots_cache | alled with swap slot cache's alloc lock held |
| get_swap_page |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |