diff for duplicates of <51B1941C.80707@parallels.com> diff --git a/a/2.txt b/N1/2.txt index 8e080b6..3c8e3dc 100644 --- a/a/2.txt +++ b/N1/2.txt @@ -1,4 +1,4 @@ -From 748b830897f3b62271f92a01abc2a32c1d5d41cd Mon Sep 17 00:00:00 2001 +>From 748b830897f3b62271f92a01abc2a32c1d5d41cd Mon Sep 17 00:00:00 2001 From: Glauber Costa <glommer@openvz.org> Date: Fri, 7 Jun 2013 00:00:44 +0400 MIME-Version: 1.0 diff --git a/a/content_digest b/N1/content_digest index bbef45c..ebb15c4 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -5,16 +5,16 @@ "Date\0Fri, 7 Jun 2013 12:04:44 +0400\0" "To\0Andrew Morton <akpm@linux-foundation.org>\0" "Cc\0Glauber Costa <glommer@openvz.org>" - linux-fsdevel@vger.kernel.org - mgorman@suse.de - david@fromorbit.com - linux-mm@kvack.org - cgroups@vger.kernel.org - kamezawa.hiroyu@jp.fujitsu.com - mhocko@suze.cz - hannes@cmpxchg.org - hughd@google.com - " gthelen@google.com\0" + <linux-fsdevel@vger.kernel.org> + <mgorman@suse.de> + <david@fromorbit.com> + <linux-mm@kvack.org> + <cgroups@vger.kernel.org> + <kamezawa.hiroyu@jp.fujitsu.com> + <mhocko@suze.cz> + <hannes@cmpxchg.org> + <hughd@google.com> + " <gthelen@google.com>\0" "\01:1\0" "b\0" "On 06/07/2013 01:15 AM, Andrew Morton wrote:\n" @@ -35,7 +35,7 @@ "\01:2\0" "fn\00000-cover-letter.patch\0" "b\0" - "From 748b830897f3b62271f92a01abc2a32c1d5d41cd Mon Sep 17 00:00:00 2001\n" + ">From 748b830897f3b62271f92a01abc2a32c1d5d41cd Mon Sep 17 00:00:00 2001\n" "From: Glauber Costa <glommer@openvz.org>\n" "Date: Fri, 7 Jun 2013 00:00:44 +0400\n" "MIME-Version: 1.0\n" @@ -162,4 +162,4 @@ "-- \n" 1.8.1.4 -9fbb2da978cc177243c3f80f600a8e671f085e2ba4ae1559cd80bfc4e6cb4fec +957f927d658910527cc022ca955852da72635bfff92c0181e2b762a0f26d2507
diff --git a/a/2.txt b/N2/2.txt index 8e080b6..8b13789 100644 --- a/a/2.txt +++ b/N2/2.txt @@ -1,126 +1 @@ -From 748b830897f3b62271f92a01abc2a32c1d5d41cd Mon Sep 17 00:00:00 2001 -From: Glauber Costa <glommer@openvz.org> -Date: Fri, 7 Jun 2013 00:00:44 +0400 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Subject: [PATCH v11 00/25] shrinkers rework: per-numa, generic lists, etc -This series rework out current object cache shrinking infrastructure in two -main ways: - - * Noticing that a lot of users copy and paste their own version of LRU - lists for objects, we put some effort in providing a generic version. It is - modeled after the filesystem users: dentries, inodes, and xfs (for various - tasks), but we expect that other users could benefit in the near future with - little or no modification. Let us know if you have any issues. - - * The underlying list_lru being proposed automatically and transparently keeps - the elements in per-node lists, and is able to manipulate the node lists - individually. Given this infrastructure, we are able to modify the up-to-now - hammer called shrink_slab to proceed with node-reclaim instead of always - searching memory from all over like it has been doing. - -Per-node lru lists are also expected to lead to less contention in the lru -locks on multi-node scans, since we are now no longer fighting for a global -lock. The locks usually disappear from the profilers with this change. - -Although we have no official benchmarks for this version - be our guest to -independently evaluate this - earlier versions of this series were performance -tested (details at http://permalink.gmane.org/gmane.linux.kernel.mm/100537) -yielding no visible performance regressions while yielding a better qualitative -behavior in NUMA machines. - -With this infrastructure in place, we can use the list_lru entry point to -provide memcg isolation and per-memcg targeted reclaim. Historically, those -two pieces of work have been posted together. This version presents only -the infrastructure work, deferring the memcg work for a later time, so we can -focus on getting this part tested. You can see more about the history of -such work at http://lwn.net/Articles/552769/ - -Dave Chinner (18): - dcache: convert dentry_stat.nr_unused to per-cpu counters - dentry: move to per-sb LRU locks - dcache: remove dentries from LRU before putting on dispose list - mm: new shrinker API - shrinker: convert superblock shrinkers to new API - list: add a new LRU list type - inode: convert inode lru list to generic lru list code. - dcache: convert to use new lru list infrastructure - list_lru: per-node list infrastructure - shrinker: add node awareness - fs: convert inode and dentry shrinking to be node aware - xfs: convert buftarg LRU to generic code - xfs: rework buffer dispose list tracking - xfs: convert dquot cache lru to list_lru - fs: convert fs shrinkers to new scan/count API - drivers: convert shrinkers to new count/scan API - shrinker: convert remaining shrinkers to count/scan API - shrinker: Kill old ->shrink API. - -Glauber Costa (7): - fs: bump inode and dentry counters to long - super: fix calculation of shrinkable objects for small numbers - list_lru: per-node API - vmscan: per-node deferred work - i915: bail out earlier when shrinker cannot acquire mutex - hugepage: convert huge zero page shrinker to new shrinker API - list_lru: dynamically adjust node arrays - - arch/x86/kvm/mmu.c | 24 ++- - drivers/gpu/drm/i915/i915_dma.c | 4 +- - drivers/gpu/drm/i915/i915_gem.c | 71 +++++--- - drivers/gpu/drm/ttm/ttm_page_alloc.c | 44 +++-- - drivers/gpu/drm/ttm/ttm_page_alloc_dma.c | 51 ++++-- - drivers/md/bcache/btree.c | 43 +++-- - drivers/md/bcache/sysfs.c | 2 +- - drivers/md/dm-bufio.c | 61 ++++--- - drivers/staging/android/ashmem.c | 44 +++-- - drivers/staging/android/lowmemorykiller.c | 40 +++-- - drivers/staging/zcache/zcache-main.c | 29 +-- - fs/dcache.c | 270 +++++++++++++++++----------- - fs/drop_caches.c | 1 + - fs/ext4/extents_status.c | 30 ++-- - fs/gfs2/glock.c | 30 ++-- - fs/gfs2/main.c | 3 +- - fs/gfs2/quota.c | 16 +- - fs/gfs2/quota.h | 4 +- - fs/inode.c | 193 +++++++++----------- - fs/internal.h | 6 +- - fs/mbcache.c | 49 ++--- - fs/nfs/dir.c | 16 +- - fs/nfs/internal.h | 4 +- - fs/nfs/super.c | 3 +- - fs/nfsd/nfscache.c | 31 +++- - fs/quota/dquot.c | 34 ++-- - fs/super.c | 106 ++++++----- - fs/ubifs/shrinker.c | 22 ++- - fs/ubifs/super.c | 3 +- - fs/ubifs/ubifs.h | 3 +- - fs/xfs/xfs_buf.c | 253 +++++++++++++------------- - fs/xfs/xfs_buf.h | 17 +- - fs/xfs/xfs_dquot.c | 7 +- - fs/xfs/xfs_icache.c | 4 +- - fs/xfs/xfs_icache.h | 2 +- - fs/xfs/xfs_qm.c | 285 ++++++++++++++++-------------- - fs/xfs/xfs_qm.h | 4 +- - fs/xfs/xfs_super.c | 12 +- - include/linux/dcache.h | 14 +- - include/linux/fs.h | 25 ++- - include/linux/list_lru.h | 148 ++++++++++++++++ - include/linux/shrinker.h | 54 ++++-- - include/trace/events/vmscan.h | 4 +- - include/uapi/linux/fs.h | 6 +- - kernel/sysctl.c | 6 +- - mm/Makefile | 2 +- - mm/huge_memory.c | 17 +- - mm/list_lru.c | 186 +++++++++++++++++++ - mm/memory-failure.c | 2 + - mm/vmscan.c | 242 ++++++++++++++----------- - net/sunrpc/auth.c | 41 +++-- - 51 files changed, 1620 insertions(+), 948 deletions(-) - create mode 100644 include/linux/list_lru.h - create mode 100644 mm/list_lru.c - --- -1.8.1.4 diff --git a/a/content_digest b/N2/content_digest index bbef45c..024b459 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -35,131 +35,5 @@ "\01:2\0" "fn\00000-cover-letter.patch\0" "b\0" - "From 748b830897f3b62271f92a01abc2a32c1d5d41cd Mon Sep 17 00:00:00 2001\n" - "From: Glauber Costa <glommer@openvz.org>\n" - "Date: Fri, 7 Jun 2013 00:00:44 +0400\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" - "Subject: [PATCH v11 00/25] shrinkers rework: per-numa, generic lists, etc\n" - "\n" - "This series rework out current object cache shrinking infrastructure in two\n" - "main ways:\n" - "\n" - " * Noticing that a lot of users copy and paste their own version of LRU\n" - " lists for objects, we put some effort in providing a generic version. It is\n" - " modeled after the filesystem users: dentries, inodes, and xfs (for various\n" - " tasks), but we expect that other users could benefit in the near future with\n" - " little or no modification. Let us know if you have any issues.\n" - "\n" - " * The underlying list_lru being proposed automatically and transparently keeps\n" - " the elements in per-node lists, and is able to manipulate the node lists\n" - " individually. Given this infrastructure, we are able to modify the up-to-now\n" - " hammer called shrink_slab to proceed with node-reclaim instead of always\n" - " searching memory from all over like it has been doing.\n" - "\n" - "Per-node lru lists are also expected to lead to less contention in the lru\n" - "locks on multi-node scans, since we are now no longer fighting for a global\n" - "lock. The locks usually disappear from the profilers with this change.\n" - "\n" - "Although we have no official benchmarks for this version - be our guest to\n" - "independently evaluate this - earlier versions of this series were performance\n" - "tested (details at http://permalink.gmane.org/gmane.linux.kernel.mm/100537)\n" - "yielding no visible performance regressions while yielding a better qualitative\n" - "behavior in NUMA machines.\n" - "\n" - "With this infrastructure in place, we can use the list_lru entry point to\n" - "provide memcg isolation and per-memcg targeted reclaim. Historically, those\n" - "two pieces of work have been posted together. This version presents only\n" - "the infrastructure work, deferring the memcg work for a later time, so we can\n" - "focus on getting this part tested. You can see more about the history of\n" - "such work at http://lwn.net/Articles/552769/\n" - "\n" - "Dave Chinner (18):\n" - " dcache: convert dentry_stat.nr_unused to per-cpu counters\n" - " dentry: move to per-sb LRU locks\n" - " dcache: remove dentries from LRU before putting on dispose list\n" - " mm: new shrinker API\n" - " shrinker: convert superblock shrinkers to new API\n" - " list: add a new LRU list type\n" - " inode: convert inode lru list to generic lru list code.\n" - " dcache: convert to use new lru list infrastructure\n" - " list_lru: per-node list infrastructure\n" - " shrinker: add node awareness\n" - " fs: convert inode and dentry shrinking to be node aware\n" - " xfs: convert buftarg LRU to generic code\n" - " xfs: rework buffer dispose list tracking\n" - " xfs: convert dquot cache lru to list_lru\n" - " fs: convert fs shrinkers to new scan/count API\n" - " drivers: convert shrinkers to new count/scan API\n" - " shrinker: convert remaining shrinkers to count/scan API\n" - " shrinker: Kill old ->shrink API.\n" - "\n" - "Glauber Costa (7):\n" - " fs: bump inode and dentry counters to long\n" - " super: fix calculation of shrinkable objects for small numbers\n" - " list_lru: per-node API\n" - " vmscan: per-node deferred work\n" - " i915: bail out earlier when shrinker cannot acquire mutex\n" - " hugepage: convert huge zero page shrinker to new shrinker API\n" - " list_lru: dynamically adjust node arrays\n" - "\n" - " arch/x86/kvm/mmu.c | 24 ++-\n" - " drivers/gpu/drm/i915/i915_dma.c | 4 +-\n" - " drivers/gpu/drm/i915/i915_gem.c | 71 +++++---\n" - " drivers/gpu/drm/ttm/ttm_page_alloc.c | 44 +++--\n" - " drivers/gpu/drm/ttm/ttm_page_alloc_dma.c | 51 ++++--\n" - " drivers/md/bcache/btree.c | 43 +++--\n" - " drivers/md/bcache/sysfs.c | 2 +-\n" - " drivers/md/dm-bufio.c | 61 ++++---\n" - " drivers/staging/android/ashmem.c | 44 +++--\n" - " drivers/staging/android/lowmemorykiller.c | 40 +++--\n" - " drivers/staging/zcache/zcache-main.c | 29 +--\n" - " fs/dcache.c | 270 +++++++++++++++++-----------\n" - " fs/drop_caches.c | 1 +\n" - " fs/ext4/extents_status.c | 30 ++--\n" - " fs/gfs2/glock.c | 30 ++--\n" - " fs/gfs2/main.c | 3 +-\n" - " fs/gfs2/quota.c | 16 +-\n" - " fs/gfs2/quota.h | 4 +-\n" - " fs/inode.c | 193 +++++++++-----------\n" - " fs/internal.h | 6 +-\n" - " fs/mbcache.c | 49 ++---\n" - " fs/nfs/dir.c | 16 +-\n" - " fs/nfs/internal.h | 4 +-\n" - " fs/nfs/super.c | 3 +-\n" - " fs/nfsd/nfscache.c | 31 +++-\n" - " fs/quota/dquot.c | 34 ++--\n" - " fs/super.c | 106 ++++++-----\n" - " fs/ubifs/shrinker.c | 22 ++-\n" - " fs/ubifs/super.c | 3 +-\n" - " fs/ubifs/ubifs.h | 3 +-\n" - " fs/xfs/xfs_buf.c | 253 +++++++++++++-------------\n" - " fs/xfs/xfs_buf.h | 17 +-\n" - " fs/xfs/xfs_dquot.c | 7 +-\n" - " fs/xfs/xfs_icache.c | 4 +-\n" - " fs/xfs/xfs_icache.h | 2 +-\n" - " fs/xfs/xfs_qm.c | 285 ++++++++++++++++--------------\n" - " fs/xfs/xfs_qm.h | 4 +-\n" - " fs/xfs/xfs_super.c | 12 +-\n" - " include/linux/dcache.h | 14 +-\n" - " include/linux/fs.h | 25 ++-\n" - " include/linux/list_lru.h | 148 ++++++++++++++++\n" - " include/linux/shrinker.h | 54 ++++--\n" - " include/trace/events/vmscan.h | 4 +-\n" - " include/uapi/linux/fs.h | 6 +-\n" - " kernel/sysctl.c | 6 +-\n" - " mm/Makefile | 2 +-\n" - " mm/huge_memory.c | 17 +-\n" - " mm/list_lru.c | 186 +++++++++++++++++++\n" - " mm/memory-failure.c | 2 +\n" - " mm/vmscan.c | 242 ++++++++++++++-----------\n" - " net/sunrpc/auth.c | 41 +++--\n" - " 51 files changed, 1620 insertions(+), 948 deletions(-)\n" - " create mode 100644 include/linux/list_lru.h\n" - " create mode 100644 mm/list_lru.c\n" - "\n" - "-- \n" - 1.8.1.4 -9fbb2da978cc177243c3f80f600a8e671f085e2ba4ae1559cd80bfc4e6cb4fec +92f820899e787d458e1f59cd4e5ac588d4f3151d620d4383d469db79620e9ead
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.