Linux-RISC-V Archive on lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <20181012165012.GD223066@joelaf.mtv.corp.google.com>

diff --git a/a/1.txt b/N1/1.txt
index 0d24ba6..5380f76 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -36,19 +36,19 @@ On Fri, Oct 12, 2018 at 05:42:24PM +0100, Anton Ivanov wrote:
 > > > > > doing so is not much compared the improvement, on both
 > > > > > x86-64 and arm64.
 > > > > > 
-> > > > > Cc: minchan at kernel.org
-> > > > > Cc: pantin at google.com
-> > > > > Cc: hughd at google.com
-> > > > > Cc: lokeshgidra at google.com
-> > > > > Cc: dancol at google.com
-> > > > > Cc: mhocko at kernel.org
-> > > > > Cc: kirill at shutemov.name
-> > > > > Cc: akpm at linux-foundation.org
+> > > > > Cc: minchan@kernel.org
+> > > > > Cc: pantin@google.com
+> > > > > Cc: hughd@google.com
+> > > > > Cc: lokeshgidra@google.com
+> > > > > Cc: dancol@google.com
+> > > > > Cc: mhocko@kernel.org
+> > > > > Cc: kirill@shutemov.name
+> > > > > Cc: akpm@linux-foundation.org
 > > > > > Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
 > > > > > ---
-> > > > > ?? mm/mremap.c | 62
+> > > > >    mm/mremap.c | 62
 > > > > > +++++++++++++++++++++++++++++++++++++++++++++++++++++
-> > > > > ?? 1 file changed, 62 insertions(+)
+> > > > >    1 file changed, 62 insertions(+)
 > > > > > 
 > > > > > diff --git a/mm/mremap.c b/mm/mremap.c
 > > > > > index 9e68a02a52b1..d82c485822ef 100644
@@ -56,47 +56,47 @@ On Fri, Oct 12, 2018 at 05:42:24PM +0100, Anton Ivanov wrote:
 > > > > > +++ b/mm/mremap.c
 > > > > > @@ -191,6 +191,54 @@ static void move_ptes(struct
 > > > > > vm_area_struct *vma, pmd_t *old_pmd,
-> > > > > ?????????? drop_rmap_locks(vma);
-> > > > > ?? }
+> > > > >            drop_rmap_locks(vma);
+> > > > >    }
 > > > > > +static bool move_normal_pmd(struct vm_area_struct *vma,
 > > > > > unsigned long old_addr,
-> > > > > +????????? unsigned long new_addr, unsigned long old_end,
-> > > > > +????????? pmd_t *old_pmd, pmd_t *new_pmd, bool *need_flush)
+> > > > > +          unsigned long new_addr, unsigned long old_end,
+> > > > > +          pmd_t *old_pmd, pmd_t *new_pmd, bool *need_flush)
 > > > > > +{
-> > > > > +??? spinlock_t *old_ptl, *new_ptl;
-> > > > > +??? struct mm_struct *mm = vma->vm_mm;
+> > > > > +    spinlock_t *old_ptl, *new_ptl;
+> > > > > +    struct mm_struct *mm = vma->vm_mm;
 > > > > > +
-> > > > > +??? if ((old_addr & ~PMD_MASK) || (new_addr & ~PMD_MASK)
-> > > > > +??????? || old_end - old_addr < PMD_SIZE)
-> > > > > +??????? return false;
+> > > > > +    if ((old_addr & ~PMD_MASK) || (new_addr & ~PMD_MASK)
+> > > > > +        || old_end - old_addr < PMD_SIZE)
+> > > > > +        return false;
 > > > > > +
-> > > > > +??? /*
-> > > > > +???? * The destination pmd shouldn't be established, free_pgtables()
-> > > > > +???? * should have release it.
-> > > > > +???? */
-> > > > > +??? if (WARN_ON(!pmd_none(*new_pmd)))
-> > > > > +??????? return false;
+> > > > > +    /*
+> > > > > +     * The destination pmd shouldn't be established, free_pgtables()
+> > > > > +     * should have release it.
+> > > > > +     */
+> > > > > +    if (WARN_ON(!pmd_none(*new_pmd)))
+> > > > > +        return false;
 > > > > > +
-> > > > > +??? /*
-> > > > > +???? * We don't have to worry about the ordering of src and dst
-> > > > > +???? * ptlocks because exclusive mmap_sem prevents deadlock.
-> > > > > +???? */
-> > > > > +??? old_ptl = pmd_lock(vma->vm_mm, old_pmd);
-> > > > > +??? if (old_ptl) {
-> > > > > +??????? pmd_t pmd;
+> > > > > +    /*
+> > > > > +     * We don't have to worry about the ordering of src and dst
+> > > > > +     * ptlocks because exclusive mmap_sem prevents deadlock.
+> > > > > +     */
+> > > > > +    old_ptl = pmd_lock(vma->vm_mm, old_pmd);
+> > > > > +    if (old_ptl) {
+> > > > > +        pmd_t pmd;
 > > > > > +
-> > > > > +??????? new_ptl = pmd_lockptr(mm, new_pmd);
-> > > > > +??????? if (new_ptl != old_ptl)
-> > > > > +??????????? spin_lock_nested(new_ptl, SINGLE_DEPTH_NESTING);
+> > > > > +        new_ptl = pmd_lockptr(mm, new_pmd);
+> > > > > +        if (new_ptl != old_ptl)
+> > > > > +            spin_lock_nested(new_ptl, SINGLE_DEPTH_NESTING);
 > > > > > +
-> > > > > +??????? /* Clear the pmd */
-> > > > > +??????? pmd = *old_pmd;
-> > > > > +??????? pmd_clear(old_pmd);
+> > > > > +        /* Clear the pmd */
+> > > > > +        pmd = *old_pmd;
+> > > > > +        pmd_clear(old_pmd);
 > > > > > +
-> > > > > +??????? VM_BUG_ON(!pmd_none(*new_pmd));
+> > > > > +        VM_BUG_ON(!pmd_none(*new_pmd));
 > > > > > +
-> > > > > +??????? /* Set the new pmd */
-> > > > > +??????? set_pmd_at(mm, new_addr, new_pmd, pmd);
+> > > > > +        /* Set the new pmd */
+> > > > > +        set_pmd_at(mm, new_addr, new_pmd, pmd);
 > > > > UML does not have set_pmd_at at all
 > > > Every architecture does. :)
 > > 
@@ -205,3 +205,9 @@ into a separate patch for my series with you as author.
 thanks,
 
 - Joel
+
+
+_______________________________________________
+linux-riscv mailing list
+linux-riscv@lists.infradead.org
+http://lists.infradead.org/mailman/listinfo/linux-riscv
diff --git a/a/content_digest b/N1/content_digest
index ef51aa1..936f866 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -4,10 +4,70 @@
  "ref\020181012143728.t42uvr6etg7gp7fh@kshutemo-mobl1\0"
  "ref\04dd52e22-5b51-9b30-7178-fde603a08f88@kot-begemot.co.uk\0"
  "ref\097cb3fe1-7bc1-12ff-d602-56c72a5496c5@kot-begemot.co.uk\0"
- "From\0joel@joelfernandes.org (Joel Fernandes)\0"
- "Subject\0[PATCH v2 2/2] mm: speed up mremap by 500x on large regions\0"
+ "From\0Joel Fernandes <joel@joelfernandes.org>\0"
+ "Subject\0Re: [PATCH v2 2/2] mm: speed up mremap by 500x on large regions\0"
  "Date\0Fri, 12 Oct 2018 09:50:12 -0700\0"
- "To\0linux-riscv@lists.infradead.org\0"
+ "To\0Anton Ivanov <anton.ivanov@kot-begemot.co.uk>\0"
+ "Cc\0linux-mips@linux-mips.org"
+  Rich Felker <dalias@libc.org>
+  linux-ia64@vger.kernel.org
+  linux-sh@vger.kernel.org
+  Peter Zijlstra <peterz@infradead.org>
+  Catalin Marinas <catalin.marinas@arm.com>
+  Dave Hansen <dave.hansen@linux.intel.com>
+  Will Deacon <will.deacon@arm.com>
+  mhocko@kernel.org
+  linux-mm@kvack.org
+  lokeshgidra@google.com
+  sparclinux@vger.kernel.org
+  linux-riscv@lists.infradead.org
+  elfring@users.sourceforge.net
+  Jonas Bonn <jonas@southpole.se>
+  linux-s390@vger.kernel.org
+  dancol@google.com
+  Yoshinori Sato <ysato@users.sourceforge.jp>
+  Max Filippov <jcmvbkbc@gmail.com>
+  linux-hexagon@vger.kernel.org
+  Helge Deller <deller@gmx.de>
+  maintainer:X86 ARCHITECTURE 32-BIT AND 64-BIT <x86@kernel.org>
+  hughd@google.com
+  James E.J. Bottomley <jejb@parisc-linux.org>
+  kasan-dev@googlegroups.com
+  kvmarm@lists.cs.columbia.edu
+  Ingo Molnar <mingo@redhat.com>
+  Geert Uytterhoeven <geert@linux-m68k.org>
+  Andrey Ryabinin <aryabinin@virtuozzo.com>
+  linux-snps-arc@lists.infradead.org
+  kernel-team@android.com
+  Sam Creasey <sammy@sammy.net>
+  linux-xtensa@linux-xtensa.org
+  Jeff Dike <jdike@addtoit.com>
+  linux-alpha@vger.kernel.org
+  linux-um@lists.infradead.org
+  Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
+  Julia Lawall <Julia.Lawall@lip6.fr>
+  linux-m68k@lists.linux-m68k.org
+  openrisc@lists.librecores.org
+  Borislav Petkov <bp@alien8.de>
+  Andy Lutomirski <luto@kernel.org>
+  Ley Foon Tan <lftan@altera.com>
+  Kirill A. Shutemov <kirill@shutemov.name>
+  Stafford Horne <shorne@gmail.com>
+  Guan Xuetao <gxt@pku.edu.cn>
+  linux-arm-kernel@lists.infradead.org
+  Chris Zankel <chris@zankel.net>
+  Tony Luck <tony.luck@intel.com>
+  linux-parisc@vger.kernel.org
+  pantin@google.com
+  linux-kernel@vger.kernel.org
+  Fenghua Yu <fenghua.yu@intel.com>
+  minchan@kernel.org
+  Thomas Gleixner <tglx@linutronix.de>
+  Richard Weinberger <richard@nod.at>
+  nios2-dev@lists.rocketboards.org
+  akpm@linux-foundation.org
+  linuxppc-dev@lists.ozlabs.org
+ " David S. Miller <davem@davemloft.net>\0"
  "\00:1\0"
  "b\0"
  "On Fri, Oct 12, 2018 at 05:42:24PM +0100, Anton Ivanov wrote:\n"
@@ -48,19 +108,19 @@
  "> > > > > doing so is not much compared the improvement, on both\n"
  "> > > > > x86-64 and arm64.\n"
  "> > > > > \n"
- "> > > > > Cc: minchan at kernel.org\n"
- "> > > > > Cc: pantin at google.com\n"
- "> > > > > Cc: hughd at google.com\n"
- "> > > > > Cc: lokeshgidra at google.com\n"
- "> > > > > Cc: dancol at google.com\n"
- "> > > > > Cc: mhocko at kernel.org\n"
- "> > > > > Cc: kirill at shutemov.name\n"
- "> > > > > Cc: akpm at linux-foundation.org\n"
+ "> > > > > Cc: minchan@kernel.org\n"
+ "> > > > > Cc: pantin@google.com\n"
+ "> > > > > Cc: hughd@google.com\n"
+ "> > > > > Cc: lokeshgidra@google.com\n"
+ "> > > > > Cc: dancol@google.com\n"
+ "> > > > > Cc: mhocko@kernel.org\n"
+ "> > > > > Cc: kirill@shutemov.name\n"
+ "> > > > > Cc: akpm@linux-foundation.org\n"
  "> > > > > Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>\n"
  "> > > > > ---\n"
- "> > > > > ?? mm/mremap.c | 62\n"
+ "> > > > > \302\240\302\240 mm/mremap.c | 62\n"
  "> > > > > +++++++++++++++++++++++++++++++++++++++++++++++++++++\n"
- "> > > > > ?? 1 file changed, 62 insertions(+)\n"
+ "> > > > > \302\240\302\240 1 file changed, 62 insertions(+)\n"
  "> > > > > \n"
  "> > > > > diff --git a/mm/mremap.c b/mm/mremap.c\n"
  "> > > > > index 9e68a02a52b1..d82c485822ef 100644\n"
@@ -68,47 +128,47 @@
  "> > > > > +++ b/mm/mremap.c\n"
  "> > > > > @@ -191,6 +191,54 @@ static void move_ptes(struct\n"
  "> > > > > vm_area_struct *vma, pmd_t *old_pmd,\n"
- "> > > > > ?????????? drop_rmap_locks(vma);\n"
- "> > > > > ?? }\n"
+ "> > > > > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 drop_rmap_locks(vma);\n"
+ "> > > > > \302\240\302\240 }\n"
  "> > > > > +static bool move_normal_pmd(struct vm_area_struct *vma,\n"
  "> > > > > unsigned long old_addr,\n"
- "> > > > > +????????? unsigned long new_addr, unsigned long old_end,\n"
- "> > > > > +????????? pmd_t *old_pmd, pmd_t *new_pmd, bool *need_flush)\n"
+ "> > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 unsigned long new_addr, unsigned long old_end,\n"
+ "> > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 pmd_t *old_pmd, pmd_t *new_pmd, bool *need_flush)\n"
  "> > > > > +{\n"
- "> > > > > +??? spinlock_t *old_ptl, *new_ptl;\n"
- "> > > > > +??? struct mm_struct *mm = vma->vm_mm;\n"
+ "> > > > > +\302\240\302\240\302\240 spinlock_t *old_ptl, *new_ptl;\n"
+ "> > > > > +\302\240\302\240\302\240 struct mm_struct *mm = vma->vm_mm;\n"
  "> > > > > +\n"
- "> > > > > +??? if ((old_addr & ~PMD_MASK) || (new_addr & ~PMD_MASK)\n"
- "> > > > > +??????? || old_end - old_addr < PMD_SIZE)\n"
- "> > > > > +??????? return false;\n"
+ "> > > > > +\302\240\302\240\302\240 if ((old_addr & ~PMD_MASK) || (new_addr & ~PMD_MASK)\n"
+ "> > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 || old_end - old_addr < PMD_SIZE)\n"
+ "> > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 return false;\n"
  "> > > > > +\n"
- "> > > > > +??? /*\n"
- "> > > > > +???? * The destination pmd shouldn't be established, free_pgtables()\n"
- "> > > > > +???? * should have release it.\n"
- "> > > > > +???? */\n"
- "> > > > > +??? if (WARN_ON(!pmd_none(*new_pmd)))\n"
- "> > > > > +??????? return false;\n"
+ "> > > > > +\302\240\302\240\302\240 /*\n"
+ "> > > > > +\302\240\302\240\302\240\302\240 * The destination pmd shouldn't be established, free_pgtables()\n"
+ "> > > > > +\302\240\302\240\302\240\302\240 * should have release it.\n"
+ "> > > > > +\302\240\302\240\302\240\302\240 */\n"
+ "> > > > > +\302\240\302\240\302\240 if (WARN_ON(!pmd_none(*new_pmd)))\n"
+ "> > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 return false;\n"
  "> > > > > +\n"
- "> > > > > +??? /*\n"
- "> > > > > +???? * We don't have to worry about the ordering of src and dst\n"
- "> > > > > +???? * ptlocks because exclusive mmap_sem prevents deadlock.\n"
- "> > > > > +???? */\n"
- "> > > > > +??? old_ptl = pmd_lock(vma->vm_mm, old_pmd);\n"
- "> > > > > +??? if (old_ptl) {\n"
- "> > > > > +??????? pmd_t pmd;\n"
+ "> > > > > +\302\240\302\240\302\240 /*\n"
+ "> > > > > +\302\240\302\240\302\240\302\240 * We don't have to worry about the ordering of src and dst\n"
+ "> > > > > +\302\240\302\240\302\240\302\240 * ptlocks because exclusive mmap_sem prevents deadlock.\n"
+ "> > > > > +\302\240\302\240\302\240\302\240 */\n"
+ "> > > > > +\302\240\302\240\302\240 old_ptl = pmd_lock(vma->vm_mm, old_pmd);\n"
+ "> > > > > +\302\240\302\240\302\240 if (old_ptl) {\n"
+ "> > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 pmd_t pmd;\n"
  "> > > > > +\n"
- "> > > > > +??????? new_ptl = pmd_lockptr(mm, new_pmd);\n"
- "> > > > > +??????? if (new_ptl != old_ptl)\n"
- "> > > > > +??????????? spin_lock_nested(new_ptl, SINGLE_DEPTH_NESTING);\n"
+ "> > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 new_ptl = pmd_lockptr(mm, new_pmd);\n"
+ "> > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 if (new_ptl != old_ptl)\n"
+ "> > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 spin_lock_nested(new_ptl, SINGLE_DEPTH_NESTING);\n"
  "> > > > > +\n"
- "> > > > > +??????? /* Clear the pmd */\n"
- "> > > > > +??????? pmd = *old_pmd;\n"
- "> > > > > +??????? pmd_clear(old_pmd);\n"
+ "> > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 /* Clear the pmd */\n"
+ "> > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 pmd = *old_pmd;\n"
+ "> > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 pmd_clear(old_pmd);\n"
  "> > > > > +\n"
- "> > > > > +??????? VM_BUG_ON(!pmd_none(*new_pmd));\n"
+ "> > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 VM_BUG_ON(!pmd_none(*new_pmd));\n"
  "> > > > > +\n"
- "> > > > > +??????? /* Set the new pmd */\n"
- "> > > > > +??????? set_pmd_at(mm, new_addr, new_pmd, pmd);\n"
+ "> > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 /* Set the new pmd */\n"
+ "> > > > > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240 set_pmd_at(mm, new_addr, new_pmd, pmd);\n"
  "> > > > UML does not have set_pmd_at at all\n"
  "> > > Every architecture does. :)\n"
  "> > \n"
@@ -216,6 +276,12 @@
  "\n"
  "thanks,\n"
  "\n"
- - Joel
+ "- Joel\n"
+ "\n"
+ "\n"
+ "_______________________________________________\n"
+ "linux-riscv mailing list\n"
+ "linux-riscv@lists.infradead.org\n"
+ http://lists.infradead.org/mailman/listinfo/linux-riscv
 
-65d1ff9a76d921300f98afcb14edc8db44e89cbd17ce4bb003b08d3f5923b29a
+2f31ef1c183bbf1974ee6a2898c5a5123605f94535c403ee48ab2a10dde9b474

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox