linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mm/x86: Patch out arch_flush_lazy_mmu_mode() when running on bare metal
@ 2013-02-28 22:55 Boris Ostrovsky
  2013-02-28 23:37 ` Borislav Petkov
  2013-03-04 15:13 ` Konrad Rzeszutek Wilk
  0 siblings, 2 replies; 16+ messages in thread
From: Boris Ostrovsky @ 2013-02-28 22:55 UTC (permalink / raw)
  To: hpa, bp
  Cc: mingo, tglx, konrad.wilk, rostedt, gregkh, samu.kallio, kraman,
	jwboyer, xen-devel, linux-kernel, stable, Boris Ostrovsky

Invoking arch_flush_lazy_mmu_mode() results in calls to
preempt_enable()/disable() which may have performance impact.

Since lazy MMU is not used on bare metal we can patch away
arch_flush_lazy_mmu_mode() so that it is never called in such
environment.

Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
---
 arch/x86/include/asm/paravirt.h       |  5 ++++-
 arch/x86/include/asm/paravirt_types.h |  2 ++
 arch/x86/kernel/paravirt.c            | 25 +++++++++++++------------
 arch/x86/lguest/boot.c                |  1 +
 arch/x86/xen/mmu.c                    |  1 +
 5 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index 5edd174..7361e47 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -703,7 +703,10 @@ static inline void arch_leave_lazy_mmu_mode(void)
 	PVOP_VCALL0(pv_mmu_ops.lazy_mode.leave);
 }
 
-void arch_flush_lazy_mmu_mode(void);
+static inline void arch_flush_lazy_mmu_mode(void)
+{
+	PVOP_VCALL0(pv_mmu_ops.lazy_mode.flush);
+}
 
 static inline void __set_fixmap(unsigned /* enum fixed_addresses */ idx,
 				phys_addr_t phys, pgprot_t flags)
diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h
index 142236e..b3b0ec1 100644
--- a/arch/x86/include/asm/paravirt_types.h
+++ b/arch/x86/include/asm/paravirt_types.h
@@ -91,6 +91,7 @@ struct pv_lazy_ops {
 	/* Set deferred update mode, used for batching operations. */
 	void (*enter)(void);
 	void (*leave)(void);
+	void (*flush)(void);
 };
 
 struct pv_time_ops {
@@ -679,6 +680,7 @@ void paravirt_end_context_switch(struct task_struct *next);
 
 void paravirt_enter_lazy_mmu(void);
 void paravirt_leave_lazy_mmu(void);
+void paravirt_flush_lazy_mmu(void);
 
 void _paravirt_nop(void);
 u32 _paravirt_ident_32(u32);
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
index 17fff18..8bfb335 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -263,6 +263,18 @@ void paravirt_leave_lazy_mmu(void)
 	leave_lazy(PARAVIRT_LAZY_MMU);
 }
 
+void paravirt_flush_lazy_mmu(void)
+{
+	preempt_disable();
+
+	if (paravirt_get_lazy_mode() == PARAVIRT_LAZY_MMU) {
+		arch_leave_lazy_mmu_mode();
+		arch_enter_lazy_mmu_mode();
+	}
+
+	preempt_enable();
+}
+
 void paravirt_start_context_switch(struct task_struct *prev)
 {
 	BUG_ON(preemptible());
@@ -292,18 +304,6 @@ enum paravirt_lazy_mode paravirt_get_lazy_mode(void)
 	return this_cpu_read(paravirt_lazy_mode);
 }
 
-void arch_flush_lazy_mmu_mode(void)
-{
-	preempt_disable();
-
-	if (paravirt_get_lazy_mode() == PARAVIRT_LAZY_MMU) {
-		arch_leave_lazy_mmu_mode();
-		arch_enter_lazy_mmu_mode();
-	}
-
-	preempt_enable();
-}
-
 struct pv_info pv_info = {
 	.name = "bare hardware",
 	.paravirt_enabled = 0,
@@ -475,6 +475,7 @@ struct pv_mmu_ops pv_mmu_ops = {
 	.lazy_mode = {
 		.enter = paravirt_nop,
 		.leave = paravirt_nop,
+		.flush = paravirt_nop,
 	},
 
 	.set_fixmap = native_set_fixmap,
diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c
index 1cbd89c..7114c63 100644
--- a/arch/x86/lguest/boot.c
+++ b/arch/x86/lguest/boot.c
@@ -1334,6 +1334,7 @@ __init void lguest_init(void)
 	pv_mmu_ops.read_cr3 = lguest_read_cr3;
 	pv_mmu_ops.lazy_mode.enter = paravirt_enter_lazy_mmu;
 	pv_mmu_ops.lazy_mode.leave = lguest_leave_lazy_mmu_mode;
+	pv_mmu_ops.lazy_mode.flush = paravirt_flush_lazy_mmu;
 	pv_mmu_ops.pte_update = lguest_pte_update;
 	pv_mmu_ops.pte_update_defer = lguest_pte_update;
 
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index e8e3493..f4f4105 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -2197,6 +2197,7 @@ static const struct pv_mmu_ops xen_mmu_ops __initconst = {
 	.lazy_mode = {
 		.enter = paravirt_enter_lazy_mmu,
 		.leave = xen_leave_lazy_mmu,
+		.flush = paravirt_flush_lazy_mmu,
 	},
 
 	.set_fixmap = xen_set_fixmap,
-- 
1.8.1.2


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH] mm/x86: Patch out arch_flush_lazy_mmu_mode() when running on bare metal
  2013-02-28 22:55 [PATCH] mm/x86: Patch out arch_flush_lazy_mmu_mode() when running on bare metal Boris Ostrovsky
@ 2013-02-28 23:37 ` Borislav Petkov
  2013-03-01  0:05   ` Josh Boyer
  2013-03-04 15:13 ` Konrad Rzeszutek Wilk
  1 sibling, 1 reply; 16+ messages in thread
From: Borislav Petkov @ 2013-02-28 23:37 UTC (permalink / raw)
  To: Boris Ostrovsky
  Cc: hpa, mingo, tglx, konrad.wilk, rostedt, gregkh, samu.kallio,
	kraman, jwboyer, xen-devel, linux-kernel, stable

On Thu, Feb 28, 2013 at 05:55:49PM -0500, Boris Ostrovsky wrote:
> Invoking arch_flush_lazy_mmu_mode() results in calls to
> preempt_enable()/disable() which may have performance impact.
> 
> Since lazy MMU is not used on bare metal we can patch away
> arch_flush_lazy_mmu_mode() so that it is never called in such
> environment.
> 
> Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>

Looks straight-forward enough to me.

Acked-by: Borislav Petkov <bp@suse.de>

-- 
Regards/Gruss,
    Boris.

Sent from a fat crate under my desk. Formatting is fine.
--

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] mm/x86: Patch out arch_flush_lazy_mmu_mode() when running on bare metal
  2013-02-28 23:37 ` Borislav Petkov
@ 2013-03-01  0:05   ` Josh Boyer
  2013-03-01  0:15     ` H. Peter Anvin
  0 siblings, 1 reply; 16+ messages in thread
From: Josh Boyer @ 2013-03-01  0:05 UTC (permalink / raw)
  To: Borislav Petkov, Boris Ostrovsky, hpa, mingo, tglx, konrad.wilk,
	rostedt, gregkh, samu.kallio, kraman, xen-devel, linux-kernel,
	stable

On Fri, Mar 01, 2013 at 12:37:20AM +0100, Borislav Petkov wrote:
> On Thu, Feb 28, 2013 at 05:55:49PM -0500, Boris Ostrovsky wrote:
> > Invoking arch_flush_lazy_mmu_mode() results in calls to
> > preempt_enable()/disable() which may have performance impact.
> > 
> > Since lazy MMU is not used on bare metal we can patch away
> > arch_flush_lazy_mmu_mode() so that it is never called in such
> > environment.
> > 
> > Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
> 
> Looks straight-forward enough to me.
> 
> Acked-by: Borislav Petkov <bp@suse.de>

I'll try to get someone to test this tomorrow.

josh

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] mm/x86: Patch out arch_flush_lazy_mmu_mode() when running on bare metal
  2013-03-01  0:05   ` Josh Boyer
@ 2013-03-01  0:15     ` H. Peter Anvin
  2013-03-01  0:36       ` Borislav Petkov
  0 siblings, 1 reply; 16+ messages in thread
From: H. Peter Anvin @ 2013-03-01  0:15 UTC (permalink / raw)
  To: Josh Boyer
  Cc: Borislav Petkov, Boris Ostrovsky, mingo, tglx, konrad.wilk,
	rostedt, gregkh, samu.kallio, kraman, xen-devel, linux-kernel,
	stable

On 02/28/2013 04:05 PM, Josh Boyer wrote:
> On Fri, Mar 01, 2013 at 12:37:20AM +0100, Borislav Petkov wrote:
>> On Thu, Feb 28, 2013 at 05:55:49PM -0500, Boris Ostrovsky wrote:
>>> Invoking arch_flush_lazy_mmu_mode() results in calls to
>>> preempt_enable()/disable() which may have performance impact.
>>>
>>> Since lazy MMU is not used on bare metal we can patch away
>>> arch_flush_lazy_mmu_mode() so that it is never called in such
>>> environment.
>>>
>>> Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
>>
>> Looks straight-forward enough to me.
>>
>> Acked-by: Borislav Petkov <bp@suse.de>
> 
> I'll try to get someone to test this tomorrow.
> 

Sounds good.

I'd like look at this after the merge window close.  I'm kind of
bothered about having a choice with an oops on PV, a performance
regression on native, or putting a pretty complex patch in as a fix, but
since we'll be right after -rc1 it is probably reasonable to pick the
last option.

	-hpa


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] mm/x86: Patch out arch_flush_lazy_mmu_mode() when running on bare metal
  2013-03-01  0:15     ` H. Peter Anvin
@ 2013-03-01  0:36       ` Borislav Petkov
  2013-03-01  0:42         ` Josh Boyer
  0 siblings, 1 reply; 16+ messages in thread
From: Borislav Petkov @ 2013-03-01  0:36 UTC (permalink / raw)
  To: H. Peter Anvin, Josh Boyer
  Cc: Boris Ostrovsky, mingo, tglx, konrad.wilk, rostedt, gregkh,
	samu.kallio, kraman, xen-devel, linux-kernel, stable

On Thu, Feb 28, 2013 at 04:15:45PM -0800, H. Peter Anvin wrote:
> > I'll try to get someone to test this tomorrow.

Btw, you'd need to apply that other patch too

http://marc.info/?l=xen-devel&m=136206183814547&w=2

so that arch_flush_lazy_mmu_mode() has at least one caller on x86_64.

Thanks.

-- 
Regards/Gruss,
    Boris.

Sent from a fat crate under my desk. Formatting is fine.
--

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] mm/x86: Patch out arch_flush_lazy_mmu_mode() when running on bare metal
  2013-03-01  0:36       ` Borislav Petkov
@ 2013-03-01  0:42         ` Josh Boyer
  2013-03-01  0:52           ` H. Peter Anvin
  0 siblings, 1 reply; 16+ messages in thread
From: Josh Boyer @ 2013-03-01  0:42 UTC (permalink / raw)
  To: Borislav Petkov, H. Peter Anvin, Boris Ostrovsky, mingo, tglx,
	konrad.wilk, rostedt, gregkh, samu.kallio, kraman, xen-devel,
	linux-kernel, stable

On Fri, Mar 01, 2013 at 01:36:29AM +0100, Borislav Petkov wrote:
> On Thu, Feb 28, 2013 at 04:15:45PM -0800, H. Peter Anvin wrote:
> > > I'll try to get someone to test this tomorrow.
> 
> Btw, you'd need to apply that other patch too
> 
> http://marc.info/?l=xen-devel&m=136206183814547&w=2
> 
> so that arch_flush_lazy_mmu_mode() has at least one caller on x86_64.

Yeah, we already have that applied.  It stops crashes in xen
environments so we pulled it in as a bugfix.  Thanks though!

josh

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] mm/x86: Patch out arch_flush_lazy_mmu_mode() when running on bare metal
  2013-03-01  0:42         ` Josh Boyer
@ 2013-03-01  0:52           ` H. Peter Anvin
  2013-03-01 12:14             ` Josh Boyer
  0 siblings, 1 reply; 16+ messages in thread
From: H. Peter Anvin @ 2013-03-01  0:52 UTC (permalink / raw)
  To: Josh Boyer
  Cc: Borislav Petkov, Boris Ostrovsky, mingo, tglx, konrad.wilk,
	rostedt, gregkh, samu.kallio, kraman, xen-devel, linux-kernel,
	stable

On 02/28/2013 04:42 PM, Josh Boyer wrote:
> On Fri, Mar 01, 2013 at 01:36:29AM +0100, Borislav Petkov wrote:
>> On Thu, Feb 28, 2013 at 04:15:45PM -0800, H. Peter Anvin wrote:
>>>> I'll try to get someone to test this tomorrow.
>>
>> Btw, you'd need to apply that other patch too
>>
>> http://marc.info/?l=xen-devel&m=136206183814547&w=2
>>
>> so that arch_flush_lazy_mmu_mode() has at least one caller on x86_64.
> 
> Yeah, we already have that applied.  It stops crashes in xen
> environments so we pulled it in as a bugfix.  Thanks though!
> 

Who are "we"?

	-hpa



^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] mm/x86: Patch out arch_flush_lazy_mmu_mode() when running on bare metal
  2013-03-01  0:52           ` H. Peter Anvin
@ 2013-03-01 12:14             ` Josh Boyer
  2013-03-13 13:25               ` Boris Ostrovsky
  0 siblings, 1 reply; 16+ messages in thread
From: Josh Boyer @ 2013-03-01 12:14 UTC (permalink / raw)
  To: H. Peter Anvin
  Cc: Borislav Petkov, Boris Ostrovsky, mingo, tglx, konrad.wilk,
	rostedt, gregkh, samu.kallio, kraman, xen-devel, linux-kernel,
	stable

On Thu, Feb 28, 2013 at 04:52:20PM -0800, H. Peter Anvin wrote:
> On 02/28/2013 04:42 PM, Josh Boyer wrote:
> > On Fri, Mar 01, 2013 at 01:36:29AM +0100, Borislav Petkov wrote:
> >> On Thu, Feb 28, 2013 at 04:15:45PM -0800, H. Peter Anvin wrote:
> >>>> I'll try to get someone to test this tomorrow.
> >>
> >> Btw, you'd need to apply that other patch too
> >>
> >> http://marc.info/?l=xen-devel&m=136206183814547&w=2
> >>
> >> so that arch_flush_lazy_mmu_mode() has at least one caller on x86_64.
> > 
> > Yeah, we already have that applied.  It stops crashes in xen
> > environments so we pulled it in as a bugfix.  Thanks though!
> > 
> 
> Who are "we"?

Sorry, Fedora.  That patch has a link to a bug in it.  We applied the
patch for that bug.  I'll apply Boris' patch on top and get the same
people to test it.

josh

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] mm/x86: Patch out arch_flush_lazy_mmu_mode() when running on bare metal
  2013-02-28 22:55 [PATCH] mm/x86: Patch out arch_flush_lazy_mmu_mode() when running on bare metal Boris Ostrovsky
  2013-02-28 23:37 ` Borislav Petkov
@ 2013-03-04 15:13 ` Konrad Rzeszutek Wilk
  1 sibling, 0 replies; 16+ messages in thread
From: Konrad Rzeszutek Wilk @ 2013-03-04 15:13 UTC (permalink / raw)
  To: Boris Ostrovsky
  Cc: hpa, bp, mingo, tglx, rostedt, gregkh, samu.kallio, kraman,
	jwboyer, xen-devel, linux-kernel, stable

On Thu, Feb 28, 2013 at 05:55:49PM -0500, Boris Ostrovsky wrote:
> Invoking arch_flush_lazy_mmu_mode() results in calls to
> preempt_enable()/disable() which may have performance impact.
> 
> Since lazy MMU is not used on bare metal we can patch away
> arch_flush_lazy_mmu_mode() so that it is never called in such
> environment.
> 
> Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>

I am OK with this  - had also run it overnight on baremetal/xen to make
sure there were no funny business.

> ---
>  arch/x86/include/asm/paravirt.h       |  5 ++++-
>  arch/x86/include/asm/paravirt_types.h |  2 ++
>  arch/x86/kernel/paravirt.c            | 25 +++++++++++++------------
>  arch/x86/lguest/boot.c                |  1 +
>  arch/x86/xen/mmu.c                    |  1 +
>  5 files changed, 21 insertions(+), 13 deletions(-)
> 
> diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
> index 5edd174..7361e47 100644
> --- a/arch/x86/include/asm/paravirt.h
> +++ b/arch/x86/include/asm/paravirt.h
> @@ -703,7 +703,10 @@ static inline void arch_leave_lazy_mmu_mode(void)
>  	PVOP_VCALL0(pv_mmu_ops.lazy_mode.leave);
>  }
>  
> -void arch_flush_lazy_mmu_mode(void);
> +static inline void arch_flush_lazy_mmu_mode(void)
> +{
> +	PVOP_VCALL0(pv_mmu_ops.lazy_mode.flush);
> +}
>  
>  static inline void __set_fixmap(unsigned /* enum fixed_addresses */ idx,
>  				phys_addr_t phys, pgprot_t flags)
> diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h
> index 142236e..b3b0ec1 100644
> --- a/arch/x86/include/asm/paravirt_types.h
> +++ b/arch/x86/include/asm/paravirt_types.h
> @@ -91,6 +91,7 @@ struct pv_lazy_ops {
>  	/* Set deferred update mode, used for batching operations. */
>  	void (*enter)(void);
>  	void (*leave)(void);
> +	void (*flush)(void);
>  };
>  
>  struct pv_time_ops {
> @@ -679,6 +680,7 @@ void paravirt_end_context_switch(struct task_struct *next);
>  
>  void paravirt_enter_lazy_mmu(void);
>  void paravirt_leave_lazy_mmu(void);
> +void paravirt_flush_lazy_mmu(void);
>  
>  void _paravirt_nop(void);
>  u32 _paravirt_ident_32(u32);
> diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
> index 17fff18..8bfb335 100644
> --- a/arch/x86/kernel/paravirt.c
> +++ b/arch/x86/kernel/paravirt.c
> @@ -263,6 +263,18 @@ void paravirt_leave_lazy_mmu(void)
>  	leave_lazy(PARAVIRT_LAZY_MMU);
>  }
>  
> +void paravirt_flush_lazy_mmu(void)
> +{
> +	preempt_disable();
> +
> +	if (paravirt_get_lazy_mode() == PARAVIRT_LAZY_MMU) {
> +		arch_leave_lazy_mmu_mode();
> +		arch_enter_lazy_mmu_mode();
> +	}
> +
> +	preempt_enable();
> +}
> +
>  void paravirt_start_context_switch(struct task_struct *prev)
>  {
>  	BUG_ON(preemptible());
> @@ -292,18 +304,6 @@ enum paravirt_lazy_mode paravirt_get_lazy_mode(void)
>  	return this_cpu_read(paravirt_lazy_mode);
>  }
>  
> -void arch_flush_lazy_mmu_mode(void)
> -{
> -	preempt_disable();
> -
> -	if (paravirt_get_lazy_mode() == PARAVIRT_LAZY_MMU) {
> -		arch_leave_lazy_mmu_mode();
> -		arch_enter_lazy_mmu_mode();
> -	}
> -
> -	preempt_enable();
> -}
> -
>  struct pv_info pv_info = {
>  	.name = "bare hardware",
>  	.paravirt_enabled = 0,
> @@ -475,6 +475,7 @@ struct pv_mmu_ops pv_mmu_ops = {
>  	.lazy_mode = {
>  		.enter = paravirt_nop,
>  		.leave = paravirt_nop,
> +		.flush = paravirt_nop,
>  	},
>  
>  	.set_fixmap = native_set_fixmap,
> diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c
> index 1cbd89c..7114c63 100644
> --- a/arch/x86/lguest/boot.c
> +++ b/arch/x86/lguest/boot.c
> @@ -1334,6 +1334,7 @@ __init void lguest_init(void)
>  	pv_mmu_ops.read_cr3 = lguest_read_cr3;
>  	pv_mmu_ops.lazy_mode.enter = paravirt_enter_lazy_mmu;
>  	pv_mmu_ops.lazy_mode.leave = lguest_leave_lazy_mmu_mode;
> +	pv_mmu_ops.lazy_mode.flush = paravirt_flush_lazy_mmu;
>  	pv_mmu_ops.pte_update = lguest_pte_update;
>  	pv_mmu_ops.pte_update_defer = lguest_pte_update;
>  
> diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
> index e8e3493..f4f4105 100644
> --- a/arch/x86/xen/mmu.c
> +++ b/arch/x86/xen/mmu.c
> @@ -2197,6 +2197,7 @@ static const struct pv_mmu_ops xen_mmu_ops __initconst = {
>  	.lazy_mode = {
>  		.enter = paravirt_enter_lazy_mmu,
>  		.leave = xen_leave_lazy_mmu,
> +		.flush = paravirt_flush_lazy_mmu,
>  	},
>  
>  	.set_fixmap = xen_set_fixmap,
> -- 
> 1.8.1.2
> 

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] mm/x86: Patch out arch_flush_lazy_mmu_mode() when running on bare metal
  2013-03-01 12:14             ` Josh Boyer
@ 2013-03-13 13:25               ` Boris Ostrovsky
  2013-03-13 13:44                 ` Josh Boyer
  0 siblings, 1 reply; 16+ messages in thread
From: Boris Ostrovsky @ 2013-03-13 13:25 UTC (permalink / raw)
  To: Josh Boyer
  Cc: H. Peter Anvin, Borislav Petkov, mingo, tglx, konrad.wilk,
	rostedt, gregkh, samu.kallio, kraman, xen-devel, linux-kernel,
	stable

On 03/01/2013 07:14 AM, Josh Boyer wrote:
> On Thu, Feb 28, 2013 at 04:52:20PM -0800, H. Peter Anvin wrote:
>> On 02/28/2013 04:42 PM, Josh Boyer wrote:
>>> On Fri, Mar 01, 2013 at 01:36:29AM +0100, Borislav Petkov wrote:
>>>> On Thu, Feb 28, 2013 at 04:15:45PM -0800, H. Peter Anvin wrote:
>>>>>> I'll try to get someone to test this tomorrow.
>>>> Btw, you'd need to apply that other patch too
>>>>
>>>> http://marc.info/?l=xen-devel&m=136206183814547&w=2
>>>>
>>>> so that arch_flush_lazy_mmu_mode() has at least one caller on x86_64.
>>> Yeah, we already have that applied.  It stops crashes in xen
>>> environments so we pulled it in as a bugfix.  Thanks though!
>>>
>> Who are "we"?
> Sorry, Fedora.  That patch has a link to a bug in it.  We applied the
> patch for that bug.  I'll apply Boris' patch on top and get the same
> people to test it.

Josh, have you had a chance to test this?

-boris

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] mm/x86: Patch out arch_flush_lazy_mmu_mode() when running on bare metal
  2013-03-13 13:25               ` Boris Ostrovsky
@ 2013-03-13 13:44                 ` Josh Boyer
  2013-03-21 14:07                   ` Konrad Rzeszutek Wilk
  0 siblings, 1 reply; 16+ messages in thread
From: Josh Boyer @ 2013-03-13 13:44 UTC (permalink / raw)
  To: Boris Ostrovsky
  Cc: H. Peter Anvin, Borislav Petkov, mingo, tglx, konrad.wilk,
	rostedt, gregkh, samu.kallio, kraman, xen-devel, linux-kernel,
	stable

On Wed, Mar 13, 2013 at 09:25:44AM -0400, Boris Ostrovsky wrote:
> On 03/01/2013 07:14 AM, Josh Boyer wrote:
> >On Thu, Feb 28, 2013 at 04:52:20PM -0800, H. Peter Anvin wrote:
> >>On 02/28/2013 04:42 PM, Josh Boyer wrote:
> >>>On Fri, Mar 01, 2013 at 01:36:29AM +0100, Borislav Petkov wrote:
> >>>>On Thu, Feb 28, 2013 at 04:15:45PM -0800, H. Peter Anvin wrote:
> >>>>>>I'll try to get someone to test this tomorrow.
> >>>>Btw, you'd need to apply that other patch too
> >>>>
> >>>>http://marc.info/?l=xen-devel&m=136206183814547&w=2
> >>>>
> >>>>so that arch_flush_lazy_mmu_mode() has at least one caller on x86_64.
> >>>Yeah, we already have that applied.  It stops crashes in xen
> >>>environments so we pulled it in as a bugfix.  Thanks though!
> >>>
> >>Who are "we"?
> >Sorry, Fedora.  That patch has a link to a bug in it.  We applied the
> >patch for that bug.  I'll apply Boris' patch on top and get the same
> >people to test it.
> 
> Josh, have you had a chance to test this?

I've tested it on bare metal for a while now.  No problems noticed at
all.  I've not heard back from Krishna who was testing it in the Xen
environment.  Krishna?

josh

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] mm/x86: Patch out arch_flush_lazy_mmu_mode() when running on bare metal
  2013-03-13 13:44                 ` Josh Boyer
@ 2013-03-21 14:07                   ` Konrad Rzeszutek Wilk
  0 siblings, 0 replies; 16+ messages in thread
From: Konrad Rzeszutek Wilk @ 2013-03-21 14:07 UTC (permalink / raw)
  To: Josh Boyer, stefan.bader
  Cc: Boris Ostrovsky, H. Peter Anvin, Borislav Petkov, mingo, tglx,
	rostedt, gregkh, samu.kallio, kraman, xen-devel, linux-kernel,
	stable

On Wed, Mar 13, 2013 at 09:44:43AM -0400, Josh Boyer wrote:
> On Wed, Mar 13, 2013 at 09:25:44AM -0400, Boris Ostrovsky wrote:
> > On 03/01/2013 07:14 AM, Josh Boyer wrote:
> > >On Thu, Feb 28, 2013 at 04:52:20PM -0800, H. Peter Anvin wrote:
> > >>On 02/28/2013 04:42 PM, Josh Boyer wrote:
> > >>>On Fri, Mar 01, 2013 at 01:36:29AM +0100, Borislav Petkov wrote:
> > >>>>On Thu, Feb 28, 2013 at 04:15:45PM -0800, H. Peter Anvin wrote:
> > >>>>>>I'll try to get someone to test this tomorrow.
> > >>>>Btw, you'd need to apply that other patch too
> > >>>>
> > >>>>http://marc.info/?l=xen-devel&m=136206183814547&w=2
> > >>>>
> > >>>>so that arch_flush_lazy_mmu_mode() has at least one caller on x86_64.
> > >>>Yeah, we already have that applied.  It stops crashes in xen
> > >>>environments so we pulled it in as a bugfix.  Thanks though!
> > >>>
> > >>Who are "we"?
> > >Sorry, Fedora.  That patch has a link to a bug in it.  We applied the
> > >patch for that bug.  I'll apply Boris' patch on top and get the same
> > >people to test it.
> > 
> > Josh, have you had a chance to test this?
> 
> I've tested it on bare metal for a while now.  No problems noticed at
> all.  I've not heard back from Krishna who was testing it in the Xen
> environment.  Krishna?

Roping in Stephan from Canonical as they are seeing it on a regular basis
and is affecting their distro.

Stephan - there are two patches for it - the paravirt of lazy_mmu mode
and then the other one.

This thread should provide the right URLs (I hope). Could you (if it is possible)
try them out and see if they fix the issue?

> 
> josh

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] mm/x86: Patch out arch_flush_lazy_mmu_mode() when running on bare metal
  2013-03-22 20:09   ` Konrad Rzeszutek Wilk
@ 2013-03-22 20:25     ` H. Peter Anvin
  0 siblings, 0 replies; 16+ messages in thread
From: H. Peter Anvin @ 2013-03-22 20:25 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk, Josh Boyer
  Cc: Boris Ostrovsky, mingo, tglx, rostedt, kraman, gregkh, stable,
	bp, samu.kallio, xen-devel, linux-kernel

Sure.

Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:

>On Wed, Mar 20, 2013 at 08:08:45PM -0400, Josh Boyer wrote:
>> On Wed, Mar 20, 2013 at 06:53:55AM -0700, Boris Ostrovsky wrote:
>> > 
>> > ----- jwboyer@redhat.com wrote:
>> > 
>> > > On Wed, Mar 13, 2013 at 09:25:44AM -0400, Boris Ostrovsky wrote:
>> > > > On 03/01/2013 07:14 AM, Josh Boyer wrote:
>> > > > >On Thu, Feb 28, 2013 at 04:52:20PM -0800, H. Peter Anvin
>wrote:
>> > > > >>On 02/28/2013 04:42 PM, Josh Boyer wrote:
>> > > > >>>On Fri, Mar 01, 2013 at 01:36:29AM +0100, Borislav Petkov
>wrote:
>> > > > >>>>On Thu, Feb 28, 2013 at 04:15:45PM -0800, H. Peter Anvin
>wrote:
>> > > > >>>>>>I'll try to get someone to test this tomorrow.
>> > > > >>>>Btw, you'd need to apply that other patch too
>> > > > >>>>
>> > > > >>>>http://marc.info/?l=xen-devel&m=136206183814547&w=2
>> > > > >>>>
>> > > > >>>>so that arch_flush_lazy_mmu_mode() has at least one caller
>on
>> > > x86_64.
>> > > > >>>Yeah, we already have that applied.  It stops crashes in xen
>> > > > >>>environments so we pulled it in as a bugfix.  Thanks though!
>> > > > >>>
>> > > > >>Who are "we"?
>> > > > >Sorry, Fedora.  That patch has a link to a bug in it.  We
>applied
>> > > the
>> > > > >patch for that bug.  I'll apply Boris' patch on top and get
>the
>> > > same
>> > > > >people to test it.
>> > > > 
>> > > > Josh, have you had a chance to test this?
>> > > 
>> > > I've tested it on bare metal for a while now.  No problems
>noticed at
>> > > all.  I've not heard back from Krishna who was testing it in the
>Xen
>> > > environment.  Krishna?
>> > 
>> > 
>> > Any updates?
>> 
>> No.  I've still not heard from Krishna.
>> 
>> At this point I've tested it on bare metal quite a bit, and Konrad
>has
>> tested it on both bare metal and Xen.  That should already cover the
>> case Krishna was going to test anyway.  I suggest we move forward and
>> take the patch.
>
>Peter?
>
>Would you like me or Boris to clean up the two patches with the
>appropiate Acks and send them to you? 
>> 
>> josh

-- 
Sent from my mobile phone. Please excuse brevity and lack of formatting.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] mm/x86: Patch out arch_flush_lazy_mmu_mode() when running on bare metal
  2013-03-21  0:08 ` Josh Boyer
@ 2013-03-22 20:09   ` Konrad Rzeszutek Wilk
  2013-03-22 20:25     ` H. Peter Anvin
  0 siblings, 1 reply; 16+ messages in thread
From: Konrad Rzeszutek Wilk @ 2013-03-22 20:09 UTC (permalink / raw)
  To: Josh Boyer, hpa
  Cc: Boris Ostrovsky, mingo, tglx, rostedt, kraman, gregkh, stable,
	bp, samu.kallio, xen-devel, linux-kernel, hpa

On Wed, Mar 20, 2013 at 08:08:45PM -0400, Josh Boyer wrote:
> On Wed, Mar 20, 2013 at 06:53:55AM -0700, Boris Ostrovsky wrote:
> > 
> > ----- jwboyer@redhat.com wrote:
> > 
> > > On Wed, Mar 13, 2013 at 09:25:44AM -0400, Boris Ostrovsky wrote:
> > > > On 03/01/2013 07:14 AM, Josh Boyer wrote:
> > > > >On Thu, Feb 28, 2013 at 04:52:20PM -0800, H. Peter Anvin wrote:
> > > > >>On 02/28/2013 04:42 PM, Josh Boyer wrote:
> > > > >>>On Fri, Mar 01, 2013 at 01:36:29AM +0100, Borislav Petkov wrote:
> > > > >>>>On Thu, Feb 28, 2013 at 04:15:45PM -0800, H. Peter Anvin wrote:
> > > > >>>>>>I'll try to get someone to test this tomorrow.
> > > > >>>>Btw, you'd need to apply that other patch too
> > > > >>>>
> > > > >>>>http://marc.info/?l=xen-devel&m=136206183814547&w=2
> > > > >>>>
> > > > >>>>so that arch_flush_lazy_mmu_mode() has at least one caller on
> > > x86_64.
> > > > >>>Yeah, we already have that applied.  It stops crashes in xen
> > > > >>>environments so we pulled it in as a bugfix.  Thanks though!
> > > > >>>
> > > > >>Who are "we"?
> > > > >Sorry, Fedora.  That patch has a link to a bug in it.  We applied
> > > the
> > > > >patch for that bug.  I'll apply Boris' patch on top and get the
> > > same
> > > > >people to test it.
> > > > 
> > > > Josh, have you had a chance to test this?
> > > 
> > > I've tested it on bare metal for a while now.  No problems noticed at
> > > all.  I've not heard back from Krishna who was testing it in the Xen
> > > environment.  Krishna?
> > 
> > 
> > Any updates?
> 
> No.  I've still not heard from Krishna.
> 
> At this point I've tested it on bare metal quite a bit, and Konrad has
> tested it on both bare metal and Xen.  That should already cover the
> case Krishna was going to test anyway.  I suggest we move forward and
> take the patch.

Peter?

Would you like me or Boris to clean up the two patches with the
appropiate Acks and send them to you? 
> 
> josh

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] mm/x86: Patch out arch_flush_lazy_mmu_mode() when running on bare metal
  2013-03-20 13:53 Boris Ostrovsky
@ 2013-03-21  0:08 ` Josh Boyer
  2013-03-22 20:09   ` Konrad Rzeszutek Wilk
  0 siblings, 1 reply; 16+ messages in thread
From: Josh Boyer @ 2013-03-21  0:08 UTC (permalink / raw)
  To: Boris Ostrovsky
  Cc: mingo, konrad.wilk, tglx, rostedt, kraman, gregkh, stable, bp,
	samu.kallio, xen-devel, linux-kernel, hpa

On Wed, Mar 20, 2013 at 06:53:55AM -0700, Boris Ostrovsky wrote:
> 
> ----- jwboyer@redhat.com wrote:
> 
> > On Wed, Mar 13, 2013 at 09:25:44AM -0400, Boris Ostrovsky wrote:
> > > On 03/01/2013 07:14 AM, Josh Boyer wrote:
> > > >On Thu, Feb 28, 2013 at 04:52:20PM -0800, H. Peter Anvin wrote:
> > > >>On 02/28/2013 04:42 PM, Josh Boyer wrote:
> > > >>>On Fri, Mar 01, 2013 at 01:36:29AM +0100, Borislav Petkov wrote:
> > > >>>>On Thu, Feb 28, 2013 at 04:15:45PM -0800, H. Peter Anvin wrote:
> > > >>>>>>I'll try to get someone to test this tomorrow.
> > > >>>>Btw, you'd need to apply that other patch too
> > > >>>>
> > > >>>>http://marc.info/?l=xen-devel&m=136206183814547&w=2
> > > >>>>
> > > >>>>so that arch_flush_lazy_mmu_mode() has at least one caller on
> > x86_64.
> > > >>>Yeah, we already have that applied.  It stops crashes in xen
> > > >>>environments so we pulled it in as a bugfix.  Thanks though!
> > > >>>
> > > >>Who are "we"?
> > > >Sorry, Fedora.  That patch has a link to a bug in it.  We applied
> > the
> > > >patch for that bug.  I'll apply Boris' patch on top and get the
> > same
> > > >people to test it.
> > > 
> > > Josh, have you had a chance to test this?
> > 
> > I've tested it on bare metal for a while now.  No problems noticed at
> > all.  I've not heard back from Krishna who was testing it in the Xen
> > environment.  Krishna?
> 
> 
> Any updates?

No.  I've still not heard from Krishna.

At this point I've tested it on bare metal quite a bit, and Konrad has
tested it on both bare metal and Xen.  That should already cover the
case Krishna was going to test anyway.  I suggest we move forward and
take the patch.

josh

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH] mm/x86: Patch out arch_flush_lazy_mmu_mode() when running on bare metal
@ 2013-03-20 13:53 Boris Ostrovsky
  2013-03-21  0:08 ` Josh Boyer
  0 siblings, 1 reply; 16+ messages in thread
From: Boris Ostrovsky @ 2013-03-20 13:53 UTC (permalink / raw)
  To: jwboyer
  Cc: mingo, konrad.wilk, tglx, rostedt, kraman, gregkh, stable, bp,
	samu.kallio, xen-devel, linux-kernel, hpa


----- jwboyer@redhat.com wrote:

> On Wed, Mar 13, 2013 at 09:25:44AM -0400, Boris Ostrovsky wrote:
> > On 03/01/2013 07:14 AM, Josh Boyer wrote:
> > >On Thu, Feb 28, 2013 at 04:52:20PM -0800, H. Peter Anvin wrote:
> > >>On 02/28/2013 04:42 PM, Josh Boyer wrote:
> > >>>On Fri, Mar 01, 2013 at 01:36:29AM +0100, Borislav Petkov wrote:
> > >>>>On Thu, Feb 28, 2013 at 04:15:45PM -0800, H. Peter Anvin wrote:
> > >>>>>>I'll try to get someone to test this tomorrow.
> > >>>>Btw, you'd need to apply that other patch too
> > >>>>
> > >>>>http://marc.info/?l=xen-devel&m=136206183814547&w=2
> > >>>>
> > >>>>so that arch_flush_lazy_mmu_mode() has at least one caller on
> x86_64.
> > >>>Yeah, we already have that applied.  It stops crashes in xen
> > >>>environments so we pulled it in as a bugfix.  Thanks though!
> > >>>
> > >>Who are "we"?
> > >Sorry, Fedora.  That patch has a link to a bug in it.  We applied
> the
> > >patch for that bug.  I'll apply Boris' patch on top and get the
> same
> > >people to test it.
> > 
> > Josh, have you had a chance to test this?
> 
> I've tested it on bare metal for a while now.  No problems noticed at
> all.  I've not heard back from Krishna who was testing it in the Xen
> environment.  Krishna?


Any updates?

Thanks.
-boris

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2013-03-22 20:28 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-28 22:55 [PATCH] mm/x86: Patch out arch_flush_lazy_mmu_mode() when running on bare metal Boris Ostrovsky
2013-02-28 23:37 ` Borislav Petkov
2013-03-01  0:05   ` Josh Boyer
2013-03-01  0:15     ` H. Peter Anvin
2013-03-01  0:36       ` Borislav Petkov
2013-03-01  0:42         ` Josh Boyer
2013-03-01  0:52           ` H. Peter Anvin
2013-03-01 12:14             ` Josh Boyer
2013-03-13 13:25               ` Boris Ostrovsky
2013-03-13 13:44                 ` Josh Boyer
2013-03-21 14:07                   ` Konrad Rzeszutek Wilk
2013-03-04 15:13 ` Konrad Rzeszutek Wilk
2013-03-20 13:53 Boris Ostrovsky
2013-03-21  0:08 ` Josh Boyer
2013-03-22 20:09   ` Konrad Rzeszutek Wilk
2013-03-22 20:25     ` H. Peter Anvin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).