Function report | 
Source Code:mm\vmscan.c | 
Create Date:2022-07-28 14:17:23 | 
| Last Modify:2022-05-23 13:41:30 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:shrink_slab_memcg
Proto:static unsigned long shrink_slab_memcg(gfp_t gfp_mask, int nid, struct mem_cgroup *memcg, int priority)
Type:unsigned long
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| gfp_t | gfp_mask | |
| int | nid | |
| struct mem_cgroup * | memcg | |
| int | priority | 
| 562 | freed = 0 | 
| 565 | If Not mem_cgroup_online(memcg) Then Return 0 | 
| 568 | If Not rylock for reading -- returns 1 if successful, 0 if contention Then Return 0 | 
| 573 | If Value for the false possibility is greater at compile time(!map) Then Go to unlock | 
| 577 | struct shrink_control sc = {gfp_mask = gfp_mask, current node being shrunk (for NUMA aware shrinkers) = nid, current memcg being shrunk (for memcg aware shrinkers) = memcg, } | 
| 586 | If Not shrinker Then lear_bit - Clears a bit in memory*@nr: Bit to clear*@addr: Address to start counting from* This is a relaxed atomic operation (no implied memory barriers). | 
| 588 | Continue | 
| 592 | If Not memcg_kmem_enabled() && Not (flags & It just makes sense when the shrinker is also MEMCG_AWARE for now,* non-MEMCG_AWARE shrinker should not have this flag set.) Then Continue | 
| 596 | ret = do_shrink_slab( & sc, shrinker, priority) | 
| 597 | If ret == SHRINK_EMPTY Then | 
| 614 | smp_mb__after_atomic() | 
| 615 | ret = do_shrink_slab( & sc, shrinker, priority) | 
| 616 | If ret == SHRINK_EMPTY Then ret = 0 | 
| 618 | Else memcg_set_shrinker_bit(memcg, nid, i) | 
| 628 | unlock : | 
| 630 | Return freed | 
| Name | Describe | 
|---|---|
| shrink_slab | shrink_slab - shrink slab caches*@gfp_mask: allocation context*@nid: node whose slab caches to target*@memcg: memory cgroup whose slab caches to target*@priority: the reclaim priority* Call the shrink functions to age shrinkable caches | 
| 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  |