linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/14] Volatile Ranges v9
@ 2013-10-03  0:51 John Stultz
  2013-10-03  0:51 ` [PATCH 01/14] vrange: Add basic data structure and functions John Stultz
                   ` (14 more replies)
  0 siblings, 15 replies; 39+ messages in thread
From: John Stultz @ 2013-10-03  0:51 UTC (permalink / raw)
  To: LKML
  Cc: John Stultz, Andrew Morton, Android Kernel Team, Robert Love,
	Mel Gorman, Hugh Dickins, Dave Hansen, Rik van Riel,
	Dmitry Adamushko, Dave Chinner, Neil Brown, Andrea Righi,
	Andrea Arcangeli, Aneesh Kumar K.V, Mike Hommey, Taras Glek,
	Dhaval Giani, Jan Kara, KOSAKI Motohiro, Michel Lespinasse,
	Rob Clark, Minchan Kim, linux-mm@kvack.org

So its been awhile since the last release of the volatile ranges
patches, and while Minchan and I have been busy with other things,
we have been slowly chipping away at issues and differences
trying to get a patchset that we both agree on.

There's still a few smaller issues, but we figured any further
polishing of the patch series in private would be unproductive
and it would be much better to send the patches out for review
and comment and get some wider opinions.

Whats new in v9:
* Updated to v3.11
* Added vrange purging logic to purge anonymous pages on
  swapless systems
* Added logic to allocate the vroot structure dynamically
  to avoid added overhead to mm and address_space structures
* Lots of minor tweaks, changes and cleanups

Still TODO:
* Sort out better solution for clearing volatility on new mmaps
	- Minchan has a different approach here
* Sort out apparent shrinker livelock that occasionally crops
  up under severe pressure
 
Feedback or thoughts here would be particularly helpful!

As is apparent from the author list, Minchan has really been the
one doing the heavy lifting here, and I've only been finding and
fixing a few bugs, refactoring the code for readability, and
trying to clarify commit messages. So many many thanks to Minchan
here for all his great work, and putting up with my sometimes
misguided "editing".

Also, thanks to Dhaval for his maintaining and vastly improving
the volatile ranges test suite, which can be found here:
	https://github.com/volatile-ranges-test/vranges-test


These patches can also be pulled from git here:
    git://git.linaro.org/people/jstultz/android-dev.git dev/vrange-v9

We'd really welcome any feedback and comments on the patch series. 

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.hansen@intel.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: Andrea Arcangeli <aarcange@redhat.com>
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: Mike Hommey <mh@glandium.org>
Cc: Taras Glek <tglek@mozilla.com>
Cc: Dhaval Giani <dhaval.giani@gmail.com>
Cc: Jan Kara <jack@suse.cz>
Cc: KOSAKI Motohiro <kosaki.motohiro@gmail.com>
Cc: Michel Lespinasse <walken@google.com>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: linux-mm@kvack.org <linux-mm@kvack.org>


John Stultz (2):
  vrange: Clear volatility on new mmaps
  vrange: Add support for volatile ranges on file mappings

Minchan Kim (12):
  vrange: Add basic data structure and functions
  vrange: Add vrange support to mm_structs
  vrange: Add new vrange(2) system call
  vrange: Add basic functions to purge volatile pages
  vrange: Purge volatile pages when memory is tight
  vrange: Send SIGBUS when user try to access purged page
  vrange: Add vrange LRU list for purging
  vrange: Add core shrinking logic for swapless system
  vrange: Purging vrange-anon pages from shrinker
  vrange: Support background purging for vrange-file
  vrange: Allocate vroot dynamically
  vrange: Add vmstat counter about purged page

 arch/x86/syscalls/syscall_64.tbl       |    1 +
 fs/inode.c                             |    4 +
 include/linux/fs.h                     |    4 +
 include/linux/mm_types.h               |    4 +
 include/linux/rmap.h                   |   11 +-
 include/linux/swap.h                   |    6 +-
 include/linux/syscalls.h               |    2 +
 include/linux/vm_event_item.h          |    2 +
 include/linux/vrange.h                 |   84 +++
 include/linux/vrange_types.h           |   28 +
 include/uapi/asm-generic/mman-common.h |    3 +
 kernel/fork.c                          |   12 +
 kernel/sys_ni.c                        |    1 +
 lib/Makefile                           |    2 +-
 mm/Makefile                            |    2 +-
 mm/internal.h                          |    2 -
 mm/ksm.c                               |    2 +-
 mm/memory.c                            |   27 +
 mm/mincore.c                           |    5 +-
 mm/mmap.c                              |    5 +
 mm/rmap.c                              |   28 +-
 mm/vmscan.c                            |   17 +-
 mm/vmstat.c                            |    2 +
 mm/vrange.c                            | 1196 ++++++++++++++++++++++++++++++++
 24 files changed, 1429 insertions(+), 21 deletions(-)
 create mode 100644 include/linux/vrange.h
 create mode 100644 include/linux/vrange_types.h
 create mode 100644 mm/vrange.c

-- 
1.8.1.2

--
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>

^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2013-10-08 16:23 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-03  0:51 [PATCH 00/14] Volatile Ranges v9 John Stultz
2013-10-03  0:51 ` [PATCH 01/14] vrange: Add basic data structure and functions John Stultz
2013-10-03  0:51 ` [PATCH 02/14] vrange: Add vrange support to mm_structs John Stultz
2013-10-03  0:51 ` [PATCH 03/14] vrange: Clear volatility on new mmaps John Stultz
2013-10-03  0:51 ` [PATCH 04/14] vrange: Add support for volatile ranges on file mappings John Stultz
2013-10-03  0:51 ` [PATCH 05/14] vrange: Add new vrange(2) system call John Stultz
2013-10-07 22:56   ` H. Peter Anvin
2013-10-07 23:14     ` John Stultz
2013-10-07 23:26       ` H. Peter Anvin
2013-10-07 23:41         ` John Stultz
2013-10-07 23:46           ` H. Peter Anvin
2013-10-07 23:54             ` John Stultz
2013-10-07 23:59               ` H. Peter Anvin
2013-10-08  0:13                 ` Minchan Kim
2013-10-08  0:18                   ` John Stultz
2013-10-08  0:34                     ` Minchan Kim
2013-10-08  0:38                       ` Minchan Kim
2013-10-08  1:24                   ` H. Peter Anvin
2013-10-08  2:08                     ` Minchan Kim
2013-10-08  2:51                       ` KOSAKI Motohiro
2013-10-08  3:07                         ` Minchan Kim
2013-10-08  4:35                           ` KOSAKI Motohiro
2013-10-08  7:12                             ` Minchan Kim
2013-10-08  7:17                               ` Minchan Kim
2013-10-08  0:03       ` Minchan Kim
2013-10-08  0:07         ` John Stultz
2013-10-03  0:51 ` [PATCH 06/14] vrange: Add basic functions to purge volatile pages John Stultz
2013-10-03 10:22   ` Krzysztof Kozlowski
2013-10-03  0:51 ` [PATCH 07/14] vrange: Purge volatile pages when memory is tight John Stultz
2013-10-08  3:27   ` Zhan Jianyu
2013-10-08 16:22     ` John Stultz
2013-10-03  0:51 ` [PATCH 08/14] vrange: Send SIGBUS when user try to access purged page John Stultz
2013-10-03  0:51 ` [PATCH 09/14] vrange: Add vrange LRU list for purging John Stultz
2013-10-03  0:51 ` [PATCH 10/14] vrange: Add core shrinking logic for swapless system John Stultz
2013-10-03  0:51 ` [PATCH 11/14] vrange: Purging vrange-anon pages from shrinker John Stultz
2013-10-03  0:51 ` [PATCH 12/14] vrange: Support background purging for vrange-file John Stultz
2013-10-03  0:51 ` [PATCH 13/14] vrange: Allocate vroot dynamically John Stultz
2013-10-03  0:51 ` [PATCH 14/14] vrange: Add vmstat counter about purged page John Stultz
2013-10-03 23:56 ` [PATCH 00/14] Volatile Ranges v9 John Stultz

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).