From: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
To: linux-mm <linux-mm@kvack.org>
Subject: [RFC:PATCH 002/012] Allow file systems to specify whether to store file tails
Date: Thu, 24 May 2007 08:11:41 -0400 [thread overview]
Message-ID: <20070524121141.13533.97864.sendpatchset@kleikamp.austin.ibm.com> (raw)
In-Reply-To: <20070524121130.13533.32563.sendpatchset@kleikamp.austin.ibm.com>
Allow file systems to specify whether to enable page cache tails
This allows us to test and enable each file system independently. It also
gives the file system the flexibility to have a mount flag enable or disable
page cache tails.
Initially, I am only testing on ext4 & jfs, so as not to damage my root file
system (ext3).
Signed-off-by: Dave Kleikamp <shaggy@linux.vnet.ibm.com>
---
fs/ext4/super.c | 4 ++++
fs/jfs/super.c | 3 +++
include/linux/fs.h | 2 ++
3 files changed, 9 insertions(+)
diff -Nurp linux001/fs/ext4/super.c linux002/fs/ext4/super.c
--- linux001/fs/ext4/super.c 2007-05-21 15:15:33.000000000 -0500
+++ linux002/fs/ext4/super.c 2007-05-23 22:53:11.000000000 -0500
@@ -1548,6 +1548,10 @@ static int ext4_fill_super (struct super
sb->s_flags = (sb->s_flags & ~MS_POSIXACL) |
((sbi->s_mount_opt & EXT4_MOUNT_POSIX_ACL) ? MS_POSIXACL : 0);
+#ifdef CONFIG_VM_FILE_TAILS
+ /* ToDo: Make this a mount option */
+ sb->s_flags |= MS_FILE_TAIL;
+#endif
if (le32_to_cpu(es->s_rev_level) == EXT4_GOOD_OLD_REV &&
(EXT4_HAS_COMPAT_FEATURE(sb, ~0U) ||
diff -Nurp linux001/fs/jfs/super.c linux002/fs/jfs/super.c
--- linux001/fs/jfs/super.c 2007-05-21 15:15:34.000000000 -0500
+++ linux002/fs/jfs/super.c 2007-05-23 22:53:11.000000000 -0500
@@ -439,6 +439,9 @@ static int jfs_fill_super(struct super_b
#ifdef CONFIG_JFS_POSIX_ACL
sb->s_flags |= MS_POSIXACL;
#endif
+#ifdef CONFIG_VM_FILE_TAILS
+ sb->s_flags |= MS_FILE_TAIL;
+#endif
if (newLVSize) {
printk(KERN_ERR "resize option for remount only\n");
diff -Nurp linux001/include/linux/fs.h linux002/include/linux/fs.h
--- linux001/include/linux/fs.h 2007-05-21 15:15:43.000000000 -0500
+++ linux002/include/linux/fs.h 2007-05-23 22:53:11.000000000 -0500
@@ -123,6 +123,7 @@ extern int dir_notify_enable;
#define MS_SLAVE (1<<19) /* change to slave */
#define MS_SHARED (1<<20) /* change to shared */
#define MS_RELATIME (1<<21) /* Update atime relative to mtime/ctime. */
+#define MS_FILE_TAIL (1<<22) /* Store file tail efficiently in page cache */
#define MS_ACTIVE (1<<30)
#define MS_NOUSER (1<<31)
@@ -182,6 +183,7 @@ extern int dir_notify_enable;
#define IS_NOCMTIME(inode) ((inode)->i_flags & S_NOCMTIME)
#define IS_SWAPFILE(inode) ((inode)->i_flags & S_SWAPFILE)
#define IS_PRIVATE(inode) ((inode)->i_flags & S_PRIVATE)
+#define IS_FILE_TAIL_CAPABLE(inode) __IS_FLG(inode, MS_FILE_TAIL)
/* the read-only stuff doesn't really belong here, but any other place is
probably as bad and I don't want to create yet another include file. */
--
David Kleikamp
IBM Linux Technology Center
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2007-05-24 11:09 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-24 12:11 [RFC:PATCH 000/012] VM Page Tails Dave Kleikamp
2007-05-24 12:11 ` [RFC:PATCH 001/012] Make iommu_map_sg deal with less-than-page-aligned data Dave Kleikamp
2007-05-24 12:11 ` Dave Kleikamp [this message]
2007-05-24 12:11 ` [RFC:PATCH 003/012] Add tail to address space and define PG_pagetail page flag Dave Kleikamp
2007-05-24 12:11 ` [RFC:PATCH 004/012] Replace PAGE_CACHE_SIZE with page_data_size() Dave Kleikamp
2007-05-24 12:11 ` [RFC:PATCH 005/012] Base file tail function Dave Kleikamp
2007-05-24 12:12 ` [RFC:PATCH 006/012] Modify lowmem_page_address() & page_to_phys() to special case tail page Dave Kleikamp
2007-05-24 12:12 ` [RFC:PATCH 007/012] Avoid page_to_pfn() on " Dave Kleikamp
2007-05-24 12:12 ` [RFC:PATCH 008/012] bh_offset needs to take page_address into consideration Dave Kleikamp
2007-05-24 12:12 ` [RFC:PATCH 009/012] Wrap i_size_write Dave Kleikamp
2007-05-24 12:12 ` [RFC:PATCH 010/012] unpack tail page to avoid memory mapping Dave Kleikamp
2007-05-24 12:12 ` [RFC:PATCH 011/012] Make sure tail page is freed correctly Dave Kleikamp
2007-05-24 12:12 ` [RFC:PATCH 012/012] Add tail hooks into file_map.c Dave Kleikamp
2007-05-24 12:45 ` [RFC:PATCH 000/012] VM File Tails Dave Kleikamp
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=20070524121141.13533.97864.sendpatchset@kleikamp.austin.ibm.com \
--to=shaggy@linux.vnet.ibm.com \
--cc=linux-mm@kvack.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