From: Changman Lee <cm224.lee@samsung.com>
To: Jaegeuk Kim <jaegeuk@kernel.org>
Cc: linux-fsdevel@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
dan.magenheimer@oracle.com
Subject: Re: [f2fs-dev] [PATCH] f2fs: add cleancache support
Date: Thu, 20 Nov 2014 13:38:51 +0900 [thread overview]
Message-ID: <20141120043851.GA3117@lcm> (raw)
In-Reply-To: <20141114055302.GD16657@lcm>
On Fri, Nov 14, 2014 at 02:53:02PM +0900, Changman Lee wrote:
> On Thu, Nov 13, 2014 at 05:27:51PM -0800, Jaegeuk Kim wrote:
> > Hi Changman,
> >
> > On Thu, Nov 13, 2014 at 02:34:50PM +0900, Changman Lee wrote:
> > > To use cleancache, fs must explicitly enable cleancache by calling
> > > cleancache_init_fs.
> >
> > Good catch!
> >
> > Prior to merge this patch, can you share any testing results or performance
> > numbers?
> >
> Not yet, I'll try to get numbers.
>
Hi,
This is the result of kernel compile on xen-4.4 enabled tmem
: cleancache and frontswap.
I'm afraid that there is little difference by cleancache.
The cleancache shows a few cache hits but the effect through it doesn't
show. I don't know best benchmark to testify it yet.
Finally, I couldn't discover any bug during test.
[before patch]
1 2 3
Elapsed time 25:00.67 25:07.09 25:00.38
Major fault 31100 31410 31333
Minor fault 276869398 276869318 276871144
[after patch]
1 2 3
Elapsed time 25:12.34 25:13.29 25:11.99
Major fault 31559 32069 31801
Minor fault 276870283 276868046 276869251
[cleancache] - diff between start and end
1 2 3
failed_gets 1277980 1296355 1300368
invalidates 2588227 2651722 2655285
puts 1289970 1323685 1320623
*succ_gets* 111111 121299 114310
Thanks,
Changman
> > What condition will be the best way to exploit f2fs and cleancache?
> >
> Not clear.
> I think we can make a cleancache client for f2fs so that can compenstate
> a penalty of node pages which are read mostly.
>
> > Can we confirm that f2fs satisfies most of requirements described by
> > cleancache.txt below?
>
> Good point.
> At a quick glance, F2FS seems to satisfy most of requirements.
> Through a experimental, I'll try to check side effect.
>
> >
> > Some points for a filesystem to consider:
> >
> > - The FS should be block-device-based (e.g. a ram-based FS such
> > as tmpfs should not enable cleancache)
> > - To ensure coherency/correctness, the FS must ensure that all
> > file removal or truncation operations either go through VFS or
> > add hooks to do the equivalent cleancache "invalidate" operations
> > - To ensure coherency/correctness, either inode numbers must
> > be unique across the lifetime of the on-disk file OR the
> > FS must provide an "encode_fh" function.
> > - The FS must call the VFS superblock alloc and deactivate routines
> > or add hooks to do the equivalent cleancache calls done there.
> > - To maximize performance, all pages fetched from the FS should
> > go through the do_mpag_readpage routine or the FS should add
> > hooks to do the equivalent (cf. btrfs)
> > - Currently, the FS blocksize must be the same as PAGESIZE. This
> > is not an architectural restriction, but no backends currently
> > support anything different.
> > - A clustered FS should invoke the "shared_init_fs" cleancache
> > hook to get best performance for some backends.
> >
> > Thanks,
> >
> > >
> > > Signed-off-by: Changman Lee <cm224.lee@samsung.com>
> > > ---
> > > fs/f2fs/super.c | 3 +++
> > > 1 file changed, 3 insertions(+)
> > >
> > > diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
> > > index 512ffd8..2ebb960 100644
> > > --- a/fs/f2fs/super.c
> > > +++ b/fs/f2fs/super.c
> > > @@ -24,6 +24,7 @@
> > > #include <linux/blkdev.h>
> > > #include <linux/f2fs_fs.h>
> > > #include <linux/sysfs.h>
> > > +#include <linux/cleancache.h>
> > >
> > > #include "f2fs.h"
> > > #include "node.h"
> > > @@ -1144,6 +1145,8 @@ try_onemore:
> > > if (err)
> > > goto free_kobj;
> > > }
> > > +
> > > + cleancache_init_fs(sb);
> > > return 0;
> > >
> > > free_kobj:
> > > --
> > > 1.9.1
> > >
> > >
> > > ------------------------------------------------------------------------------
> > > Comprehensive Server Monitoring with Site24x7.
> > > Monitor 10 servers for $9/Month.
> > > Get alerted through email, SMS, voice calls or mobile push notifications.
> > > Take corrective actions from your mobile device.
> > > http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk
> > > _______________________________________________
> > > Linux-f2fs-devel mailing list
> > > Linux-f2fs-devel@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
>
> ------------------------------------------------------------------------------
> Comprehensive Server Monitoring with Site24x7.
> Monitor 10 servers for $9/Month.
> Get alerted through email, SMS, voice calls or mobile push notifications.
> Take corrective actions from your mobile device.
> http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk
> _______________________________________________
> Linux-f2fs-devel mailing list
> Linux-f2fs-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
next prev parent reply other threads:[~2014-11-20 4:40 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-13 5:34 [PATCH] f2fs: add cleancache support Changman Lee
2014-11-14 1:27 ` [f2fs-dev] " Jaegeuk Kim
2014-11-14 5:53 ` Changman Lee
2014-11-20 4:38 ` Changman Lee [this message]
2014-11-24 5:42 ` Jaegeuk Kim
2014-11-24 6:19 ` Changman Lee
2014-11-24 7:18 ` Jaegeuk Kim
2014-11-24 8:10 ` Changman Lee
2014-11-14 3:08 ` Chao Yu
2014-11-14 5:39 ` Changman Lee
2014-11-18 3:30 ` [f2fs-dev] " Chao Yu
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=20141120043851.GA3117@lcm \
--to=cm224.lee@samsung.com \
--cc=dan.magenheimer@oracle.com \
--cc=jaegeuk@kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=linux-fsdevel@vger.kernel.org \
/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).