From: Jaegeuk Kim <jaegeuk.kim@samsung.com>
To: "'Arnd Bergmann'" <arnd@arndb.de>,
"'Changman Lee'" <cm224.lee@gmail.com>
Cc: "'Vyacheslav Dubeyko'" <slava@dubeyko.com>,
"'Jaegeuk Kim'" <jaegeuk.kim@gmail.com>,
viro@zeniv.linux.org.uk, "'Theodore Ts'o'" <tytso@mit.edu>,
gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
chur.lee@samsung.com, cm224.lee@samsung.com,
jooyoung.hwang@samsung.com
Subject: RE: [PATCH 11/16] f2fs: add inode operations for special inodes
Date: Tue, 16 Oct 2012 11:29:33 +0900 [thread overview]
Message-ID: <015a01cdab46$145caa10$3d15fe30$%kim@samsung.com> (raw)
In-Reply-To: <201210151405.41392.arnd@arndb.de>
> On Monday 15 October 2012, Changman Lee wrote:
> > 2012년 10월 15일 월요일에 Arnd Bergmann<arnd@arndb.de>님이 작성:
> > > It is only a performance hint though, so it is not a correctness issue the
> > > file system gets it wrong. In order to do efficient garbage collection, a log
> > > structured file system should take all the information it can get about the
> > > expected life of data it writes. I agree that the list, even in the form of
> > > mkfs time settings, is not a clean abstraction, but in the place of an Android
> > > phone manufacturer I would still enable it if it promises a significant
> > > performance advantage over not using it. I guess it would be nice if this
> > > could be overridden in some form, e.g. using an ioctl on the file as ext4 does.
> > >
> > Right. This is related with HOT/COLD separation policy of f2fs. If we know
> > that data is COLD, we can manage gc effectively.
> > I think that ext lists are placed in sb is better like your advice because
> > it's difficult to fix user app. Although it's nasty way.
>
> Ok. I think you should adapt the terminology though. Right now, the optimization
> is to mark the data as COLD because we expect it to be written less often than
> other kinds of data. However, the hot/cold terms are usually only applied to
> data that we assume is going to be written soon or not based on how often
> the same data has been accessed in the past.
>
> Anything you detect from the file name is not really a hint on hot/cold
> files, but rather on the expected access pattern: These files are going
> to be written once, and will be read-only after that, they are probably
> multiple megabytes in size, and if you have a lot of them, they are likely
> to live for the same time.
>
> It may well be possible that we later decide to use the hint in a different
> way, e.g. to put these files into yet another separate log, aside from
> other hot or cold files.
>
> > > We should also take the kinds of access we have seen on a file into account.
> > > E.g. if someone opens a file O_RDWR and performs seek or pwrite on it, we can
> > > assume that it's not in the category of typical media files, and a file that
> > > gets written to disk linearly in multiple megabytes might belong into the
> > > category even if it is named otherwise.
> > >
> > This is more general but it's hard to adapt now.
>
> I think it's important to leave the option open for a future optimization.
> Right now, what we have to get agreement on is the on-disk format, because
> we absolutely don't want to make incompatible changes to that once f2fs
> has been merged into the kernel and is getting used on real systems.
>
> This is independent of how the code is implemented at the moment, and
> any tuning regarding how to group different kinds of data into the six
> logs is completely up to how things work out in practice. But you should
> definitely ensure that those changes don't require changing the format
> if we decide to use a different number of logs in the future, or to
> use the logs differently.
>
> The split between logs for nodes on the one hand and data on the other
> is something that can well be hardcoded, and it's ok to have a hard
> upper bound on the number of logs in the file system, possibly higher
> than 6.
>
Thank you for a lot of points to be addressed. :)
Maybe it's time to summarize them.
Please let me know what I misunderstood.
[In v2]
- Extension list
: Mkfs supports configuring extensions by user, and that information
will be stored in the superblock. In order to reduce the cleaning overhead,
f2fs supports an additional interface, ioctl, likewise ext4.
- The number of active logs
: No change will be done in on-disk layout (i.e., max 6 logs).
Instead, f2fs supports changing the number with a mount option.
Currently, I think 4, 5, and 6 would be enough.
- Section size
: Mkfs supports multiples of segments for a section, not power-of-two.
[Future optimization]
- Data separation
: file access pattern, and else?
> Arnd
next prev parent reply other threads:[~2012-10-16 2:29 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-05 12:03 [PATCH 11/16] f2fs: add inode operations for special inodes 김재극
2012-10-06 18:59 ` Al Viro
2012-10-13 20:52 ` Arnd Bergmann
2012-10-13 21:57 ` Vyacheslav Dubeyko
2012-10-13 22:21 ` Vyacheslav Dubeyko
2012-10-14 7:09 ` Jaegeuk Kim
2012-10-14 12:06 ` Vyacheslav Dubeyko
2012-10-14 15:19 ` Arnd Bergmann
[not found] ` <CAN863PuYDSSFmaKtsVvdX4aFpS8hAMvFmhJpsky0x=ySn0QsqQ@mail.gmail.com>
2012-10-15 14:05 ` Arnd Bergmann
2012-10-16 2:29 ` Jaegeuk Kim [this message]
2012-10-16 16:14 ` Arnd Bergmann
2012-10-16 21:43 ` Jaegeuk Kim
2012-10-17 3:44 ` Jaegeuk Kim
2012-10-17 12:22 ` Arnd Bergmann
2012-10-17 8:35 ` Arnd Bergmann
2012-10-15 22:34 ` Dave Chinner
2012-10-16 2:00 ` Jaegeuk Kim
2012-10-16 11:38 ` Arnd Bergmann
2012-10-16 20:38 ` Jaegeuk Kim
2012-10-17 12:25 ` Arnd Bergmann
2012-10-18 5:37 ` Jaegeuk Kim
2012-10-16 20:44 ` Dave Chinner
2012-10-16 22:30 ` Jaegeuk Kim
2012-10-16 22:54 ` Dave Chinner
2012-10-17 3:25 ` Jaegeuk Kim
2012-10-17 12:50 ` Arnd Bergmann
2012-10-24 2:49 ` Dave Chinner
2012-10-24 12:02 ` Arnd Bergmann
2012-10-14 6:51 ` Jaegeuk Kim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='015a01cdab46$145caa10$3d15fe30$%kim@samsung.com' \
--to=jaegeuk.kim@samsung.com \
--cc=arnd@arndb.de \
--cc=chur.lee@samsung.com \
--cc=cm224.lee@gmail.com \
--cc=cm224.lee@samsung.com \
--cc=gregkh@linuxfoundation.org \
--cc=jaegeuk.kim@gmail.com \
--cc=jooyoung.hwang@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=slava@dubeyko.com \
--cc=tytso@mit.edu \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.