All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] f2fs: support passing down write hints to block layer
@ 2018-01-22 10:49 Hyunchul Lee
  2018-01-22 10:49 ` [PATCH 1/3] f2fs: support passing down write hints given by users " Hyunchul Lee
                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Hyunchul Lee @ 2018-01-22 10:49 UTC (permalink / raw)
  To: Jaegeuk Kim, Chao Yu
  Cc: linux-f2fs-devel, linux-kernel, linux-fsdevel, kernel-team, Hyunchul Lee

From: Hyunchul Lee <cheol.lee@lge.com>

This set implements passing down write hints to block layer with the
following mapping. This mapping equals the conclusion from discussion in
the link, https://sourceforge.net/p/linux-f2fs/mailman/message/36170969/

But there are two exceptions. (1) the 'iohint_mode' mount option is changed
to 'whint_mode'. (2) in "user-based" mode, WRITE_LIFE_EXTREME is passed
down instead of WRITE_LIFE_NOT_SET for files flagged with ioctl(COLD) and 
extension list.

Sorry for late patch.

1) whint_mode=off. F2FS only passes down WRITE_LIFE_NOT_SET.

2) whint_mode=user-based. F2FS tries to pass down hints given by
users.

User                  F2FS                     Block
----                  ----                     -----
                      META                     WRITE_LIFE_NOT_SET
                      HOT_NODE                 "
                      WARM_NODE                "
                      COLD_NODE                "
*ioctl(COLD)           COLD_DATA                WRITE_LIFE_EXTREME
*extension list        "                        "

-- buffered io
WRITE_LIFE_EXTREME    COLD_DATA                WRITE_LIFE_EXTREME
WRITE_LIFE_SHORT      HOT_DATA                 WRITE_LIFE_SHORT
WRITE_LIFE_NOT_SET    WARM_DATA                WRITE_LIFE_NOT_SET
WRITE_LIFE_NONE       "                        "
WRITE_LIFE_MEDIUM     "                        "
WRITE_LIFE_LONG       "                        "

-- direct io
WRITE_LIFE_EXTREME    COLD_DATA                WRITE_LIFE_EXTREME
WRITE_LIFE_SHORT      HOT_DATA                 WRITE_LIFE_SHORT
WRITE_LIFE_NOT_SET    WARM_DATA                WRITE_LIFE_NOT_SET
WRITE_LIFE_NONE       "                        WRITE_LIFE_NONE
WRITE_LIFE_MEDIUM     "                        WRITE_LIFE_MEDIUM
WRITE_LIFE_LONG       "                        WRITE_LIFE_LONG

3) whint_mode=fs-based. F2FS passes down hints with its policy.

User                  F2FS                     Block
----                  ----                     -----
                      META                     WRITE_LIFE_MEDIUM;
                      HOT_NODE                 WRITE_LIFE_NOT_SET
                      WARM_NODE                "
                      COLD_NODE                WRITE_LIFE_NONE
ioctl(COLD)           COLD_DATA                WRITE_LIFE_EXTREME
extension list        "                        "

-- buffered io
WRITE_LIFE_EXTREME    COLD_DATA                WRITE_LIFE_EXTREME
WRITE_LIFE_SHORT      HOT_DATA                 WRITE_LIFE_SHORT
WRITE_LIFE_NOT_SET    WARM_DATA                WRITE_LIFE_LONG
WRITE_LIFE_NONE       "                        "
WRITE_LIFE_MEDIUM     "                        "
WRITE_LIFE_LONG       "                        "

-- direct io
WRITE_LIFE_EXTREME    COLD_DATA                WRITE_LIFE_EXTREME
WRITE_LIFE_SHORT      HOT_DATA                 WRITE_LIFE_SHORT
WRITE_LIFE_NOT_SET    WARM_DATA                WRITE_LIFE_NOT_SET
WRITE_LIFE_NONE       "                        WRITE_LIFE_NONE
WRITE_LIFE_MEDIUM     "                        WRITE_LIFE_MEDIUM
WRITE_LIFE_LONG       "                        WRITE_LIFE_LONG

Hyunchul Lee (3):
  f2fs: support passing down write hints given by users to block layer
  f2fs: support passing down write hints to block layer with F2FS policy
  f2fs: Add the 'whint_mode' mount option to f2fs documentation

 Documentation/filesystems/f2fs.txt |   6 +++
 fs/f2fs/data.c                     |  27 ++++++++--
 fs/f2fs/f2fs.h                     |  10 ++++
 fs/f2fs/segment.c                  | 104 +++++++++++++++++++++++++++++++++++++
 fs/f2fs/super.c                    |  29 ++++++++++-
 5 files changed, 170 insertions(+), 6 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2018-01-29  7:41 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-22 10:49 [PATCH 0/3] f2fs: support passing down write hints to block layer Hyunchul Lee
2018-01-22 10:49 ` [PATCH 1/3] f2fs: support passing down write hints given by users " Hyunchul Lee
2018-01-24 15:32   ` [f2fs-dev] " Chao Yu
2018-01-24 15:32     ` Chao Yu
2018-01-25  2:47     ` [f2fs-dev] " Hyunchul Lee
2018-01-25  8:01       ` Chao Yu
2018-01-25  8:01         ` Chao Yu
2018-01-25 23:46         ` Hyunchul Lee
2018-01-25 23:46           ` Hyunchul Lee
2018-01-26  2:10           ` [f2fs-dev] " Chao Yu
2018-01-26  2:10             ` Chao Yu
2018-01-29  1:49             ` Hyunchul Lee
2018-01-29  1:49               ` Hyunchul Lee
2018-01-29  7:41               ` [f2fs-dev] " Chao Yu
2018-01-29  7:41                 ` Chao Yu
2018-01-22 10:49 ` [PATCH 2/3] f2fs: support passing down write hints to block layer with F2FS policy Hyunchul Lee
2018-01-22 10:49   ` Hyunchul Lee
2018-01-24 15:39   ` [f2fs-dev] " Chao Yu
2018-01-22 10:49 ` [PATCH 3/3] f2fs: Add the 'whint_mode' mount option to f2fs documentation Hyunchul Lee

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.