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

diff --git a/a/1.txt b/N1/1.txt
index 32b0c05..3c97840 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -11,75 +11,75 @@ On Sun, May 17, 2009 at 09:36:44AM +0800, Minchan Kim wrote:
 > > CC: Peter Zijlstra <peterz@infradead.org>
 > > Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
 > > ---
-> >  include/linux/rmap.h |    5 +++--
-> >  mm/rmap.c            |   37 ++++++++++++++++++++++++++-----------
-> >  mm/vmscan.c          |    7 +++++--
-> >  3 files changed, 34 insertions(+), 15 deletions(-)
+> > A include/linux/rmap.h | A  A 5 +++--
+> > A mm/rmap.c A  A  A  A  A  A | A  37 ++++++++++++++++++++++++++-----------
+> > A mm/vmscan.c A  A  A  A  A | A  A 7 +++++--
+> > A 3 files changed, 34 insertions(+), 15 deletions(-)
 > >
 > > --- linux.orig/include/linux/rmap.h
 > > +++ linux/include/linux/rmap.h
 > > @@ -83,7 +83,8 @@ static inline void page_dup_rmap(struct
-> >  /*
-> >  * Called from mm/vmscan.c to handle paging out
-> >  */
+> > A /*
+> > A * Called from mm/vmscan.c to handle paging out
+> > A */
 > > -int page_referenced(struct page *, int is_locked, struct mem_cgroup *cnt);
 > > +int page_referenced(struct page *, int is_locked,
-> > +                       struct mem_cgroup *cnt, unsigned long *vm_flags);
-> >  int try_to_unmap(struct page *, int ignore_refs);
+> > + A  A  A  A  A  A  A  A  A  A  A  struct mem_cgroup *cnt, unsigned long *vm_flags);
+> > A int try_to_unmap(struct page *, int ignore_refs);
 > >
-> >  /*
+> > A /*
 > > @@ -128,7 +129,7 @@ int page_wrprotect(struct page *page, in
-> >  #define anon_vma_prepare(vma)  (0)
-> >  #define anon_vma_link(vma)     do {} while (0)
+> > A #define anon_vma_prepare(vma) A (0)
+> > A #define anon_vma_link(vma) A  A  do {} while (0)
 > >
 > > -#define page_referenced(page,l,cnt) TestClearPageReferenced(page)
 > > +#define page_referenced(page, locked, cnt, flags) TestClearPageReferenced(page)
-> >  #define try_to_unmap(page, refs) SWAP_FAIL
+> > A #define try_to_unmap(page, refs) SWAP_FAIL
 > >
-> >  static inline int page_mkclean(struct page *page)
+> > A static inline int page_mkclean(struct page *page)
 > > --- linux.orig/mm/rmap.c
 > > +++ linux/mm/rmap.c
 > > @@ -333,7 +333,9 @@ static int page_mapped_in_vma(struct pag
-> >  * repeatedly from either page_referenced_anon or page_referenced_file.
-> >  */
-> >  static int page_referenced_one(struct page *page,
-> > -       struct vm_area_struct *vma, unsigned int *mapcount)
-> > +                              struct vm_area_struct *vma,
-> > +                              unsigned int *mapcount,
-> > +                              unsigned long *vm_flags)
-> >  {
-> >        struct mm_struct *mm = vma->vm_mm;
-> >        unsigned long address;
+> > A * repeatedly from either page_referenced_anon or page_referenced_file.
+> > A */
+> > A static int page_referenced_one(struct page *page,
+> > - A  A  A  struct vm_area_struct *vma, unsigned int *mapcount)
+> > + A  A  A  A  A  A  A  A  A  A  A  A  A  A  A struct vm_area_struct *vma,
+> > + A  A  A  A  A  A  A  A  A  A  A  A  A  A  A unsigned int *mapcount,
+> > + A  A  A  A  A  A  A  A  A  A  A  A  A  A  A unsigned long *vm_flags)
+> > A {
+> > A  A  A  A struct mm_struct *mm = vma->vm_mm;
+> > A  A  A  A unsigned long address;
 > > @@ -381,11 +383,14 @@ out_unmap:
-> >        (*mapcount)--;
-> >        pte_unmap_unlock(pte, ptl);
-> >  out:
-> > +       if (referenced)
-> > +               *vm_flags |= vma->vm_flags;
-> >        return referenced;
-> >  }
+> > A  A  A  A (*mapcount)--;
+> > A  A  A  A pte_unmap_unlock(pte, ptl);
+> > A out:
+> > + A  A  A  if (referenced)
+> > + A  A  A  A  A  A  A  *vm_flags |= vma->vm_flags;
+> > A  A  A  A return referenced;
+> > A }
 > >
-> >  static int page_referenced_anon(struct page *page,
-> > -                               struct mem_cgroup *mem_cont)
-> > +                               struct mem_cgroup *mem_cont,
-> > +                               unsigned long *vm_flags)
-> >  {
-> >        unsigned int mapcount;
-> >        struct anon_vma *anon_vma;
+> > A static int page_referenced_anon(struct page *page,
+> > - A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  struct mem_cgroup *mem_cont)
+> > + A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  struct mem_cgroup *mem_cont,
+> > + A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  unsigned long *vm_flags)
+> > A {
+> > A  A  A  A unsigned int mapcount;
+> > A  A  A  A struct anon_vma *anon_vma;
 > > @@ -405,7 +410,8 @@ static int page_referenced_anon(struct p
-> >                 */
-> >                if (mem_cont && !mm_match_cgroup(vma->vm_mm, mem_cont))
-> >                        continue;
-> > -               referenced += page_referenced_one(page, vma, &mapcount);
-> > +               referenced += page_referenced_one(page, vma,
-> > +                                                 &mapcount, vm_flags);
-> >                if (!mapcount)
-> >                        break;
-> >        }
+> > A  A  A  A  A  A  A  A  */
+> > A  A  A  A  A  A  A  A if (mem_cont && !mm_match_cgroup(vma->vm_mm, mem_cont))
+> > A  A  A  A  A  A  A  A  A  A  A  A continue;
+> > - A  A  A  A  A  A  A  referenced += page_referenced_one(page, vma, &mapcount);
+> > + A  A  A  A  A  A  A  referenced += page_referenced_one(page, vma,
+> > + A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  &mapcount, vm_flags);
+> > A  A  A  A  A  A  A  A if (!mapcount)
+> > A  A  A  A  A  A  A  A  A  A  A  A break;
+> > A  A  A  A }
 > > @@ -418,6 +424,7 @@ static int page_referenced_anon(struct p
-> >  * page_referenced_file - referenced check for object-based rmap
-> >  * @page: the page we're checking references on.
-> >  * @mem_cont: target memory controller
+> > A * page_referenced_file - referenced check for object-based rmap
+> > A * @page: the page we're checking references on.
+> > A * @mem_cont: target memory controller
 > > + * @vm_flags: collect encountered vma->vm_flags
 > 
 > I missed this.
@@ -93,3 +93,9 @@ Good catch! I'll resubmit the whole patchset :)
 
 Thanks,
 Fengguang
+
+--
+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 121980a..1d1392e 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -31,75 +31,75 @@
  "> > CC: Peter Zijlstra <peterz@infradead.org>\n"
  "> > Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>\n"
  "> > ---\n"
- "> > \302\240include/linux/rmap.h | \302\240 \302\2405 +++--\n"
- "> > \302\240mm/rmap.c \302\240 \302\240 \302\240 \302\240 \302\240 \302\240| \302\240 37 ++++++++++++++++++++++++++-----------\n"
- "> > \302\240mm/vmscan.c \302\240 \302\240 \302\240 \302\240 \302\240| \302\240 \302\2407 +++++--\n"
- "> > \302\2403 files changed, 34 insertions(+), 15 deletions(-)\n"
+ "> > A include/linux/rmap.h | A  A 5 +++--\n"
+ "> > A mm/rmap.c A  A  A  A  A  A | A  37 ++++++++++++++++++++++++++-----------\n"
+ "> > A mm/vmscan.c A  A  A  A  A | A  A 7 +++++--\n"
+ "> > A 3 files changed, 34 insertions(+), 15 deletions(-)\n"
  "> >\n"
  "> > --- linux.orig/include/linux/rmap.h\n"
  "> > +++ linux/include/linux/rmap.h\n"
  "> > @@ -83,7 +83,8 @@ static inline void page_dup_rmap(struct\n"
- "> > \302\240/*\n"
- "> > \302\240* Called from mm/vmscan.c to handle paging out\n"
- "> > \302\240*/\n"
+ "> > A /*\n"
+ "> > A * Called from mm/vmscan.c to handle paging out\n"
+ "> > A */\n"
  "> > -int page_referenced(struct page *, int is_locked, struct mem_cgroup *cnt);\n"
  "> > +int page_referenced(struct page *, int is_locked,\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 struct mem_cgroup *cnt, unsigned long *vm_flags);\n"
- "> > \302\240int try_to_unmap(struct page *, int ignore_refs);\n"
+ "> > + A  A  A  A  A  A  A  A  A  A  A  struct mem_cgroup *cnt, unsigned long *vm_flags);\n"
+ "> > A int try_to_unmap(struct page *, int ignore_refs);\n"
  "> >\n"
- "> > \302\240/*\n"
+ "> > A /*\n"
  "> > @@ -128,7 +129,7 @@ int page_wrprotect(struct page *page, in\n"
- "> > \302\240#define anon_vma_prepare(vma) \302\240(0)\n"
- "> > \302\240#define anon_vma_link(vma) \302\240 \302\240 do {} while (0)\n"
+ "> > A #define anon_vma_prepare(vma) A (0)\n"
+ "> > A #define anon_vma_link(vma) A  A  do {} while (0)\n"
  "> >\n"
  "> > -#define page_referenced(page,l,cnt) TestClearPageReferenced(page)\n"
  "> > +#define page_referenced(page, locked, cnt, flags) TestClearPageReferenced(page)\n"
- "> > \302\240#define try_to_unmap(page, refs) SWAP_FAIL\n"
+ "> > A #define try_to_unmap(page, refs) SWAP_FAIL\n"
  "> >\n"
- "> > \302\240static inline int page_mkclean(struct page *page)\n"
+ "> > A static inline int page_mkclean(struct page *page)\n"
  "> > --- linux.orig/mm/rmap.c\n"
  "> > +++ linux/mm/rmap.c\n"
  "> > @@ -333,7 +333,9 @@ static int page_mapped_in_vma(struct pag\n"
- "> > \302\240* repeatedly from either page_referenced_anon or page_referenced_file.\n"
- "> > \302\240*/\n"
- "> > \302\240static int page_referenced_one(struct page *page,\n"
- "> > - \302\240 \302\240 \302\240 struct vm_area_struct *vma, unsigned int *mapcount)\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240struct vm_area_struct *vma,\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240unsigned int *mapcount,\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240unsigned long *vm_flags)\n"
- "> > \302\240{\n"
- "> > \302\240 \302\240 \302\240 \302\240struct mm_struct *mm = vma->vm_mm;\n"
- "> > \302\240 \302\240 \302\240 \302\240unsigned long address;\n"
+ "> > A * repeatedly from either page_referenced_anon or page_referenced_file.\n"
+ "> > A */\n"
+ "> > A static int page_referenced_one(struct page *page,\n"
+ "> > - A  A  A  struct vm_area_struct *vma, unsigned int *mapcount)\n"
+ "> > + A  A  A  A  A  A  A  A  A  A  A  A  A  A  A struct vm_area_struct *vma,\n"
+ "> > + A  A  A  A  A  A  A  A  A  A  A  A  A  A  A unsigned int *mapcount,\n"
+ "> > + A  A  A  A  A  A  A  A  A  A  A  A  A  A  A unsigned long *vm_flags)\n"
+ "> > A {\n"
+ "> > A  A  A  A struct mm_struct *mm = vma->vm_mm;\n"
+ "> > A  A  A  A unsigned long address;\n"
  "> > @@ -381,11 +383,14 @@ out_unmap:\n"
- "> > \302\240 \302\240 \302\240 \302\240(*mapcount)--;\n"
- "> > \302\240 \302\240 \302\240 \302\240pte_unmap_unlock(pte, ptl);\n"
- "> > \302\240out:\n"
- "> > + \302\240 \302\240 \302\240 if (referenced)\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 *vm_flags |= vma->vm_flags;\n"
- "> > \302\240 \302\240 \302\240 \302\240return referenced;\n"
- "> > \302\240}\n"
+ "> > A  A  A  A (*mapcount)--;\n"
+ "> > A  A  A  A pte_unmap_unlock(pte, ptl);\n"
+ "> > A out:\n"
+ "> > + A  A  A  if (referenced)\n"
+ "> > + A  A  A  A  A  A  A  *vm_flags |= vma->vm_flags;\n"
+ "> > A  A  A  A return referenced;\n"
+ "> > A }\n"
  "> >\n"
- "> > \302\240static int page_referenced_anon(struct page *page,\n"
- "> > - \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 struct mem_cgroup *mem_cont)\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 struct mem_cgroup *mem_cont,\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 unsigned long *vm_flags)\n"
- "> > \302\240{\n"
- "> > \302\240 \302\240 \302\240 \302\240unsigned int mapcount;\n"
- "> > \302\240 \302\240 \302\240 \302\240struct anon_vma *anon_vma;\n"
+ "> > A static int page_referenced_anon(struct page *page,\n"
+ "> > - A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  struct mem_cgroup *mem_cont)\n"
+ "> > + A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  struct mem_cgroup *mem_cont,\n"
+ "> > + A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  unsigned long *vm_flags)\n"
+ "> > A {\n"
+ "> > A  A  A  A unsigned int mapcount;\n"
+ "> > A  A  A  A struct anon_vma *anon_vma;\n"
  "> > @@ -405,7 +410,8 @@ static int page_referenced_anon(struct p\n"
- "> > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 */\n"
- "> > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240if (mem_cont && !mm_match_cgroup(vma->vm_mm, mem_cont))\n"
- "> > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240continue;\n"
- "> > - \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 referenced += page_referenced_one(page, vma, &mapcount);\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 referenced += page_referenced_one(page, vma,\n"
- "> > + \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 &mapcount, vm_flags);\n"
- "> > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240if (!mapcount)\n"
- "> > \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240 \302\240break;\n"
- "> > \302\240 \302\240 \302\240 \302\240}\n"
+ "> > A  A  A  A  A  A  A  A  */\n"
+ "> > A  A  A  A  A  A  A  A if (mem_cont && !mm_match_cgroup(vma->vm_mm, mem_cont))\n"
+ "> > A  A  A  A  A  A  A  A  A  A  A  A continue;\n"
+ "> > - A  A  A  A  A  A  A  referenced += page_referenced_one(page, vma, &mapcount);\n"
+ "> > + A  A  A  A  A  A  A  referenced += page_referenced_one(page, vma,\n"
+ "> > + A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  A  &mapcount, vm_flags);\n"
+ "> > A  A  A  A  A  A  A  A if (!mapcount)\n"
+ "> > A  A  A  A  A  A  A  A  A  A  A  A break;\n"
+ "> > A  A  A  A }\n"
  "> > @@ -418,6 +424,7 @@ static int page_referenced_anon(struct p\n"
- "> > \302\240* page_referenced_file - referenced check for object-based rmap\n"
- "> > \302\240* @page: the page we're checking references on.\n"
- "> > \302\240* @mem_cont: target memory controller\n"
+ "> > A * page_referenced_file - referenced check for object-based rmap\n"
+ "> > A * @page: the page we're checking references on.\n"
+ "> > A * @mem_cont: target memory controller\n"
  "> > + * @vm_flags: collect encountered vma->vm_flags\n"
  "> \n"
  "> I missed this.\n"
@@ -112,6 +112,12 @@
  "  forgot it over night. I should really put some notepad around me. ]\n"
  "\n"
  "Thanks,\n"
- Fengguang
+ "Fengguang\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>"
 
-8f85db9f645056c1ed33884ccbf0686556d6e3520c66a14d132744df2b97b299
+ccece07f950aa1fb9f18c507ca9a279c51cc8a3f19a98fcc521b2982a5fa30b8

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.