f2fs: add a sysfs entry to control max_victim_search
authorJaegeuk Kim <jaegeuk.kim@samsung.com>
Wed, 8 Jan 2014 04:45:08 +0000 (13:45 +0900)
committerJaegeuk Kim <jaegeuk.kim@samsung.com>
Wed, 8 Jan 2014 04:45:08 +0000 (13:45 +0900)
commitb1c57c1caa753cec299e62bb4272da0e85a01ef0
tree05d7338349557e5f62ca84a00c362bc669e50f90
parentfb5566da9181d33ecdd9892e44f90320e7d4cc9f
f2fs: add a sysfs entry to control max_victim_search

Previously during SSR and GC, the maximum number of retrials to find a victim
segment was hard-coded by MAX_VICTIM_SEARCH, 4096 by default.

This number makes an effect on IO locality, when SSR mode is activated, which
results in performance fluctuation on some low-end devices.

If max_victim_search = 4, the victim will be searched like below.
("D" represents a dirty segment, and "*" indicates a selected victim segment.)

 D1 D2 D3 D4 D5 D6 D7 D8 D9
[   *       ]
      [   *    ]
            [         * ]
                [ ....]

This patch adds a sysfs entry to control the number dynamically through:
  /sys/fs/f2fs/$dev/max_victim_search

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
fs/f2fs/f2fs.h
fs/f2fs/gc.c
fs/f2fs/gc.h
fs/f2fs/super.c