Function report |
Source Code:fs\super.c |
Create Date:2022-07-28 20:02:20 |
Last Modify:2022-05-24 06:42:17 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:One thing we have to be careful of with a per-sb shrinker is that we don't* drop the last active reference to the superblock from within the shrinker.* If that happens we could trigger unregistering the shrinker from within the
Proto:static unsigned long super_cache_scan(struct shrinker *shrink, struct shrink_control *sc)
Type:unsigned long
Parameter:
Type | Parameter | Name |
---|---|---|
struct shrinker * | shrink | |
struct shrink_control * | sc |
65 | fs_objects = 0 |
67 | freed = 0 |
77 | If Not (gfp_mask & __GFP_FS) Then Return SHRINK_STOP |
83 | If nr_cached_objects Then fs_objects = nr_cached_objects(sb, sc) |
86 | inodes = list_lru_shrink_count( & s_inode_lru, sc) |
87 | dentries = list_lru_shrink_count( & s_dentry_lru, sc) |
88 | total_objects = dentries + inodes + fs_objects + 1 |
89 | If Not total_objects Then total_objects = 1 |
93 | dentries = Multiplies an integer by a fraction, while avoiding unnecessary* overflow or loss of precision.(nr_to_scan, dentries, total_objects) |
94 | inodes = Multiplies an integer by a fraction, while avoiding unnecessary* overflow or loss of precision.(nr_to_scan, inodes, total_objects) |
95 | fs_objects = Multiplies an integer by a fraction, while avoiding unnecessary* overflow or loss of precision.(nr_to_scan, fs_objects, total_objects) |
104 | nr_to_scan = dentries + 1 |
105 | freed = prune_dcache_sb(sb, sc) |
106 | nr_to_scan = inodes + 1 |
109 | If fs_objects Then |
110 | nr_to_scan = fs_objects + 1 |
111 | freed += free_cached_objects(sb, sc) |
115 | Return freed |
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 |