Re: [PATCH 4/4] f2fs: optimize build_free_nids()

From: Jaegeuk Kim
Date: Tue May 07 2013 - 06:35:40 EST


Hi,

2013-05-06 (ì), 23:15 +0800, Haicheng Li:
> When nm_i->fcnt > 2 * MAX_FREE_NIDS, stop scanning other NAT pages.
>
> Signed-off-by: Haicheng Li <haicheng.li@xxxxxxxxxxxxxxx>
> ---
> fs/f2fs/node.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
> index 1fe3fe2..3136224 100644
> --- a/fs/f2fs/node.c
> +++ b/fs/f2fs/node.c
> @@ -1342,6 +1342,8 @@ static void build_free_nids(struct f2fs_sb_info *sbi)
> if (nid >= nm_i->max_nid)
> nid = 0;
>
> + if (nm_i->fcnt > 2 * MAX_FREE_NIDS)
> + break;

Could you explain when this can happen?

IMO, this is an unnecessary condition check, since the below condition
that includes FREE_NID_PAGES already limits the number of free nids.
Thanks,

> if (i++ == FREE_NID_PAGES)
> break;
> }

--
Jaegeuk Kim
Samsung

Attachment: signature.asc
Description: This is a digitally signed message part