From: Arnd Bergmann <arnd@arndb.de>
To: Changman Lee <cm224.lee@gmail.com>
Cc: "Vyacheslav Dubeyko" <slava@dubeyko.com>,
"Jaegeuk Kim" <jaegeuk.kim@gmail.com>,
김재극 <jaegeuk.kim@samsung.com>,
"viro@zeniv.linux.org.uk" <viro@zeniv.linux.org.uk>,
"Theodore Ts'o" <tytso@mit.edu>,
"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"chur.lee@samsung.com" <chur.lee@samsung.com>,
"cm224.lee@samsung.com" <cm224.lee@samsung.com>,
"jooyoung.hwang@samsung.com" <jooyoung.hwang@samsung.com>
Subject: Re: [PATCH 11/16] f2fs: add inode operations for special inodes
Date: Mon, 15 Oct 2012 14:05:41 +0000 [thread overview]
Message-ID: <201210151405.41392.arnd@arndb.de> (raw)
In-Reply-To: <CAN863PuYDSSFmaKtsVvdX4aFpS8hAMvFmhJpsky0x=ySn0QsqQ@mail.gmail.com>
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.
Arnd
next prev parent reply other threads:[~2012-10-15 14:05 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 [this message]
2012-10-16 2:29 ` Jaegeuk Kim
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=201210151405.41392.arnd@arndb.de \
--to=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=jaegeuk.kim@samsung.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).