All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joel Fernandes <joel@joelfernandes.org>
To: William Kucharski <william.kucharski@oracle.com>
Cc: linux-mips@linux-mips.org, linux-m68k@vger.kernel.org,
	Rich Felker <dalias@libc.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>,
	"maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)"
	<x86@kernel.org>, Michal Hocko <mhocko@kernel.org>,
	linux-mm@kvack.org, lokeshgidra@google.com,
	sparclinux@vger.kernel.org, linux-hexagon@vger.kernel.org,
	linux-riscv@lists.infradead.org, elfring@users.sourceforge.net,
	Jonas Bonn <jonas@southpole.se>,
	kvmarm@lists.cs.columbia.edu, dancol@google.com,
	linux-ia64@vge.kvack.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	linux-xtensa@linux-xtensa.org,
	Richard Weinberger <richard@nod.at>, Helge Deller <deller@gmx.de>,
	r.kernel.org@lithops.sigma-star.at, hughd@google.com,
	"James E.J. Bottomley" <jejb@paris>
Subject: Re: [PATCH -next 0/3] Add support for fast mremap
Date: Mon, 5 Nov 2018 20:36:00 -0800	[thread overview]
Message-ID: <20181106043600.GB139199@google.com> (raw)
In-Reply-To: <D6FB3C15-A8C1-4694-A434-A7489F590E05@oracle.com>

On Sun, Nov 04, 2018 at 12:56:48AM -0600, William Kucharski wrote:
> 
> 
> > On Nov 3, 2018, at 12:32 PM, Joel Fernandes <joel@joelfernandes.org> wrote:
> > 
> > Looks like more architectures don't define set_pmd_at. I am thinking the
> > easiest way forward is to just do the following, instead of defining
> > set_pmd_at for every architecture that doesn't care about it. Thoughts?
> > 
> > diff --git a/mm/mremap.c b/mm/mremap.c
> > index 7cf6b0943090..31ad64dcdae6 100644
> > --- a/mm/mremap.c
> > +++ b/mm/mremap.c
> > @@ -281,7 +281,8 @@ unsigned long move_page_tables(struct vm_area_struct *vma,
> > 			split_huge_pmd(vma, old_pmd, old_addr);
> > 			if (pmd_trans_unstable(old_pmd))
> > 				continue;
> > -		} else if (extent == PMD_SIZE && IS_ENABLED(CONFIG_HAVE_MOVE_PMD)) {
> > +		} else if (extent == PMD_SIZE) {
> > +#ifdef CONFIG_HAVE_MOVE_PMD
> > 			/*
> > 			 * If the extent is PMD-sized, try to speed the move by
> > 			 * moving at the PMD level if possible.
> > @@ -296,6 +297,7 @@ unsigned long move_page_tables(struct vm_area_struct *vma,
> > 				drop_rmap_locks(vma);
> > 			if (moved)
> > 				continue;
> > +#endif
> > 		}
> > 
> > 		if (pte_alloc(new_vma->vm_mm, new_pmd))
> > 
> 
> That seems reasonable as there are going to be a lot of architectures that never have
> mappings at the PMD level.

Ok, I will do it like this and resend.

> Have you thought about what might be needed to extend this paradigm to be able to
> perform remaps at the PUD level, given many architectures already support PUD-mapped
> pages?
> 

I have thought about this. I believe it is doable in the future. Off the top
I don't see an issue doing it, and it will also reduce the number of flushes.

thanks,

- Joel

WARNING: multiple messages have this Message-ID (diff)
From: Joel Fernandes <joel@joelfernandes.org>
To: William Kucharski <william.kucharski@oracle.com>
Cc: Anton Ivanov <anton.ivanov@kot-begemot.co.uk>,
	Richard Weinberger <richard@nod.at>,
	LKML <linux-kernel@vger.kernel.org>,
	kernel-team@android.com,
	Andrew Morton <akpm@linux-foundation.org>,
	Andrey Ryabinin <aryabinin@virtuozzo.com>,
	Andy Lutomirski <luto@kernel.org>, Borislav Petkov <bp@alien8.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Chris Zankel <chris@zankel.net>,
	dancol@google.com, Dave Hansen <dave.hansen@linux.intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	elfring@users.sourceforge.net, Fenghua Yu <fenghua.yu@intel.com>,
	Geert Uytterhoeven <geert@linux-m68k.org>,
	Guan Xuetao <gxt@pku.edu.cn>, Helge Deller <deller@gmx.de>,
	hughd@google.com, Ingo Molnar <mingo@redhat.com>,
	"James E.J. Bottomley" <jejb@parisc-linux.org>,
	Jeff Dike <jdike@addtoit.com>, Jonas Bonn <jonas@southpole.se>,
	Julia Lawall <Julia.Lawall@lip6.fr>,
	kasan-dev@googlegroups.com,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	kvmarm@lists.cs.columbia.edu, Ley Foon Tan <lftan@altera.com>,
	linux-alpha@vger.kernel.org, linux-hexagon@vger.kernel.org,
	linux-ia64@vge.kvack.org, r.kernel.org@lithops.sigma-star.at,
	linux-m68k@vger.kernel.org, linux-mips@linux-mips.org,
	linux-mm@kvack.org, linux-parisc@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,
	linux-s390@vger.kernel.org, linux-sh@vger.kernel.org,
	linux-snps-arc@lists.infradead.org, linux-um@lists.infradead.org,
	linux-xtensa@linux-xtensa.org, lokeshgidra@google.com,
	Max Filippov <jcmvbkbc@gmail.com>,
	Michal Hocko <mhocko@kernel.org>,
	minchan@kernel.org, nios2-dev@lists.rocketboards.org,
	pantin@google.com, Peter Zijlstra <peterz@infradead.org>,
	Rich Felker <dalias@libc.org>, Sam Creasey <sammy@sammy.net>,
	sparclinux@vger.kernel.org, Stafford Horne <shorne@gmail.com>,
	Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
	Thomas Gleixner <tglx@linutronix.de>,
	Tony Luck <tony.luck@intel.com>,
	Will Deacon <will.deacon@arm.com>,
	"maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)"
	<x86@kernel.org>, Yoshinori Sato <ysato@users.sourceforge.jp>
Subject: Re: [PATCH -next 0/3] Add support for fast mremap
Date: Mon, 5 Nov 2018 20:36:00 -0800	[thread overview]
Message-ID: <20181106043600.GB139199@google.com> (raw)
In-Reply-To: <D6FB3C15-A8C1-4694-A434-A7489F590E05@oracle.com>

On Sun, Nov 04, 2018 at 12:56:48AM -0600, William Kucharski wrote:
> 
> 
> > On Nov 3, 2018, at 12:32 PM, Joel Fernandes <joel@joelfernandes.org> wrote:
> > 
> > Looks like more architectures don't define set_pmd_at. I am thinking the
> > easiest way forward is to just do the following, instead of defining
> > set_pmd_at for every architecture that doesn't care about it. Thoughts?
> > 
> > diff --git a/mm/mremap.c b/mm/mremap.c
> > index 7cf6b0943090..31ad64dcdae6 100644
> > --- a/mm/mremap.c
> > +++ b/mm/mremap.c
> > @@ -281,7 +281,8 @@ unsigned long move_page_tables(struct vm_area_struct *vma,
> > 			split_huge_pmd(vma, old_pmd, old_addr);
> > 			if (pmd_trans_unstable(old_pmd))
> > 				continue;
> > -		} else if (extent == PMD_SIZE && IS_ENABLED(CONFIG_HAVE_MOVE_PMD)) {
> > +		} else if (extent == PMD_SIZE) {
> > +#ifdef CONFIG_HAVE_MOVE_PMD
> > 			/*
> > 			 * If the extent is PMD-sized, try to speed the move by
> > 			 * moving at the PMD level if possible.
> > @@ -296,6 +297,7 @@ unsigned long move_page_tables(struct vm_area_struct *vma,
> > 				drop_rmap_locks(vma);
> > 			if (moved)
> > 				continue;
> > +#endif
> > 		}
> > 
> > 		if (pte_alloc(new_vma->vm_mm, new_pmd))
> > 
> 
> That seems reasonable as there are going to be a lot of architectures that never have
> mappings at the PMD level.

Ok, I will do it like this and resend.

> Have you thought about what might be needed to extend this paradigm to be able to
> perform remaps at the PUD level, given many architectures already support PUD-mapped
> pages?
> 

I have thought about this. I believe it is doable in the future. Off the top
I don't see an issue doing it, and it will also reduce the number of flushes.

thanks,

- Joel

WARNING: multiple messages have this Message-ID (diff)
From: Joel Fernandes <joel@joelfernandes.org>
To: William Kucharski <william.kucharski@oracle.com>
Cc: linux-mips@linux-mips.org, linux-m68k@vger.kernel.org,
	Rich Felker <dalias@libc.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>,
	"maintainer:X86 ARCHITECTURE \(32-BIT AND 64-BIT\)"
	<x86@kernel.org>, Michal Hocko <mhocko@kernel.org>,
	linux-mm@kvack.org, lokeshgidra@google.com,
	sparclinux@vger.kernel.org, linux-hexagon@vger.kernel.org,
	linux-riscv@lists.infradead.org, elfring@users.sourceforge.net,
	Jonas Bonn <jonas@southpole.se>,
	kvmarm@lists.cs.columbia.edu, dancol@google.com,
	linux-ia64@vge.kvack.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	linux-xtensa@linux-xtensa.org,
	Richard Weinberger <richard@nod.at>, Helge Deller <deller@gmx.de>,
	r.kernel.org@lithops.sigma-star.at, hughd@google.com,
	"James E.J. Bottomley" <jejb@paris
Subject: Re: [PATCH -next 0/3] Add support for fast mremap
Date: Mon, 5 Nov 2018 20:36:00 -0800	[thread overview]
Message-ID: <20181106043600.GB139199@google.com> (raw)
In-Reply-To: <D6FB3C15-A8C1-4694-A434-A7489F590E05@oracle.com>

On Sun, Nov 04, 2018 at 12:56:48AM -0600, William Kucharski wrote:
> 
> 
> > On Nov 3, 2018, at 12:32 PM, Joel Fernandes <joel@joelfernandes.org> wrote:
> > 
> > Looks like more architectures don't define set_pmd_at. I am thinking the
> > easiest way forward is to just do the following, instead of defining
> > set_pmd_at for every architecture that doesn't care about it. Thoughts?
> > 
> > diff --git a/mm/mremap.c b/mm/mremap.c
> > index 7cf6b0943090..31ad64dcdae6 100644
> > --- a/mm/mremap.c
> > +++ b/mm/mremap.c
> > @@ -281,7 +281,8 @@ unsigned long move_page_tables(struct vm_area_struct *vma,
> > 			split_huge_pmd(vma, old_pmd, old_addr);
> > 			if (pmd_trans_unstable(old_pmd))
> > 				continue;
> > -		} else if (extent == PMD_SIZE && IS_ENABLED(CONFIG_HAVE_MOVE_PMD)) {
> > +		} else if (extent == PMD_SIZE) {
> > +#ifdef CONFIG_HAVE_MOVE_PMD
> > 			/*
> > 			 * If the extent is PMD-sized, try to speed the move by
> > 			 * moving at the PMD level if possible.
> > @@ -296,6 +297,7 @@ unsigned long move_page_tables(struct vm_area_struct *vma,
> > 				drop_rmap_locks(vma);
> > 			if (moved)
> > 				continue;
> > +#endif
> > 		}
> > 
> > 		if (pte_alloc(new_vma->vm_mm, new_pmd))
> > 
> 
> That seems reasonable as there are going to be a lot of architectures that never have
> mappings at the PMD level.

Ok, I will do it like this and resend.

> Have you thought about what might be needed to extend this paradigm to be able to
> perform remaps at the PUD level, given many architectures already support PUD-mapped
> pages?
> 

I have thought about this. I believe it is doable in the future. Off the top
I don't see an issue doing it, and it will also reduce the number of flushes.

thanks,

- Joel

WARNING: multiple messages have this Message-ID (diff)
From: joel@joelfernandes.org (Joel Fernandes)
To: linux-riscv@lists.infradead.org
Subject: [PATCH -next 0/3] Add support for fast mremap
Date: Mon, 5 Nov 2018 20:36:00 -0800	[thread overview]
Message-ID: <20181106043600.GB139199@google.com> (raw)
In-Reply-To: <D6FB3C15-A8C1-4694-A434-A7489F590E05@oracle.com>

On Sun, Nov 04, 2018 at 12:56:48AM -0600, William Kucharski wrote:
> 
> 
> > On Nov 3, 2018, at 12:32 PM, Joel Fernandes <joel@joelfernandes.org> wrote:
> > 
> > Looks like more architectures don't define set_pmd_at. I am thinking the
> > easiest way forward is to just do the following, instead of defining
> > set_pmd_at for every architecture that doesn't care about it. Thoughts?
> > 
> > diff --git a/mm/mremap.c b/mm/mremap.c
> > index 7cf6b0943090..31ad64dcdae6 100644
> > --- a/mm/mremap.c
> > +++ b/mm/mremap.c
> > @@ -281,7 +281,8 @@ unsigned long move_page_tables(struct vm_area_struct *vma,
> > 			split_huge_pmd(vma, old_pmd, old_addr);
> > 			if (pmd_trans_unstable(old_pmd))
> > 				continue;
> > -		} else if (extent == PMD_SIZE && IS_ENABLED(CONFIG_HAVE_MOVE_PMD)) {
> > +		} else if (extent == PMD_SIZE) {
> > +#ifdef CONFIG_HAVE_MOVE_PMD
> > 			/*
> > 			 * If the extent is PMD-sized, try to speed the move by
> > 			 * moving at the PMD level if possible.
> > @@ -296,6 +297,7 @@ unsigned long move_page_tables(struct vm_area_struct *vma,
> > 				drop_rmap_locks(vma);
> > 			if (moved)
> > 				continue;
> > +#endif
> > 		}
> > 
> > 		if (pte_alloc(new_vma->vm_mm, new_pmd))
> > 
> 
> That seems reasonable as there are going to be a lot of architectures that never have
> mappings at the PMD level.

Ok, I will do it like this and resend.

> Have you thought about what might be needed to extend this paradigm to be able to
> perform remaps at the PUD level, given many architectures already support PUD-mapped
> pages?
> 

I have thought about this. I believe it is doable in the future. Off the top
I don't see an issue doing it, and it will also reduce the number of flushes.

thanks,

- Joel

WARNING: multiple messages have this Message-ID (diff)
From: Joel Fernandes <joel@joelfernandes.org>
To: William Kucharski <william.kucharski@oracle.com>
Cc: linux-mips@linux-mips.org, linux-m68k@vger.kernel.org,
	Rich Felker <dalias@libc.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>,
	"maintainer:X86 ARCHITECTURE \(32-BIT AND 64-BIT\)"
	<x86@kernel.org>, Michal Hocko <mhocko@kernel.org>,
	linux-mm@kvack.org, lokeshgidra@google.com,
	sparclinux@vger.kernel.org, linux-hexagon@vger.kernel.org,
	linux-riscv@lists.infradead.org, elfring@users.sourceforge.net,
	Jonas Bonn <jonas@southpole.se>,
	kvmarm@lists.cs.columbia.edu, dancol@google.com,
	linux-ia64@vge.kvack.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	linux-xtensa@linux-xtensa.org,
	Richard Weinberger <richard@nod.at>, Helge Deller <deller@gmx.de>,
	r.kernel.org@lithops.sigma-star.at, hughd@google.com,
	"James E.J. Bottomley" <jejb@parisc-linux.org>,
	kasan-dev@googlegroups.com,
	Anton Ivanov <anton.ivanov@kot-begemot.co.uk>,
	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>, Fenghua Yu <fenghua.yu@intel.com>,
	linux-s390@vger.kernel.org, Jeff Dike <jdike@addtoit.com>,
	linux-um@lists.infradead.org,
	Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
	Julia Lawall <Julia.Lawall@lip6.fr>,
	Borislav Petkov <bp@alien8.de>, Andy Lutomirski <luto@kernel.org>,
	nios2-dev@lists.rocketboards.org,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	Stafford Horne <shorne@gmail.com>, Guan Xuetao <gxt@pku.edu.cn>,
	Chris Zankel <chris@zankel.net>, Tony Luck <tony.luck@intel.com>,
	linux-parisc@vger.kernel.org, Max Filippov <jcmvbkbc@gmail.com>,
	pantin@google.com, LKML <linux-kernel@vger.kernel.org>,
	minchan@kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	linux-alpha@vger.kernel.org, Ley Foon Tan <lftan@altera.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev@lists.ozlabs.org,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH -next 0/3] Add support for fast mremap
Date: Mon, 5 Nov 2018 20:36:00 -0800	[thread overview]
Message-ID: <20181106043600.GB139199@google.com> (raw)
Message-ID: <20181106043600.3rZQz24C_x8Ju6aSPg_gbIZdyaiTEHH8pNu3muGmygA@z> (raw)
In-Reply-To: <D6FB3C15-A8C1-4694-A434-A7489F590E05@oracle.com>

On Sun, Nov 04, 2018 at 12:56:48AM -0600, William Kucharski wrote:
> 
> 
> > On Nov 3, 2018, at 12:32 PM, Joel Fernandes <joel@joelfernandes.org> wrote:
> > 
> > Looks like more architectures don't define set_pmd_at. I am thinking the
> > easiest way forward is to just do the following, instead of defining
> > set_pmd_at for every architecture that doesn't care about it. Thoughts?
> > 
> > diff --git a/mm/mremap.c b/mm/mremap.c
> > index 7cf6b0943090..31ad64dcdae6 100644
> > --- a/mm/mremap.c
> > +++ b/mm/mremap.c
> > @@ -281,7 +281,8 @@ unsigned long move_page_tables(struct vm_area_struct *vma,
> > 			split_huge_pmd(vma, old_pmd, old_addr);
> > 			if (pmd_trans_unstable(old_pmd))
> > 				continue;
> > -		} else if (extent == PMD_SIZE && IS_ENABLED(CONFIG_HAVE_MOVE_PMD)) {
> > +		} else if (extent == PMD_SIZE) {
> > +#ifdef CONFIG_HAVE_MOVE_PMD
> > 			/*
> > 			 * If the extent is PMD-sized, try to speed the move by
> > 			 * moving at the PMD level if possible.
> > @@ -296,6 +297,7 @@ unsigned long move_page_tables(struct vm_area_struct *vma,
> > 				drop_rmap_locks(vma);
> > 			if (moved)
> > 				continue;
> > +#endif
> > 		}
> > 
> > 		if (pte_alloc(new_vma->vm_mm, new_pmd))
> > 
> 
> That seems reasonable as there are going to be a lot of architectures that never have
> mappings at the PMD level.

Ok, I will do it like this and resend.

> Have you thought about what might be needed to extend this paradigm to be able to
> perform remaps at the PUD level, given many architectures already support PUD-mapped
> pages?
> 

I have thought about this. I believe it is doable in the future. Off the top
I don't see an issue doing it, and it will also reduce the number of flushes.

thanks,

- Joel


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

WARNING: multiple messages have this Message-ID (diff)
From: joel@joelfernandes.org (Joel Fernandes)
To: linux-snps-arc@lists.infradead.org
Subject: [PATCH -next 0/3] Add support for fast mremap
Date: Mon, 5 Nov 2018 20:36:00 -0800	[thread overview]
Message-ID: <20181106043600.GB139199@google.com> (raw)
In-Reply-To: <D6FB3C15-A8C1-4694-A434-A7489F590E05@oracle.com>

On Sun, Nov 04, 2018@12:56:48AM -0600, William Kucharski wrote:
> 
> 
> > On Nov 3, 2018,@12:32 PM, Joel Fernandes <joel@joelfernandes.org> wrote:
> > 
> > Looks like more architectures don't define set_pmd_at. I am thinking the
> > easiest way forward is to just do the following, instead of defining
> > set_pmd_at for every architecture that doesn't care about it. Thoughts?
> > 
> > diff --git a/mm/mremap.c b/mm/mremap.c
> > index 7cf6b0943090..31ad64dcdae6 100644
> > --- a/mm/mremap.c
> > +++ b/mm/mremap.c
> > @@ -281,7 +281,8 @@ unsigned long move_page_tables(struct vm_area_struct *vma,
> > 			split_huge_pmd(vma, old_pmd, old_addr);
> > 			if (pmd_trans_unstable(old_pmd))
> > 				continue;
> > -		} else if (extent == PMD_SIZE && IS_ENABLED(CONFIG_HAVE_MOVE_PMD)) {
> > +		} else if (extent == PMD_SIZE) {
> > +#ifdef CONFIG_HAVE_MOVE_PMD
> > 			/*
> > 			 * If the extent is PMD-sized, try to speed the move by
> > 			 * moving at the PMD level if possible.
> > @@ -296,6 +297,7 @@ unsigned long move_page_tables(struct vm_area_struct *vma,
> > 				drop_rmap_locks(vma);
> > 			if (moved)
> > 				continue;
> > +#endif
> > 		}
> > 
> > 		if (pte_alloc(new_vma->vm_mm, new_pmd))
> > 
> 
> That seems reasonable as there are going to be a lot of architectures that never have
> mappings at the PMD level.

Ok, I will do it like this and resend.

> Have you thought about what might be needed to extend this paradigm to be able to
> perform remaps at the PUD level, given many architectures already support PUD-mapped
> pages?
> 

I have thought about this. I believe it is doable in the future. Off the top
I don't see an issue doing it, and it will also reduce the number of flushes.

thanks,

- Joel

WARNING: multiple messages have this Message-ID (diff)
From: Joel Fernandes <joel@joelfernandes.org>
To: William Kucharski <william.kucharski@oracle.com>
Cc: linux-mips@linux-mips.org, linux-m68k@vger.kernel.org,
	Rich Felker <dalias@libc.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>,
	"maintainer:X86 ARCHITECTURE \(32-BIT AND 64-BIT\)"
	<x86@kernel.org>, Michal Hocko <mhocko@kernel.org>,
	linux-mm@kvack.org, lokeshgidra@google.com,
	sparclinux@vger.kernel.org, linux-hexagon@vger.kernel.org,
	linux-riscv@lists.infradead.org, elfring@users.sourceforge.net,
	Jonas Bonn <jonas@southpole.se>,
	kvmarm@lists.cs.columbia.edu, dancol@google.com,
	linux-ia64@vge.kvack.org,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	linux-xtensa@linux-xtensa.org,
	Richard Weinberger <richard@nod.at>, Helge Deller <deller@gmx.de>,
	r.kernel.org@lithops.sigma-star.at, hughd@google.com,
	"James E.J. Bottomley" <jejb@parisc-linux.org>,
	kasan-dev@googlegroups.com,
	Anton Ivanov <anton.ivanov@kot-begemot.co.uk>,
	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>, Fenghua Yu <fenghua.yu@intel.com>,
	linux-s390@vger.kernel.org, Jeff Dike <jdike@addtoit.com>,
	linux-um@lists.infradead.org,
	Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
	Julia Lawall <Julia.Lawall@lip6.fr>,
	Borislav Petkov <bp@alien8.de>, Andy Lutomirski <luto@kernel.org>,
	nios2-dev@lists.rocketboards.org,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	Stafford Horne <shorne@gmail.com>, Guan Xuetao <gxt@pku.edu.cn>,
	Chris Zankel <chris@zankel.net>, Tony Luck <tony.luck@intel.com>,
	linux-parisc@vger.kernel.org, Max Filippov <jcmvbkbc@gmail.com>,
	pantin@google.com, LKML <linux-kernel@vger.kernel.org>,
	minchan@kernel.org, Thomas Gleixner <tglx@linutronix.de>,
	linux-alpha@vger.kernel.org, Ley Foon Tan <lftan@altera.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev@lists.ozlabs.org,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH -next 0/3] Add support for fast mremap
Date: Mon, 5 Nov 2018 20:36:00 -0800	[thread overview]
Message-ID: <20181106043600.GB139199@google.com> (raw)
In-Reply-To: <D6FB3C15-A8C1-4694-A434-A7489F590E05@oracle.com>

On Sun, Nov 04, 2018 at 12:56:48AM -0600, William Kucharski wrote:
> 
> 
> > On Nov 3, 2018, at 12:32 PM, Joel Fernandes <joel@joelfernandes.org> wrote:
> > 
> > Looks like more architectures don't define set_pmd_at. I am thinking the
> > easiest way forward is to just do the following, instead of defining
> > set_pmd_at for every architecture that doesn't care about it. Thoughts?
> > 
> > diff --git a/mm/mremap.c b/mm/mremap.c
> > index 7cf6b0943090..31ad64dcdae6 100644
> > --- a/mm/mremap.c
> > +++ b/mm/mremap.c
> > @@ -281,7 +281,8 @@ unsigned long move_page_tables(struct vm_area_struct *vma,
> > 			split_huge_pmd(vma, old_pmd, old_addr);
> > 			if (pmd_trans_unstable(old_pmd))
> > 				continue;
> > -		} else if (extent == PMD_SIZE && IS_ENABLED(CONFIG_HAVE_MOVE_PMD)) {
> > +		} else if (extent == PMD_SIZE) {
> > +#ifdef CONFIG_HAVE_MOVE_PMD
> > 			/*
> > 			 * If the extent is PMD-sized, try to speed the move by
> > 			 * moving at the PMD level if possible.
> > @@ -296,6 +297,7 @@ unsigned long move_page_tables(struct vm_area_struct *vma,
> > 				drop_rmap_locks(vma);
> > 			if (moved)
> > 				continue;
> > +#endif
> > 		}
> > 
> > 		if (pte_alloc(new_vma->vm_mm, new_pmd))
> > 
> 
> That seems reasonable as there are going to be a lot of architectures that never have
> mappings at the PMD level.

Ok, I will do it like this and resend.

> Have you thought about what might be needed to extend this paradigm to be able to
> perform remaps at the PUD level, given many architectures already support PUD-mapped
> pages?
> 

I have thought about this. I believe it is doable in the future. Off the top
I don't see an issue doing it, and it will also reduce the number of flushes.

thanks,

- Joel


  reply	other threads:[~2018-11-06  4:36 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-03  4:00 [PATCH -next 0/3] Add support for fast mremap Joel Fernandes
2018-11-03  4:00 ` Joel Fernandes
2018-11-03  4:00 ` Joel Fernandes
2018-11-03  4:00 ` Joel Fernandes
2018-11-03  4:00 ` Joel Fernandes
2018-11-03  4:00 ` Joel Fernandes
2018-11-03  4:00 ` Joel Fernandes
2018-11-03  4:00 ` [PATCH -next 1/3] mm: treewide: remove unused address argument from pte_alloc functions (v2) Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03 12:51   ` [PATCH -next v2 1/3] mm: treewide: remove unused address argument from pte_alloc functions SF Markus Elfring
2018-11-03 12:51     ` SF Markus Elfring
2018-11-03 12:51     ` SF Markus Elfring
2018-11-03 12:51     ` SF Markus Elfring
2018-11-03 12:51     ` SF Markus Elfring
2018-11-03 12:51     ` SF Markus Elfring
2018-11-03 12:51     ` SF Markus Elfring
2018-11-03 12:51     ` SF Markus Elfring
2018-11-03  4:00 ` [PATCH -next 2/3] mm: speed up mremap by 20x on large regions (v4) Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03 16:45   ` kbuild test robot
2018-11-03 16:45     ` kbuild test robot
2018-11-03 16:45     ` kbuild test robot
2018-11-03 16:45     ` kbuild test robot
2018-11-03 16:45     ` kbuild test robot
2018-11-03 16:45     ` kbuild test robot
2018-11-03 16:45     ` kbuild test robot
2018-11-03 16:45     ` kbuild test robot
2018-11-03 16:45     ` kbuild test robot
2018-11-03 16:56   ` kbuild test robot
2018-11-03 16:56     ` kbuild test robot
2018-11-03 16:56     ` kbuild test robot
2018-11-03 16:56     ` kbuild test robot
2018-11-03 16:56     ` kbuild test robot
2018-11-03 16:56     ` kbuild test robot
2018-11-03 16:56     ` kbuild test robot
2018-11-03 16:56     ` kbuild test robot
2018-11-03 16:56     ` kbuild test robot
2018-11-03  4:00 ` [PATCH -next 3/3] mm: select HAVE_MOVE_PMD in x86 for faster mremap Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03  4:00   ` Joel Fernandes
2018-11-03  9:15 ` [PATCH -next 0/3] Add support for fast mremap Richard Weinberger
2018-11-03  9:15   ` Richard Weinberger
2018-11-03  9:15   ` Richard Weinberger
2018-11-03  9:15   ` Richard Weinberger
2018-11-03  9:15   ` Richard Weinberger
2018-11-03  9:15   ` Richard Weinberger
2018-11-03  9:15   ` Richard Weinberger
2018-11-03  9:24   ` Anton Ivanov
2018-11-03  9:24     ` Anton Ivanov
2018-11-03  9:24     ` Anton Ivanov
2018-11-03  9:24     ` Anton Ivanov
2018-11-03  9:24     ` Anton Ivanov
2018-11-03  9:24     ` Anton Ivanov
2018-11-03  9:24     ` Anton Ivanov
2018-11-03  9:24     ` Anton Ivanov
2018-11-03  9:24     ` Anton Ivanov
2018-11-03 15:20     ` Joel Fernandes
2018-11-03 15:20       ` Joel Fernandes
2018-11-03 15:20       ` Joel Fernandes
2018-11-03 15:20       ` Joel Fernandes
2018-11-03 15:20       ` Joel Fernandes
2018-11-03 15:20       ` Joel Fernandes
2018-11-03 15:20       ` Joel Fernandes
2018-11-03 15:20       ` Joel Fernandes
2018-11-03 18:32     ` Joel Fernandes
2018-11-03 18:32       ` Joel Fernandes
2018-11-03 18:32       ` Joel Fernandes
2018-11-03 18:32       ` Joel Fernandes
2018-11-03 18:32       ` Joel Fernandes
2018-11-03 18:32       ` Joel Fernandes
2018-11-03 18:32       ` Joel Fernandes
2018-11-03 18:32       ` Joel Fernandes
2018-11-04  6:56       ` William Kucharski
2018-11-04  6:56         ` William Kucharski
2018-11-04  6:56         ` William Kucharski
2018-11-04  6:56         ` William Kucharski
2018-11-04  6:56         ` William Kucharski
2018-11-04  6:56         ` William Kucharski
2018-11-04  6:56         ` William Kucharski
2018-11-04  6:56         ` William Kucharski
2018-11-06  4:36         ` Joel Fernandes [this message]
2018-11-06  4:36           ` Joel Fernandes
2018-11-06  4:36           ` Joel Fernandes
2018-11-06  4:36           ` Joel Fernandes
2018-11-06  4:36           ` Joel Fernandes
2018-11-06  4:36           ` Joel Fernandes
2018-11-06  4:36           ` Joel Fernandes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181106043600.GB139199@google.com \
    --to=joel@joelfernandes.org \
    --cc=catalin.marinas@arm.com \
    --cc=dalias@libc.org \
    --cc=dancol@google.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=deller@gmx.de \
    --cc=elfring@users.sourceforge.net \
    --cc=hughd@google.com \
    --cc=jejb@paris \
    --cc=jonas@southpole.se \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-hexagon@vger.kernel.org \
    --cc=linux-ia64@vge.kvack.org \
    --cc=linux-m68k@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux-xtensa@linux-xtensa.org \
    --cc=lokeshgidra@google.com \
    --cc=mhocko@kernel.org \
    --cc=peterz@infradead.org \
    --cc=r.kernel.org@lithops.sigma-star.at \
    --cc=richard@nod.at \
    --cc=sparclinux@vger.kernel.org \
    --cc=will.deacon@arm.com \
    --cc=william.kucharski@oracle.com \
    --cc=x86@kernel.org \
    --cc=ysato@users.sourceforge.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.