+ mm-proportional-memorylowmin-reclaim-checkpatch-fixes.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled
     Subject: mm-proportional-memorylowmin-reclaim-checkpatch-fixes
has been added to the -mm tree.  Its filename is
     mm-proportional-memorylowmin-reclaim-checkpatch-fixes.patch

This patch should soon appear at
    http://ozlabs.org/~akpm/mmots/broken-out/mm-proportional-memorylowmin-reclaim-checkpatch-fixes.patch
and later at
    http://ozlabs.org/~akpm/mmotm/broken-out/mm-proportional-memorylowmin-reclaim-checkpatch-fixes.patch

Before you just go and hit "reply", please:
   a) Consider who else should be cc'ed
   b) Prefer to cc a suitable mailing list as well
   c) Ideally: find the original patch on the mailing list and do a
      reply-to-all to that, adding suitable additional cc's

*** Remember to use Documentation/process/submit-checklist.rst when testing your code ***

The -mm tree is included into linux-next and is updated
there every 3-4 working days

------------------------------------------------------
From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Subject: mm-proportional-memorylowmin-reclaim-checkpatch-fixes

reflow block comments to fit in 80 cols

Cc: Chris Down <chris@xxxxxxxxxxxxxx>
Cc: Dennis Zhou <dennis@xxxxxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: Michal Hocko <mhocko@xxxxxxxxxx>
Cc: Roman Gushchin <guro@xxxxxx>
Cc: Tejun Heo <tj@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

 mm/vmscan.c |   62 +++++++++++++++++++++++++++-----------------------
 1 file changed, 34 insertions(+), 28 deletions(-)

--- a/mm/vmscan.c~mm-proportional-memorylowmin-reclaim-checkpatch-fixes
+++ a/mm/vmscan.c
@@ -2463,32 +2463,36 @@ out:
 
 		if (protection > 0) {
 			/*
-			 * Scale a cgroup's reclaim pressure by proportioning its current
-			 * usage to its memory.low or memory.min setting.
+			 * Scale a cgroup's reclaim pressure by proportioning
+			 * its current usage to its memory.low or memory.min
+			 * setting.
 			 *
-			 * This is important, as otherwise scanning aggression becomes
-			 * extremely binary -- from nothing as we approach the memory
-			 * protection threshold, to totally nominal as we exceed it. This
-			 * results in requiring setting extremely liberal protection
-			 * thresholds. It also means we simply get no protection at all if
-			 * we set it too low, which is not ideal.
+			 * This is important, as otherwise scanning aggression
+			 * becomes extremely binary -- from nothing as we
+			 * approach the memory protection threshold, to totally
+			 * nominal as we exceed it.  This results in requiring
+			 * setting extremely liberal protection thresholds. It
+			 * also means we simply get no protection at all if we
+			 * set it too low, which is not ideal.
 			 */
 			unsigned long cgroup_size = mem_cgroup_size(memcg);
 			unsigned long baseline = 0;
 
 			/*
-			 * During the reclaim first pass, we only consider cgroups in
-			 * excess of their protection setting, but if that doesn't produce
-			 * free pages, we come back for a second pass where we reclaim from
-			 * all groups.
+			 * During the reclaim first pass, we only consider
+			 * cgroups in excess of their protection setting, but if
+			 * that doesn't produce free pages, we come back for a
+			 * second pass where we reclaim from all groups.
 			 *
-			 * To maintain fairness in both cases, the first pass targets
-			 * groups in proportion to their overage, and the second pass
-			 * targets groups in proportion to their protection utilization.
+			 * To maintain fairness in both cases, the first pass
+			 * targets groups in proportion to their overage, and
+			 * the second pass targets groups in proportion to their
+			 * protection utilization.
 			 *
-			 * So on the first pass, a group whose size is 130% of its
-			 * protection will be targeted at 30% of its size. On the second
-			 * pass, a group whose size is at 40% of its protection will be
+			 * So on the first pass, a group whose size is 130% of
+			 * its protection will be targeted at 30% of its size.
+			 * On the second pass, a group whose size is at 40% of
+			 * its protection will be
 			 * targeted at 40% of its size.
 			 */
 			if (!sc->memcg_low_reclaim)
@@ -2496,18 +2500,20 @@ out:
 			scan = lruvec_size * cgroup_size / protection - baseline;
 
 			/*
-			 * Don't allow the scan target to exceed the lruvec size, which
-			 * otherwise could happen if we have >200% overage in the normal
-			 * case, or >100% overage when sc->memcg_low_reclaim is set.
+			 * Don't allow the scan target to exceed the lruvec
+			 * size, which otherwise could happen if we have >200%
+			 * overage in the normal case, or >100% overage when
+			 * sc->memcg_low_reclaim is set.
 			 *
-			 * This is important because other cgroups without memory.low have
-			 * their scan target initially set to their lruvec size, so
-			 * allowing values >100% of the lruvec size here could result in
-			 * penalising cgroups with memory.low set even *more* than their
-			 * peers in some cases in the case of large overages.
+			 * This is important because other cgroups without
+			 * memory.low have their scan target initially set to
+			 * their lruvec size, so allowing values >100% of the
+			 * lruvec size here could result in penalising cgroups
+			 * with memory.low set even *more* than their peers in
+			 * some cases in the case of large overages.
 			 *
-			 * Also, minimally target SWAP_CLUSTER_MAX pages to keep reclaim
-			 * moving forwards.
+			 * Also, minimally target SWAP_CLUSTER_MAX pages to keep
+			 * reclaim moving forwards.
 			 */
 			scan = clamp(scan, SWAP_CLUSTER_MAX, lruvec_size);
 		} else {
_

Patches currently in -mm which might be from akpm@xxxxxxxxxxxxxxxxxxxx are

proc-fix-proc-net-after-setns2-checkpatch-fixes.patch
proc-fix-proc-net-after-setns2-checkpatch-fixes-fix.patch
ocfs2-clear-zero-in-unaligned-direct-io-checkpatch-fixes.patch
mm.patch
mm-slub-introduce-slab_warn_on_error-fix.patch
memory_hotplug-free-pages-as-higher-order-fix.patch
memory_hotplug-free-pages-as-higher-order-fix-fix.patch
mm-convert-pg_balloon-to-pg_offline-fix.patch
mm-reuse-only-pte-mapped-ksm-page-in-do_wp_page-fix.patch
mm-swap-check-if-swap-backing-device-is-congested-or-not-fix.patch
mmslabvmscan-accumulate-gradual-pressure-on-small-slabs-fix.patch
mm-proportional-memorylowmin-reclaim-checkpatch-fixes.patch
mm-mmu_notifier-contextual-information-for-event-triggering-invalidation-v2-fix-fix.patch
filemap-kill-page_cache_read-usage-in-filemap_fault-fix.patch
filemap-drop-the-mmap_sem-for-all-blocking-operations-checkpatch-fixes.patch
ipc-allow-boot-time-extension-of-ipcmni-from-32k-to-8m-checkpatch-fixes.patch
linux-next-rejects.patch
linux-next-git-rejects.patch
scripts-atomic-check-atomicssh-dont-assume-that-scripts-are-executable.patch
kernel-forkc-export-kernel_thread-to-modules.patch
slab-leaks3-default-y.patch




[Index of Archives]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux