All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20090628142239.GA20986@localhost>

diff --git a/a/1.txt b/N1/1.txt
index b136ea3..5dd2f13 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -6,35 +6,35 @@ On Sun, Jun 28, 2009 at 09:36:49PM +0800, Minchan Kim wrote:
 > >> On Sat, Jun 27, 2009 at 08:54:12PM +0800, Johannes Weiner wrote:
 > >>> On Sat, Jun 27, 2009 at 08:12:49AM +0100, David Howells wrote:
 > >>> >
-> >>> > I've managed to bisect things to find the commit that causes the OOMs.  It's:
+> >>> > I've managed to bisect things to find the commit that causes the OOMs. A It's:
 > >>> >
-> >>> >     commit 69c854817566db82c362797b4a6521d0b00fe1d8
-> >>> >     Author: MinChan Kim <minchan.kim@gmail.com>
-> >>> >     Date:   Tue Jun 16 15:32:44 2009 -0700
+> >>> > A  A  commit 69c854817566db82c362797b4a6521d0b00fe1d8
+> >>> > A  A  Author: MinChan Kim <minchan.kim@gmail.com>
+> >>> > A  A  Date: A  Tue Jun 16 15:32:44 2009 -0700
 > >>> >
-> >>> >         vmscan: prevent shrinking of active anon lru list in case of no swap space V3
+> >>> > A  A  A  A  vmscan: prevent shrinking of active anon lru list in case of no swap space V3
 > >>> >
-> >>> >         shrink_zone() can deactivate active anon pages even if we don't have a
-> >>> >         swap device.  Many embedded products don't have a swap device.  So the
-> >>> >         deactivation of anon pages is unnecessary.
+> >>> > A  A  A  A  shrink_zone() can deactivate active anon pages even if we don't have a
+> >>> > A  A  A  A  swap device. A Many embedded products don't have a swap device. A So the
+> >>> > A  A  A  A  deactivation of anon pages is unnecessary.
 > >>> >
-> >>> >         This patch prevents unnecessary deactivation of anon lru pages.  But, it
-> >>> >         don't prevent aging of anon pages to swap out.
+> >>> > A  A  A  A  This patch prevents unnecessary deactivation of anon lru pages. A But, it
+> >>> > A  A  A  A  don't prevent aging of anon pages to swap out.
 > >>> >
-> >>> >         Signed-off-by: Minchan Kim <minchan.kim@gmail.com>
-> >>> >         Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
-> >>> >         Cc: Johannes Weiner <hannes@cmpxchg.org>
-> >>> >         Acked-by: Rik van Riel <riel@redhat.com>
-> >>> >         Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-> >>> >         Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+> >>> > A  A  A  A  Signed-off-by: Minchan Kim <minchan.kim@gmail.com>
+> >>> > A  A  A  A  Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
+> >>> > A  A  A  A  Cc: Johannes Weiner <hannes@cmpxchg.org>
+> >>> > A  A  A  A  Acked-by: Rik van Riel <riel@redhat.com>
+> >>> > A  A  A  A  Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+> >>> > A  A  A  A  Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
 > >>> >
-> >>> > This exhibits the problem.  The previous commit:
+> >>> > This exhibits the problem. A The previous commit:
 > >>> >
-> >>> >     commit 35282a2de4e5e4e173ab61aa9d7015886021a821
-> >>> >     Author: Brice Goglin <Brice.Goglin@ens-lyon.org>
-> >>> >     Date:   Tue Jun 16 15:32:43 2009 -0700
+> >>> > A  A  commit 35282a2de4e5e4e173ab61aa9d7015886021a821
+> >>> > A  A  Author: Brice Goglin <Brice.Goglin@ens-lyon.org>
+> >>> > A  A  Date: A  Tue Jun 16 15:32:43 2009 -0700
 > >>> >
-> >>> >         migration: only migrate_prep() once per move_pages()
+> >>> > A  A  A  A  migration: only migrate_prep() once per move_pages()
 > >>> >
 > >>> > survives 16 iterations of the LTP syscall testsuite without exhibiting the
 > >>> > problem.
@@ -46,14 +46,14 @@ On Sun, Jun 28, 2009 at 09:36:49PM +0800, Minchan Kim wrote:
 > >>> --- a/mm/vmscan.c
 > >>> +++ b/mm/vmscan.c
 > >>> @@ -1570,7 +1570,7 @@ static void shrink_zone(int priority, struct zone *zone,
-> >>>        * Even if we did not try to evict anon pages at all, we want to
-> >>>        * rebalance the anon lru active/inactive ratio.
-> >>>        */
-> >>> -     if (inactive_anon_is_low(zone, sc))
-> >>> +     if (inactive_anon_is_low(zone, sc) && nr_swap_pages > 0)
-> >>>               shrink_active_list(SWAP_CLUSTER_MAX, zone, sc, priority, 0);
+> >>> A  A  A  A * Even if we did not try to evict anon pages at all, we want to
+> >>> A  A  A  A * rebalance the anon lru active/inactive ratio.
+> >>> A  A  A  A */
+> >>> - A  A  if (inactive_anon_is_low(zone, sc))
+> >>> + A  A  if (inactive_anon_is_low(zone, sc) && nr_swap_pages > 0)
+> >>> A  A  A  A  A  A  A  shrink_active_list(SWAP_CLUSTER_MAX, zone, sc, priority, 0);
 > >>>
-> >>>       throttle_vm_writeout(sc->gfp_mask);
+> >>> A  A  A  throttle_vm_writeout(sc->gfp_mask);
 > >>>
 > >>> When this was discussed, I think we missed that nr_swap_pages can
 > >>> actually get zero on swap systems as well and this should have been
@@ -64,8 +64,8 @@ On Sun, Jun 28, 2009 at 09:36:49PM +0800, Minchan Kim wrote:
 > >> total_swap_pages is the better choice in this situation.
 > >>
 > >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426766] Active_anon:290797 active_file:28 inactive_anon:97034
-> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426767]  inactive_file:61 unevictable:11322 dirty:0 writeback:0 unstable:0
-> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426768]  free:3341 slab:13776 mapped:5880 pagetables:6851 bounce:0
+> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426767] A inactive_file:61 unevictable:11322 dirty:0 writeback:0 unstable:0
+> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426768] A free:3341 slab:13776 mapped:5880 pagetables:6851 bounce:0
 > >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426772] DMA free:7776kB min:40kB low:48kB high:60kB active_anon:556kB inactive_anon:524kB
 > >> +active_file:16kB inactive_file:0kB unevictable:0kB present:15340kB pages_scanned:30 all_unreclaimable? no
 > >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426775] lowmem_reserve[]: 0 1935 1935 1935
@@ -80,7 +80,7 @@ On Sun, Jun 28, 2009 at 09:36:49PM +0800, Minchan Kim wrote:
 > >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426804] 151250 total pagecache pages
 > >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426806] 18973 pages in swap cache
 > >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426808] Swap cache stats: add 610640, delete 591667, find 144356/181468
-> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426810] Free swap  = 0kB
+> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426810] Free swap A = 0kB
 > >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426811] Total swap = 979956kB
 > >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.434828] 507136 pages RAM
 > >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.434831] 23325 pages reserved
@@ -90,9 +90,9 @@ On Sun, Jun 28, 2009 at 09:36:49PM +0800, Minchan Kim wrote:
 > >>
 > >> In David's OOM case, there are two symptoms:
 > >> 1) 70000 unaccounted/leaked pages as found by Andrew
-> >>   (plus rather big number of PG_buddy and pagetable pages)
+> >> A  (plus rather big number of PG_buddy and pagetable pages)
 > >> 2) almost zero active_file/inactive_file; small inactive_anon;
-> >>   many slab and active_anon pages.
+> >> A  many slab and active_anon pages.
 > >>
 > >> In the situation of (2), the slab cache is _under_ scanned. So David
 > >> got OOM when vmscan should have squeezed some free pages from the slab
@@ -182,3 +182,9 @@ index 026f452..4281c6f 100644
  }
  
  #ifdef CONFIG_HIBERNATION
+
+--
+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>
diff --git a/a/content_digest b/N1/content_digest
index 528c470..4679dba 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -36,35 +36,35 @@
  "> >> On Sat, Jun 27, 2009 at 08:54:12PM +0800, Johannes Weiner wrote:\n"
  "> >>> On Sat, Jun 27, 2009 at 08:12:49AM +0100, David Howells wrote:\n"
  "> >>> >\n"
- "> >>> > I've managed to bisect things to find the commit that causes the OOMs. \302\240It's:\n"
+ "> >>> > I've managed to bisect things to find the commit that causes the OOMs. A It's:\n"
  "> >>> >\n"
- "> >>> > \302\240 \302\240 commit 69c854817566db82c362797b4a6521d0b00fe1d8\n"
- "> >>> > \302\240 \302\240 Author: MinChan Kim <minchan.kim@gmail.com>\n"
- "> >>> > \302\240 \302\240 Date: \302\240 Tue Jun 16 15:32:44 2009 -0700\n"
+ "> >>> > A  A  commit 69c854817566db82c362797b4a6521d0b00fe1d8\n"
+ "> >>> > A  A  Author: MinChan Kim <minchan.kim@gmail.com>\n"
+ "> >>> > A  A  Date: A  Tue Jun 16 15:32:44 2009 -0700\n"
  "> >>> >\n"
- "> >>> > \302\240 \302\240 \302\240 \302\240 vmscan: prevent shrinking of active anon lru list in case of no swap space V3\n"
+ "> >>> > A  A  A  A  vmscan: prevent shrinking of active anon lru list in case of no swap space V3\n"
  "> >>> >\n"
- "> >>> > \302\240 \302\240 \302\240 \302\240 shrink_zone() can deactivate active anon pages even if we don't have a\n"
- "> >>> > \302\240 \302\240 \302\240 \302\240 swap device. \302\240Many embedded products don't have a swap device. \302\240So the\n"
- "> >>> > \302\240 \302\240 \302\240 \302\240 deactivation of anon pages is unnecessary.\n"
+ "> >>> > A  A  A  A  shrink_zone() can deactivate active anon pages even if we don't have a\n"
+ "> >>> > A  A  A  A  swap device. A Many embedded products don't have a swap device. A So the\n"
+ "> >>> > A  A  A  A  deactivation of anon pages is unnecessary.\n"
  "> >>> >\n"
- "> >>> > \302\240 \302\240 \302\240 \302\240 This patch prevents unnecessary deactivation of anon lru pages. \302\240But, it\n"
- "> >>> > \302\240 \302\240 \302\240 \302\240 don't prevent aging of anon pages to swap out.\n"
+ "> >>> > A  A  A  A  This patch prevents unnecessary deactivation of anon lru pages. A But, it\n"
+ "> >>> > A  A  A  A  don't prevent aging of anon pages to swap out.\n"
  "> >>> >\n"
- "> >>> > \302\240 \302\240 \302\240 \302\240 Signed-off-by: Minchan Kim <minchan.kim@gmail.com>\n"
- "> >>> > \302\240 \302\240 \302\240 \302\240 Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>\n"
- "> >>> > \302\240 \302\240 \302\240 \302\240 Cc: Johannes Weiner <hannes@cmpxchg.org>\n"
- "> >>> > \302\240 \302\240 \302\240 \302\240 Acked-by: Rik van Riel <riel@redhat.com>\n"
- "> >>> > \302\240 \302\240 \302\240 \302\240 Signed-off-by: Andrew Morton <akpm@linux-foundation.org>\n"
- "> >>> > \302\240 \302\240 \302\240 \302\240 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>\n"
+ "> >>> > A  A  A  A  Signed-off-by: Minchan Kim <minchan.kim@gmail.com>\n"
+ "> >>> > A  A  A  A  Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>\n"
+ "> >>> > A  A  A  A  Cc: Johannes Weiner <hannes@cmpxchg.org>\n"
+ "> >>> > A  A  A  A  Acked-by: Rik van Riel <riel@redhat.com>\n"
+ "> >>> > A  A  A  A  Signed-off-by: Andrew Morton <akpm@linux-foundation.org>\n"
+ "> >>> > A  A  A  A  Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>\n"
  "> >>> >\n"
- "> >>> > This exhibits the problem. \302\240The previous commit:\n"
+ "> >>> > This exhibits the problem. A The previous commit:\n"
  "> >>> >\n"
- "> >>> > \302\240 \302\240 commit 35282a2de4e5e4e173ab61aa9d7015886021a821\n"
- "> >>> > \302\240 \302\240 Author: Brice Goglin <Brice.Goglin@ens-lyon.org>\n"
- "> >>> > \302\240 \302\240 Date: \302\240 Tue Jun 16 15:32:43 2009 -0700\n"
+ "> >>> > A  A  commit 35282a2de4e5e4e173ab61aa9d7015886021a821\n"
+ "> >>> > A  A  Author: Brice Goglin <Brice.Goglin@ens-lyon.org>\n"
+ "> >>> > A  A  Date: A  Tue Jun 16 15:32:43 2009 -0700\n"
  "> >>> >\n"
- "> >>> > \302\240 \302\240 \302\240 \302\240 migration: only migrate_prep() once per move_pages()\n"
+ "> >>> > A  A  A  A  migration: only migrate_prep() once per move_pages()\n"
  "> >>> >\n"
  "> >>> > survives 16 iterations of the LTP syscall testsuite without exhibiting the\n"
  "> >>> > problem.\n"
@@ -76,14 +76,14 @@
  "> >>> --- a/mm/vmscan.c\n"
  "> >>> +++ b/mm/vmscan.c\n"
  "> >>> @@ -1570,7 +1570,7 @@ static void shrink_zone(int priority, struct zone *zone,\n"
- "> >>> \302\240 \302\240 \302\240 \302\240* Even if we did not try to evict anon pages at all, we want to\n"
- "> >>> \302\240 \302\240 \302\240 \302\240* rebalance the anon lru active/inactive ratio.\n"
- "> >>> \302\240 \302\240 \302\240 \302\240*/\n"
- "> >>> - \302\240 \302\240 if (inactive_anon_is_low(zone, sc))\n"
- "> >>> + \302\240 \302\240 if (inactive_anon_is_low(zone, sc) && nr_swap_pages > 0)\n"
- "> >>> \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 shrink_active_list(SWAP_CLUSTER_MAX, zone, sc, priority, 0);\n"
+ "> >>> A  A  A  A * Even if we did not try to evict anon pages at all, we want to\n"
+ "> >>> A  A  A  A * rebalance the anon lru active/inactive ratio.\n"
+ "> >>> A  A  A  A */\n"
+ "> >>> - A  A  if (inactive_anon_is_low(zone, sc))\n"
+ "> >>> + A  A  if (inactive_anon_is_low(zone, sc) && nr_swap_pages > 0)\n"
+ "> >>> A  A  A  A  A  A  A  shrink_active_list(SWAP_CLUSTER_MAX, zone, sc, priority, 0);\n"
  "> >>>\n"
- "> >>> \302\240 \302\240 \302\240 throttle_vm_writeout(sc->gfp_mask);\n"
+ "> >>> A  A  A  throttle_vm_writeout(sc->gfp_mask);\n"
  "> >>>\n"
  "> >>> When this was discussed, I think we missed that nr_swap_pages can\n"
  "> >>> actually get zero on swap systems as well and this should have been\n"
@@ -94,8 +94,8 @@
  "> >> total_swap_pages is the better choice in this situation.\n"
  "> >>\n"
  "> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426766] Active_anon:290797 active_file:28 inactive_anon:97034\n"
- "> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426767] \302\240inactive_file:61 unevictable:11322 dirty:0 writeback:0 unstable:0\n"
- "> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426768] \302\240free:3341 slab:13776 mapped:5880 pagetables:6851 bounce:0\n"
+ "> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426767] A inactive_file:61 unevictable:11322 dirty:0 writeback:0 unstable:0\n"
+ "> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426768] A free:3341 slab:13776 mapped:5880 pagetables:6851 bounce:0\n"
  "> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426772] DMA free:7776kB min:40kB low:48kB high:60kB active_anon:556kB inactive_anon:524kB\n"
  "> >> +active_file:16kB inactive_file:0kB unevictable:0kB present:15340kB pages_scanned:30 all_unreclaimable? no\n"
  "> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426775] lowmem_reserve[]: 0 1935 1935 1935\n"
@@ -110,7 +110,7 @@
  "> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426804] 151250 total pagecache pages\n"
  "> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426806] 18973 pages in swap cache\n"
  "> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426808] Swap cache stats: add 610640, delete 591667, find 144356/181468\n"
- "> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426810] Free swap \302\240= 0kB\n"
+ "> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426810] Free swap A = 0kB\n"
  "> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.426811] Total swap = 979956kB\n"
  "> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.434828] 507136 pages RAM\n"
  "> >> Jun 18 07:44:53 jbarnes-g45 kernel: [64377.434831] 23325 pages reserved\n"
@@ -120,9 +120,9 @@
  "> >>\n"
  "> >> In David's OOM case, there are two symptoms:\n"
  "> >> 1) 70000 unaccounted/leaked pages as found by Andrew\n"
- "> >> \302\240 (plus rather big number of PG_buddy and pagetable pages)\n"
+ "> >> A  (plus rather big number of PG_buddy and pagetable pages)\n"
  "> >> 2) almost zero active_file/inactive_file; small inactive_anon;\n"
- "> >> \302\240 many slab and active_anon pages.\n"
+ "> >> A  many slab and active_anon pages.\n"
  "> >>\n"
  "> >> In the situation of (2), the slab cache is _under_ scanned. So David\n"
  "> >> got OOM when vmscan should have squeezed some free pages from the slab\n"
@@ -211,6 +211,12 @@
  "+\treturn nr;\n"
  " }\n"
  " \n"
-  #ifdef CONFIG_HIBERNATION
+ " #ifdef CONFIG_HIBERNATION\n"
+ "\n"
+ "--\n"
+ "To unsubscribe, send a message with 'unsubscribe linux-mm' in\n"
+ "the body to majordomo@kvack.org.  For more info on Linux MM,\n"
+ "see: http://www.linux-mm.org/ .\n"
+ "Don't email: <a href=mailto:\"dont@kvack.org\"> email@kvack.org </a>"
 
-2260adc30f299e0e02d9c4e259edacc471b9f53fb8e0ac78ed8a7633c520faf0
+c29697351e6cfa61cebd560c8673f41a0ce929e8266120ee22c3f2fa4e44204e

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.