From: John Stultz <john.stultz@linaro.org>
To: 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>
Subject: [PATCH 0/2] [RFC] Volatile Ranges (v6)
Date: Fri, 6 Apr 2012 17:08:56 -0700 [thread overview]
Message-ID: <1333757338-6854-1-git-send-email-john.stultz@linaro.org> (raw)
Just wanted to send out another iteration of the volatile range code
for review and comment.
This revision handles some improved coalescing logic, fixes some bugs
in the range tree management, and also utilizes a hash tabe to avoid
bloating the address_space structure with range_tree pointers.
Still looking for guidence on what a better interface for this might be
as well as thoughts on how to best drop the ranges under memory pressure
(vmtruncate_region is pretty close to what I want, but lockdep makes it
clear that its not really safe to call from a shrinker).
Another detail is that by hanging the volatile ranges off of the
address_space, the volatility for tmpfs files persists even when no one
has an open fd on the file. This could cause some surprises if application
A marked some pages volatile and died, then application B opened the file
and had pages dropped out underneith it while it was being used. I suspect
I need to clean up the volatility when all fds are dropped. But any extra
insight would be useful here.
Thanks for the continued advice and feedback!
-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>
John Stultz (2):
[RFC] Range tree implementation
[RFC] fadvise: Add _VOLATILE,_ISVOLATILE, and _NONVOLATILE flags
fs/inode.c | 2 +
include/linux/fadvise.h | 5 +
include/linux/rangetree.h | 56 ++++++
include/linux/volatile.h | 14 ++
lib/Makefile | 2 +-
lib/rangetree.c | 128 +++++++++++++
mm/Makefile | 2 +-
mm/fadvise.c | 16 ++-
mm/volatile.c | 440 +++++++++++++++++++++++++++++++++++++++++++++
9 files changed, 662 insertions(+), 3 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-04-07 0:09 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-07 0:08 John Stultz [this message]
2012-04-07 0:08 ` [PATCH 1/2] [RFC] Range tree implementation John Stultz
2012-04-07 17:36 ` Sasha Levin
2012-04-09 18:04 ` John Stultz
2012-04-09 18:44 ` Sasha Levin
2012-04-07 0:08 ` [PATCH 2/2] [RFC] fadvise: Add _VOLATILE,_ISVOLATILE, and _NONVOLATILE flags John Stultz
2012-04-07 8:14 ` [PATCH 0/2] [RFC] Volatile Ranges (v6) Dmitry Adamushko
2012-04-09 17:56 ` 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=1333757338-6854-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=neilb@suse.de \
--cc=riel@redhat.com \
--cc=rlove@google.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;
as well as URLs for NNTP newsgroup(s).