From: Boaz Harrosh <bharrosh@panasas.com>
To: "Theodore Ts'o" <tytso@mit.edu>
Cc: <linux-fsdevel@vger.kernel.org>,
Ext4 Developers List <linux-ext4@vger.kernel.org>
Subject: Re: [PATCH, RFC 0/3] Introduce new O_HOT and O_COLD flags
Date: Fri, 20 Apr 2012 12:12:32 +0300 [thread overview]
Message-ID: <4F912880.70708@panasas.com> (raw)
In-Reply-To: <1334863211-19504-1-git-send-email-tytso@mit.edu>
On 04/19/2012 10:20 PM, Theodore Ts'o wrote:
> As I had brought up during one of the lightning talks at the Linux
> Storage and Filesystem workshop, I am interested in introducing two new
> open flags, O_HOT and O_COLD. These flags are passed down to the
> individual file system's inode operations' create function, and the file
> system can use these flags as a hint regarding whether the file is
> likely to be accessed frequently or not.
>
> In the future I plan to do further work on how ext4 would use these
> flags, but I want to first get the ability to pass these flags plumbed
> into the VFS layer and the code points for O_HOT and O_COLD reserved.
>
>
> Theodore Ts'o (3):
> fs: add new open flags O_HOT and O_COLD
> fs: propagate the open_flags structure down to the low-level fs's
> create()
> ext4: use the O_HOT and O_COLD open flags to influence inode
> allocation
>
I would expect that the first, and most important patch to this
set would be the man page which would define the new API.
What do you mean by cold/normal/hot? what is expected if supported?
how can we know if supported? ....
I presume you mean 3 levels (not even 2 bits) of what T10 called
"read-frequency" or is that "write-frequency", or some other metrics
you defined?
Well in the patchset you supplied it means closer to outer-edge.
What ever that means? so in the case of ext4 on SSD or DM/MD or
loop or thin provisioned LUN. How do I stop it. The code is already
there in Kernel and the application is setting that flag at create,
how do I make the FS not do that stupid, for me, thing?
I wish you'd be transparent, call it O_OUTER_DISK and be honest
about it. The "undefined API" never ever worked in the past,
why would it work now?
And Yes an fctrl is a much better match, and with delayed allocation
that should not matter, right?
And one last thing. We would like to see numbers. Please show us where/how
it matters. Are there down sides?. If it's so good we'd like to implement
it too.
Thanks
Boaz
> fs/9p/vfs_inode.c | 2 +-
> fs/affs/affs.h | 2 +-
> fs/affs/namei.c | 3 ++-
> fs/bfs/dir.c | 2 +-
> fs/btrfs/inode.c | 3 ++-
> fs/cachefiles/namei.c | 3 ++-
> fs/ceph/dir.c | 2 +-
> fs/cifs/dir.c | 2 +-
> fs/coda/dir.c | 3 ++-
> fs/ecryptfs/inode.c | 5 +++--
> fs/exofs/namei.c | 2 +-
> fs/ext2/namei.c | 4 +++-
> fs/ext3/namei.c | 5 +++--
> fs/ext4/ext4.h | 8 +++++++-
> fs/ext4/ialloc.c | 33 +++++++++++++++++++++++++++------
> fs/ext4/migrate.c | 2 +-
> fs/ext4/namei.c | 17 ++++++++++++-----
> fs/fat/namei_msdos.c | 2 +-
> fs/fat/namei_vfat.c | 2 +-
> fs/fcntl.c | 5 +++--
> fs/fuse/dir.c | 2 +-
> fs/gfs2/inode.c | 3 ++-
> fs/hfs/dir.c | 2 +-
> fs/hfsplus/dir.c | 5 +++--
> fs/hostfs/hostfs_kern.c | 2 +-
> fs/hugetlbfs/inode.c | 4 +++-
> fs/internal.h | 6 ------
> fs/jffs2/dir.c | 5 +++--
> fs/jfs/namei.c | 2 +-
> fs/logfs/dir.c | 2 +-
> fs/minix/namei.c | 2 +-
> fs/namei.c | 9 +++++----
> fs/ncpfs/dir.c | 5 +++--
> fs/nfs/dir.c | 6 ++++--
> fs/nfsd/vfs.c | 4 ++--
> fs/nilfs2/namei.c | 2 +-
> fs/ocfs2/namei.c | 3 ++-
> fs/omfs/dir.c | 2 +-
> fs/ramfs/inode.c | 3 ++-
> fs/reiserfs/namei.c | 5 +++--
> fs/sysv/namei.c | 4 +++-
> fs/ubifs/dir.c | 2 +-
> fs/udf/namei.c | 2 +-
> fs/ufs/namei.c | 2 +-
> fs/xfs/xfs_iops.c | 3 ++-
> include/asm-generic/fcntl.h | 7 +++++++
> include/linux/fs.h | 14 ++++++++++++--
> ipc/mqueue.c | 2 +-
> 48 files changed, 143 insertions(+), 74 deletions(-)
>
next prev parent reply other threads:[~2012-04-20 9:12 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-19 19:20 [PATCH, RFC 0/3] Introduce new O_HOT and O_COLD flags Theodore Ts'o
2012-04-19 19:20 ` [PATCH, RFC 1/3] fs: add new open flags O_HOT and O_COLD Theodore Ts'o
2012-04-19 19:20 ` [PATCH, RFC 2/3] fs: propagate the open_flags structure down to the low-level fs's create() Theodore Ts'o
2012-04-19 19:20 ` [PATCH, RFC 3/3] ext4: use the O_HOT and O_COLD open flags to influence inode allocation Theodore Ts'o
2012-04-19 19:45 ` Eric Sandeen
2012-04-19 19:59 ` Ted Ts'o
2012-04-19 22:55 ` Andreas Dilger
2012-04-19 23:27 ` Dave Chinner
2012-04-20 2:26 ` Ted Ts'o
2012-04-21 0:57 ` Dave Chinner
2012-04-20 0:26 ` [PATCH, RFC 0/3] Introduce new O_HOT and O_COLD flags Alex Elder
2012-04-20 2:45 ` Ted Ts'o
2012-04-20 9:31 ` Boaz Harrosh
2012-04-20 9:12 ` Boaz Harrosh [this message]
2012-04-20 9:45 ` Lukas Czerner
2012-04-20 11:01 ` James Bottomley
2012-04-20 11:23 ` Lukas Czerner
2012-04-20 14:07 ` Christoph Lameter
2012-04-20 14:42 ` James Bottomley
2012-04-20 14:58 ` Ted Ts'o
2012-04-21 23:56 ` KOSAKI Motohiro
2012-04-22 6:30 ` Nick Piggin
2012-04-23 8:23 ` James Bottomley
2012-04-23 11:47 ` Nick Piggin
2012-04-24 6:18 ` Nick Piggin
2012-04-24 15:00 ` KOSAKI Motohiro
2012-04-21 18:26 ` Jeff Garzik
2012-04-20 10:16 ` Bernd Schubert
2012-04-20 10:38 ` Lukas Czerner
2012-04-21 18:24 ` Jeff Garzik
2012-04-24 16:07 ` Alex Elder
2012-04-24 19:33 ` Jamie Lokier
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=4F912880.70708@panasas.com \
--to=bharrosh@panasas.com \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=tytso@mit.edu \
/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).