Function report |
Source Code:mm\memcontrol.c |
Create Date:2022-07-28 16:11:04 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:mem_cgroup_soft_limit_reclaim
Proto:unsigned long mem_cgroup_soft_limit_reclaim(pg_data_t *pgdat, int order, gfp_t gfp_mask, unsigned long *total_scanned)
Type:unsigned long
Parameter:
Type | Parameter | Name |
---|---|---|
pg_data_t * | pgdat | |
int | order | |
gfp_t | gfp_mask | |
unsigned long * | total_scanned |
3047 | nr_reclaimed = 0 |
3048 | struct mem_cgroup_per_node * mz, * next_mz = NULL |
3050 | loop = 0 |
3055 | If order > 0 Then Return 0 |
3058 | mctz = soft_limit_tree_node(node_id) |
3065 | If Not mctz || RB_EMPTY_ROOT( & rb_root) Then Return 0 |
3073 | Do |
3076 | Else mz = mem_cgroup_largest_soft_limit_node(mctz) |
3078 | If Not mz Then Break |
3081 | nr_scanned = 0 |
3084 | nr_reclaimed += reclaimed |
3085 | total_scanned += nr_scanned |
3086 | spin_lock_irq( & lock) |
3087 | __mem_cgroup_remove_exceeded(mz, mctz) |
3093 | next_mz = NULL |
3094 | If Not reclaimed Then next_mz = __mem_cgroup_largest_soft_limit_node(mctz) |
3107 | __mem_cgroup_insert_exceeded(mz, mctz, excess) |
3108 | spin_unlock_irq( & lock) |
3110 | loop++ |
3116 | If Not nr_reclaimed && ( next_mz == NULL || loop > MEM_CGROUP_MAX_SOFT_LIMIT_RECLAIM_LOOPS ) Then Break |
3120 | When Not nr_reclaimed cycle |
3121 | If next_mz Then ss_put - put a css reference*@css: target css* Put a reference obtained via css_get() and css_tryget_online(). |
3123 | Return nr_reclaimed |
Name | Describe |
---|---|
balance_pgdat | For kswapd, balance_pgdat() will reclaim pages across a node from zones* that are eligible for use by the caller until at least one zone is* balanced.* Returns the order kswapd finished reclaiming at. |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |