f2fs: optimize the init_dirty_segmap function
Optimize the while loop condition Since this condition will always be true and while loop will be terminated by the following condition in code: if (segno >= TOTAL_SEGS(sbi)) break; Hence we can replace the while loop condition with while(1) instead of always checking for segno to be less than Total segs. Also we do not need to use TOTAL_SEGS() everytime. We can store this value in a local variable since this value is constant. Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com> Signed-off-by: Pankaj Kumar <pankaj.km@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
This commit is contained in:
parent
060dd67b3c
commit
8736fbf003
|
@ -1582,13 +1582,13 @@ static void init_dirty_segmap(struct f2fs_sb_info *sbi)
|
||||||
{
|
{
|
||||||
struct dirty_seglist_info *dirty_i = DIRTY_I(sbi);
|
struct dirty_seglist_info *dirty_i = DIRTY_I(sbi);
|
||||||
struct free_segmap_info *free_i = FREE_I(sbi);
|
struct free_segmap_info *free_i = FREE_I(sbi);
|
||||||
unsigned int segno = 0, offset = 0;
|
unsigned int segno = 0, offset = 0, total_segs = TOTAL_SEGS(sbi);
|
||||||
unsigned short valid_blocks;
|
unsigned short valid_blocks;
|
||||||
|
|
||||||
while (segno < TOTAL_SEGS(sbi)) {
|
while (1) {
|
||||||
/* find dirty segment based on free segmap */
|
/* find dirty segment based on free segmap */
|
||||||
segno = find_next_inuse(free_i, TOTAL_SEGS(sbi), offset);
|
segno = find_next_inuse(free_i, total_segs, offset);
|
||||||
if (segno >= TOTAL_SEGS(sbi))
|
if (segno >= total_segs)
|
||||||
break;
|
break;
|
||||||
offset = segno + 1;
|
offset = segno + 1;
|
||||||
valid_blocks = get_valid_blocks(sbi, segno, 0);
|
valid_blocks = get_valid_blocks(sbi, segno, 0);
|
||||||
|
|
Loading…
Reference in New Issue