From: John Stultz <john.stultz@linaro.org>
To: LKML <linux-kernel@vger.kernel.org>
Cc: John Stultz <john.stultz@linaro.org>,
Andrew Morton <akpm@linux-foundation.org>,
Android Kernel Team <kernel-team@android.com>,
Robert Love <rlove@google.com>, Mel Gorman <mel@csn.ul.ie>,
Hugh Dickins <hughd@google.com>,
Dave Hansen <dave@linux.vnet.ibm.com>,
Rik van Riel <riel@redhat.com>,
Dmitry Adamushko <dmitry.adamushko@gmail.com>,
Dave Chinner <david@fromorbit.com>, Neil Brown <neilb@suse.de>,
Andrea Righi <andrea@betterlinux.com>,
"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
Taras Glek <tgek@mozilla.com>, Mike Hommey <mh@glandium.org>
Subject: [PATCH 0/4] [RFC] Fallocate Volatile Ranges
Date: Fri, 25 May 2012 12:17:32 -0700 [thread overview]
Message-ID: <1337973456-19533-1-git-send-email-john.stultz@linaro.org> (raw)
So here's the first pass at re-implementing the volatile range
idea using the fallocate interface, as suggested by Dave Chinner.
The range tree code is mostly unchanged.
The volatile range management code has been somewhat abstracted
out as helper functions that allow filesystems to get the same
logic but leaving it to the filesystem to handle the page purging.
Finally there is the tmpfs enablement for FALLOC_FL_MARK_VOLATILE.
This is all done on top of Hugh/Cong's tmpfs FALLOC_FL_PUNCH_HOLE
enablement.
I've only managed to do minimal testing at this point, but I wanted
to get this out before the long-weekend holiday in the US.
Few of the things still on my todo list:
* Move the volatile mapping hash to be per volatile_fs_head
* Kill the extra hash locking
* Keep track of unpurged pages in volatile_fs_head, to avoid
running through the lru at shrink time.
Your thoughts and feedback will be appreciated!
thanks
-john
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Android Kernel Team <kernel-team@android.com>
CC: Robert Love <rlove@google.com>
CC: Mel Gorman <mel@csn.ul.ie>
CC: Hugh Dickins <hughd@google.com>
CC: Dave Hansen <dave@linux.vnet.ibm.com>
CC: Rik van Riel <riel@redhat.com>
CC: Dmitry Adamushko <dmitry.adamushko@gmail.com>
CC: Dave Chinner <david@fromorbit.com>
CC: Neil Brown <neilb@suse.de>
CC: Andrea Righi <andrea@betterlinux.com>
CC: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
CC: Taras Glek <tgek@mozilla.com>
CC: Mike Hommey <mh@glandium.org>
Hugh Dickins (1):
tmpfs: support fallocate FALLOC_FL_PUNCH_HOLE
John Stultz (3):
[RFC] Range tree implementation
[RFC] Add volatile range management code
[RFC] tmpfs: Add FALLOC_FL_MARK_VOLATILE/UNMARK_VOLATILE handlers
fs/open.c | 3 +-
include/linux/falloc.h | 7 +-
include/linux/rangetree.h | 53 +++++
include/linux/volatile.h | 43 ++++
lib/Makefile | 2 +-
lib/rangetree.c | 107 ++++++++++
mm/Makefile | 2 +-
mm/shmem.c | 175 +++++++++++++++-
mm/volatile.c | 493 +++++++++++++++++++++++++++++++++++++++++++++
9 files changed, 868 insertions(+), 17 deletions(-)
create mode 100644 include/linux/rangetree.h
create mode 100644 include/linux/volatile.h
create mode 100644 lib/rangetree.c
create mode 100644 mm/volatile.c
--
1.7.3.2.146.gca209
next reply other threads:[~2012-05-25 19:17 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-25 19:17 John Stultz [this message]
2012-05-25 19:17 ` [PATCH 1/4] tmpfs: support fallocate FALLOC_FL_PUNCH_HOLE John Stultz
2012-05-25 19:17 ` [PATCH 2/4] [RFC] Range tree implementation John Stultz
2012-05-31 20:48 ` Jan Kara
2012-05-31 21:04 ` John Stultz
2012-05-31 22:35 ` Jan Kara
2012-05-31 23:12 ` John Stultz
2012-05-25 19:17 ` [PATCH 3/4] [RFC] Add volatile range management code John Stultz
2012-05-25 19:17 ` [PATCH 4/4] [RFC] tmpfs: Add FALLOC_FL_MARK_VOLATILE/UNMARK_VOLATILE handlers John Stultz
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=1337973456-19533-1-git-send-email-john.stultz@linaro.org \
--to=john.stultz@linaro.org \
--cc=akpm@linux-foundation.org \
--cc=andrea@betterlinux.com \
--cc=aneesh.kumar@linux.vnet.ibm.com \
--cc=dave@linux.vnet.ibm.com \
--cc=david@fromorbit.com \
--cc=dmitry.adamushko@gmail.com \
--cc=hughd@google.com \
--cc=kernel-team@android.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mel@csn.ul.ie \
--cc=mh@glandium.org \
--cc=neilb@suse.de \
--cc=riel@redhat.com \
--cc=rlove@google.com \
--cc=tgek@mozilla.com \
/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
all inboxes | Powered by JetHome®