[RFC PATCH 0/2] apply write hints to select the type of segments

From: Hyunchul Lee
Date: Thu Nov 09 2017 - 00:51:39 EST


From: Hyunchul Lee <cheol.lee@xxxxxxx>

Using write hints[1], applications can inform the life time of the data
written to devices. and this[2] reported that the write hints patch
decreased writes in NAND by 25%.

This hints help F2FS to determine the followings.
1) the segment types where the data will be written.
2) the hints that will be passed down to devices with the data of segments.

This patch set implements the first mapping from write hints to segment types
as shown below.

hints segment type
----- ------------
WRITE_LIFE_SHORT CURSEG_COLD_DATA
WRITE_LIFE_EXTREME CURSEG_HOT_DATA
others CURSEG_WARM_DATA

The F2FS poliy for hot/cold seperation has precedence over this hints, And
hints are not applied in in-place update.

Before the second mapping is implemented, write hints are not passed down
to devices. Because it is better that the data of a segment have the same
hint.

[1]: c75b1d9421f80f4143e389d2d50ddfc8a28c8c35
[2]: https://lwn.net/Articles/726477/

Hyunchul Lee (2):
f2fs: apply write hints to select the type of segments for buffered
write
f2fs: apply write hints to select the type of segment for direct write

fs/f2fs/data.c | 101 ++++++++++++++++++++++++++++++++----------------------
fs/f2fs/f2fs.h | 1 +
fs/f2fs/segment.c | 14 +++++++-
3 files changed, 74 insertions(+), 42 deletions(-)

--
1.9.1