linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] x86/xen: zero MSR_IA32_SPEC_CTRL before suspend
@ 2018-02-26 14:08 Juergen Gross
  2018-02-26 16:17 ` Jan Beulich
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Juergen Gross @ 2018-02-26 14:08 UTC (permalink / raw)
  To: linux-kernel, xen-devel, x86
  Cc: boris.ostrovsky, hpa, tglx, mingo, jbeulich, Juergen Gross, stable

Older Xen versions (4.5 and before) might have problems migrating pv
guests with MSR_IA32_SPEC_CTRL having a non-zero value. So before
suspending zero that MSR and restore it after being resumed.

Cc: stable@vger.kernel.org
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/xen/suspend.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/arch/x86/xen/suspend.c b/arch/x86/xen/suspend.c
index d9f96cc5d743..1d83152c761b 100644
--- a/arch/x86/xen/suspend.c
+++ b/arch/x86/xen/suspend.c
@@ -1,12 +1,15 @@
 // SPDX-License-Identifier: GPL-2.0
 #include <linux/types.h>
 #include <linux/tick.h>
+#include <linux/percpu-defs.h>
 
 #include <xen/xen.h>
 #include <xen/interface/xen.h>
 #include <xen/grant_table.h>
 #include <xen/events.h>
 
+#include <asm/cpufeatures.h>
+#include <asm/msr-index.h>
 #include <asm/xen/hypercall.h>
 #include <asm/xen/page.h>
 #include <asm/fixmap.h>
@@ -15,6 +18,8 @@
 #include "mmu.h"
 #include "pmu.h"
 
+static DEFINE_PER_CPU(u64, spec_ctrl);
+
 void xen_arch_pre_suspend(void)
 {
 	xen_save_time_memory_area();
@@ -35,6 +40,9 @@ void xen_arch_post_suspend(int cancelled)
 
 static void xen_vcpu_notify_restore(void *data)
 {
+	if (xen_pv_domain() && boot_cpu_has(X86_FEATURE_SPEC_CTRL))
+		wrmsrl(MSR_IA32_SPEC_CTRL, this_cpu_read(spec_ctrl));
+
 	/* Boot processor notified via generic timekeeping_resume() */
 	if (smp_processor_id() == 0)
 		return;
@@ -44,7 +52,15 @@ static void xen_vcpu_notify_restore(void *data)
 
 static void xen_vcpu_notify_suspend(void *data)
 {
+	u64 tmp;
+
 	tick_suspend_local();
+
+	if (xen_pv_domain() && boot_cpu_has(X86_FEATURE_SPEC_CTRL)) {
+		rdmsrl(MSR_IA32_SPEC_CTRL, tmp);
+		this_cpu_write(spec_ctrl, tmp);
+		wrmsrl(MSR_IA32_SPEC_CTRL, 0);
+	}
 }
 
 void xen_arch_resume(void)
-- 
2.13.6

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

* Re: [PATCH] x86/xen: zero MSR_IA32_SPEC_CTRL before suspend
  2018-02-26 14:08 [PATCH] x86/xen: zero MSR_IA32_SPEC_CTRL before suspend Juergen Gross
@ 2018-02-26 16:17 ` Jan Beulich
  2018-02-28 15:07 ` [tip:x86/pti] x86/xen: Zero " tip-bot for Juergen Gross
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 11+ messages in thread
From: Jan Beulich @ 2018-02-26 16:17 UTC (permalink / raw)
  To: Juergen Gross
  Cc: x86, tglx, xen-devel, boris.ostrovsky, mingo, linux-kernel, stable, hpa

>>> On 26.02.18 at 15:08, <jgross@suse.com> wrote:
> Older Xen versions (4.5 and before) might have problems migrating pv
> guests with MSR_IA32_SPEC_CTRL having a non-zero value. So before
> suspending zero that MSR and restore it after being resumed.
> 
> Cc: stable@vger.kernel.org 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

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

* [tip:x86/pti] x86/xen: Zero MSR_IA32_SPEC_CTRL before suspend
  2018-02-26 14:08 [PATCH] x86/xen: zero MSR_IA32_SPEC_CTRL before suspend Juergen Gross
  2018-02-26 16:17 ` Jan Beulich
@ 2018-02-28 15:07 ` tip-bot for Juergen Gross
  2018-03-14  8:48 ` [PATCH] x86/xen: zero " Jan Beulich
       [not found] ` <5AA8F00302000078001B15EE@suse.com>
  3 siblings, 0 replies; 11+ messages in thread
From: tip-bot for Juergen Gross @ 2018-02-28 15:07 UTC (permalink / raw)
  To: linux-tip-commits; +Cc: jgross, linux-kernel, jbeulich, hpa, tglx, mingo

Commit-ID:  71c208dd54ab971036d83ff6d9837bae4976e623
Gitweb:     https://git.kernel.org/tip/71c208dd54ab971036d83ff6d9837bae4976e623
Author:     Juergen Gross <jgross@suse.com>
AuthorDate: Mon, 26 Feb 2018 15:08:18 +0100
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Wed, 28 Feb 2018 16:03:19 +0100

x86/xen: Zero MSR_IA32_SPEC_CTRL before suspend

Older Xen versions (4.5 and before) might have problems migrating pv
guests with MSR_IA32_SPEC_CTRL having a non-zero value. So before
suspending zero that MSR and restore it after being resumed.

Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Cc: stable@vger.kernel.org
Cc: xen-devel@lists.xenproject.org
Cc: boris.ostrovsky@oracle.com
Link: https://lkml.kernel.org/r/20180226140818.4849-1-jgross@suse.com

---
 arch/x86/xen/suspend.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/arch/x86/xen/suspend.c b/arch/x86/xen/suspend.c
index d9f96cc5d743..1d83152c761b 100644
--- a/arch/x86/xen/suspend.c
+++ b/arch/x86/xen/suspend.c
@@ -1,12 +1,15 @@
 // SPDX-License-Identifier: GPL-2.0
 #include <linux/types.h>
 #include <linux/tick.h>
+#include <linux/percpu-defs.h>
 
 #include <xen/xen.h>
 #include <xen/interface/xen.h>
 #include <xen/grant_table.h>
 #include <xen/events.h>
 
+#include <asm/cpufeatures.h>
+#include <asm/msr-index.h>
 #include <asm/xen/hypercall.h>
 #include <asm/xen/page.h>
 #include <asm/fixmap.h>
@@ -15,6 +18,8 @@
 #include "mmu.h"
 #include "pmu.h"
 
+static DEFINE_PER_CPU(u64, spec_ctrl);
+
 void xen_arch_pre_suspend(void)
 {
 	xen_save_time_memory_area();
@@ -35,6 +40,9 @@ void xen_arch_post_suspend(int cancelled)
 
 static void xen_vcpu_notify_restore(void *data)
 {
+	if (xen_pv_domain() && boot_cpu_has(X86_FEATURE_SPEC_CTRL))
+		wrmsrl(MSR_IA32_SPEC_CTRL, this_cpu_read(spec_ctrl));
+
 	/* Boot processor notified via generic timekeeping_resume() */
 	if (smp_processor_id() == 0)
 		return;
@@ -44,7 +52,15 @@ static void xen_vcpu_notify_restore(void *data)
 
 static void xen_vcpu_notify_suspend(void *data)
 {
+	u64 tmp;
+
 	tick_suspend_local();
+
+	if (xen_pv_domain() && boot_cpu_has(X86_FEATURE_SPEC_CTRL)) {
+		rdmsrl(MSR_IA32_SPEC_CTRL, tmp);
+		this_cpu_write(spec_ctrl, tmp);
+		wrmsrl(MSR_IA32_SPEC_CTRL, 0);
+	}
 }
 
 void xen_arch_resume(void)

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

* Re: [PATCH] x86/xen: zero MSR_IA32_SPEC_CTRL before suspend
  2018-02-26 14:08 [PATCH] x86/xen: zero MSR_IA32_SPEC_CTRL before suspend Juergen Gross
  2018-02-26 16:17 ` Jan Beulich
  2018-02-28 15:07 ` [tip:x86/pti] x86/xen: Zero " tip-bot for Juergen Gross
@ 2018-03-14  8:48 ` Jan Beulich
       [not found] ` <5AA8F00302000078001B15EE@suse.com>
  3 siblings, 0 replies; 11+ messages in thread
From: Jan Beulich @ 2018-03-14  8:48 UTC (permalink / raw)
  To: Juergen Gross
  Cc: x86, tglx, xen-devel, boris.ostrovsky, mingo, linux-kernel, stable, hpa

>>> On 26.02.18 at 15:08, <jgross@suse.com> wrote:
> @@ -35,6 +40,9 @@ void xen_arch_post_suspend(int cancelled)
>  
>  static void xen_vcpu_notify_restore(void *data)
>  {
> +	if (xen_pv_domain() && boot_cpu_has(X86_FEATURE_SPEC_CTRL))
> +		wrmsrl(MSR_IA32_SPEC_CTRL, this_cpu_read(spec_ctrl));
> +
>  	/* Boot processor notified via generic timekeeping_resume() */
>  	if (smp_processor_id() == 0)
>  		return;
> @@ -44,7 +52,15 @@ static void xen_vcpu_notify_restore(void *data)
>  
>  static void xen_vcpu_notify_suspend(void *data)
>  {
> +	u64 tmp;
> +
>  	tick_suspend_local();
> +
> +	if (xen_pv_domain() && boot_cpu_has(X86_FEATURE_SPEC_CTRL)) {
> +		rdmsrl(MSR_IA32_SPEC_CTRL, tmp);
> +		this_cpu_write(spec_ctrl, tmp);
> +		wrmsrl(MSR_IA32_SPEC_CTRL, 0);
> +	}
>  }

While investigating ways how to do something similar on our old,
non-pvops kernels I've started wondering if this solution is actually
correct in all cases. Of course discussing this is complicated by the
fact that the change there might be a conflict with hasn't landed
in Linus'es tree yet (see e.g.
https://patchwork.kernel.org/patch/10153843/ for an upstream
submission; I haven't been able to find any discussion on that
patch or why it isn't upstream yet), but we have it in our various
branches. The potential problem I'm seeing is with the clearing
and re-setting of SPEC_CTRL around CPUs going idle. While the
active CPU could have preemption disabled (if that isn't the case
already), the passive CPUs are - afaict - neither under full control
of drivers/xen/manage.c:do_suspend() nor excluded yet from
any further scheduling activity. Hence with code like this (taken
from one of our branches)

static void mwait_idle(void)
{
	if (!current_set_polling_and_test()) {
		trace_cpu_idle_rcuidle(1, smp_processor_id());
		if (this_cpu_has(X86_BUG_CLFLUSH_MONITOR)) {
			smp_mb(); /* quirk */
			clflush((void *)&current_thread_info()->flags);
			smp_mb(); /* quirk */
		}

		x86_disable_ibrs();

		__monitor((void *)&current_thread_info()->flags, 0, 0);
		if (!need_resched())
			__sti_mwait(0, 0);
		else
			local_irq_enable();

		x86_enable_ibrs();
		...

the MSR might get set to non-zero again after having been
cleared by the code your patch adds. I therefore think that the
only race free solution would be to do the clearing from
stop-machine context. But maybe I'm overlooking something.

Jan

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

* Re: [PATCH] x86/xen: zero MSR_IA32_SPEC_CTRL before suspend
       [not found] ` <5AA8F00302000078001B15EE@suse.com>
@ 2018-04-11  7:08   ` Juergen Gross
  2018-04-11  9:15     ` Jan Beulich
  0 siblings, 1 reply; 11+ messages in thread
From: Juergen Gross @ 2018-04-11  7:08 UTC (permalink / raw)
  To: Jan Beulich
  Cc: x86, tglx, xen-devel, boris.ostrovsky, mingo, linux-kernel, stable, hpa

On 14/03/18 09:48, Jan Beulich wrote:
>>>> On 26.02.18 at 15:08, <jgross@suse.com> wrote:
>> @@ -35,6 +40,9 @@ void xen_arch_post_suspend(int cancelled)
>>  
>>  static void xen_vcpu_notify_restore(void *data)
>>  {
>> +	if (xen_pv_domain() && boot_cpu_has(X86_FEATURE_SPEC_CTRL))
>> +		wrmsrl(MSR_IA32_SPEC_CTRL, this_cpu_read(spec_ctrl));
>> +
>>  	/* Boot processor notified via generic timekeeping_resume() */
>>  	if (smp_processor_id() == 0)
>>  		return;
>> @@ -44,7 +52,15 @@ static void xen_vcpu_notify_restore(void *data)
>>  
>>  static void xen_vcpu_notify_suspend(void *data)
>>  {
>> +	u64 tmp;
>> +
>>  	tick_suspend_local();
>> +
>> +	if (xen_pv_domain() && boot_cpu_has(X86_FEATURE_SPEC_CTRL)) {
>> +		rdmsrl(MSR_IA32_SPEC_CTRL, tmp);
>> +		this_cpu_write(spec_ctrl, tmp);
>> +		wrmsrl(MSR_IA32_SPEC_CTRL, 0);
>> +	}
>>  }
> 
> While investigating ways how to do something similar on our old,
> non-pvops kernels I've started wondering if this solution is actually
> correct in all cases. Of course discussing this is complicated by the
> fact that the change there might be a conflict with hasn't landed
> in Linus'es tree yet (see e.g.
> https://patchwork.kernel.org/patch/10153843/ for an upstream
> submission; I haven't been able to find any discussion on that
> patch or why it isn't upstream yet), but we have it in our various
> branches. The potential problem I'm seeing is with the clearing
> and re-setting of SPEC_CTRL around CPUs going idle. While the
> active CPU could have preemption disabled (if that isn't the case
> already), the passive CPUs are - afaict - neither under full control
> of drivers/xen/manage.c:do_suspend() nor excluded yet from
> any further scheduling activity. Hence with code like this (taken
> from one of our branches)
> 
> static void mwait_idle(void)
> {
> 	if (!current_set_polling_and_test()) {
> 		trace_cpu_idle_rcuidle(1, smp_processor_id());
> 		if (this_cpu_has(X86_BUG_CLFLUSH_MONITOR)) {
> 			smp_mb(); /* quirk */
> 			clflush((void *)&current_thread_info()->flags);
> 			smp_mb(); /* quirk */
> 		}
> 
> 		x86_disable_ibrs();
> 
> 		__monitor((void *)&current_thread_info()->flags, 0, 0);
> 		if (!need_resched())
> 			__sti_mwait(0, 0);
> 		else
> 			local_irq_enable();
> 
> 		x86_enable_ibrs();
> 		...
> 
> the MSR might get set to non-zero again after having been
> cleared by the code your patch adds. I therefore think that the
> only race free solution would be to do the clearing from
> stop-machine context. But maybe I'm overlooking something.

Currently and with the above mentioned patch there is no problem: Xen pv
guests always use default_idle(), so mwait_idle() eventually playing
with MSR_IA32_SPEC_CTRL won't affect us.

In order to ensure that won't change in future default_idle() should
never modify MSR_IA32_SPEC_CTRL. In case something like that would be
required we should rather add another idle function doing that.


Juergen

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

* Re: [PATCH] x86/xen: zero MSR_IA32_SPEC_CTRL before suspend
  2018-04-11  7:08   ` Juergen Gross
@ 2018-04-11  9:15     ` Jan Beulich
  2018-04-11 11:53       ` [Xen-devel] " Ingo Molnar
  0 siblings, 1 reply; 11+ messages in thread
From: Jan Beulich @ 2018-04-11  9:15 UTC (permalink / raw)
  To: tglx, mingo, Juergen Gross, hpa
  Cc: x86, xen-devel, boris.ostrovsky, linux-kernel, stable

>>> On 11.04.18 at 09:08, <jgross@suse.com> wrote:
> On 14/03/18 09:48, Jan Beulich wrote:
>>>>> On 26.02.18 at 15:08, <jgross@suse.com> wrote:
>>> @@ -35,6 +40,9 @@ void xen_arch_post_suspend(int cancelled)
>>>  
>>>  static void xen_vcpu_notify_restore(void *data)
>>>  {
>>> +	if (xen_pv_domain() && boot_cpu_has(X86_FEATURE_SPEC_CTRL))
>>> +		wrmsrl(MSR_IA32_SPEC_CTRL, this_cpu_read(spec_ctrl));
>>> +
>>>  	/* Boot processor notified via generic timekeeping_resume() */
>>>  	if (smp_processor_id() == 0)
>>>  		return;
>>> @@ -44,7 +52,15 @@ static void xen_vcpu_notify_restore(void *data)
>>>  
>>>  static void xen_vcpu_notify_suspend(void *data)
>>>  {
>>> +	u64 tmp;
>>> +
>>>  	tick_suspend_local();
>>> +
>>> +	if (xen_pv_domain() && boot_cpu_has(X86_FEATURE_SPEC_CTRL)) {
>>> +		rdmsrl(MSR_IA32_SPEC_CTRL, tmp);
>>> +		this_cpu_write(spec_ctrl, tmp);
>>> +		wrmsrl(MSR_IA32_SPEC_CTRL, 0);
>>> +	}
>>>  }
>> 
>> While investigating ways how to do something similar on our old,
>> non-pvops kernels I've started wondering if this solution is actually
>> correct in all cases. Of course discussing this is complicated by the
>> fact that the change there might be a conflict with hasn't landed
>> in Linus'es tree yet (see e.g.
>> https://patchwork.kernel.org/patch/10153843/ for an upstream
>> submission; I haven't been able to find any discussion on that
>> patch or why it isn't upstream yet), but we have it in our various
>> branches. The potential problem I'm seeing is with the clearing
>> and re-setting of SPEC_CTRL around CPUs going idle. While the
>> active CPU could have preemption disabled (if that isn't the case
>> already), the passive CPUs are - afaict - neither under full control
>> of drivers/xen/manage.c:do_suspend() nor excluded yet from
>> any further scheduling activity. Hence with code like this (taken
>> from one of our branches)
>> 
>> static void mwait_idle(void)
>> {
>> 	if (!current_set_polling_and_test()) {
>> 		trace_cpu_idle_rcuidle(1, smp_processor_id());
>> 		if (this_cpu_has(X86_BUG_CLFLUSH_MONITOR)) {
>> 			smp_mb(); /* quirk */
>> 			clflush((void *)&current_thread_info()->flags);
>> 			smp_mb(); /* quirk */
>> 		}
>> 
>> 		x86_disable_ibrs();
>> 
>> 		__monitor((void *)&current_thread_info()->flags, 0, 0);
>> 		if (!need_resched())
>> 			__sti_mwait(0, 0);
>> 		else
>> 			local_irq_enable();
>> 
>> 		x86_enable_ibrs();
>> 		...
>> 
>> the MSR might get set to non-zero again after having been
>> cleared by the code your patch adds. I therefore think that the
>> only race free solution would be to do the clearing from
>> stop-machine context. But maybe I'm overlooking something.
> 
> Currently and with the above mentioned patch there is no problem: Xen pv
> guests always use default_idle(), so mwait_idle() eventually playing
> with MSR_IA32_SPEC_CTRL won't affect us.

It's pretty unclear to me why default_idle() doesn't have this - in
Xen we do it for all idle routines.

> In order to ensure that won't change in future default_idle() should
> never modify MSR_IA32_SPEC_CTRL. In case something like that would be
> required we should rather add another idle function doing that.

This looks like a pretty strange/non-obvious requirement, which I
don't think anyone would remember.

Additionally, x86 maintainers: is there a particular reason this (or
any functionally equivalent patch) isn't upstream yet? As indicated
before, I had not been able to find any discussion, and hence I
see no reason why this is a patch we effectively carry privately in
our distro branches (and likely other distros do so too).

Jan

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

* Re: [Xen-devel] [PATCH] x86/xen: zero MSR_IA32_SPEC_CTRL before suspend
  2018-04-11  9:15     ` Jan Beulich
@ 2018-04-11 11:53       ` Ingo Molnar
  2018-04-11 11:58         ` Jan Beulich
  0 siblings, 1 reply; 11+ messages in thread
From: Ingo Molnar @ 2018-04-11 11:53 UTC (permalink / raw)
  To: Jan Beulich
  Cc: tglx, mingo, Juergen Gross, hpa, xen-devel, boris.ostrovsky, x86,
	linux-kernel, stable


* Jan Beulich <JBeulich@suse.com> wrote:

> Additionally, x86 maintainers: is there a particular reason this (or
> any functionally equivalent patch) isn't upstream yet? As indicated
> before, I had not been able to find any discussion, and hence I
> see no reason why this is a patch we effectively carry privately in
> our distro branches (and likely other distros do so too).

The patch was merged 6 weeks ago and is now upstream:

  71c208dd54ab: x86/xen: Zero MSR_IA32_SPEC_CTRL before suspend

Thanks,

	Ingo

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

* Re: [Xen-devel] [PATCH] x86/xen: zero MSR_IA32_SPEC_CTRL before suspend
  2018-04-11 11:53       ` [Xen-devel] " Ingo Molnar
@ 2018-04-11 11:58         ` Jan Beulich
  2018-04-12  7:32           ` Ingo Molnar
  0 siblings, 1 reply; 11+ messages in thread
From: Jan Beulich @ 2018-04-11 11:58 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: x86, tglx, xen-devel, boris.ostrovsky, mingo, Juergen Gross,
	linux-kernel, stable, hpa

>>> On 11.04.18 at 13:53, <mingo@kernel.org> wrote:
> * Jan Beulich <JBeulich@suse.com> wrote:
> 
>> Additionally, x86 maintainers: is there a particular reason this (or
>> any functionally equivalent patch) isn't upstream yet? As indicated
>> before, I had not been able to find any discussion, and hence I
>> see no reason why this is a patch we effectively carry privately in
>> our distro branches (and likely other distros do so too).
> 
> The patch was merged 6 weeks ago and is now upstream:
> 
>   71c208dd54ab: x86/xen: Zero MSR_IA32_SPEC_CTRL before suspend

I'm sorry, but no, this isn't the patch I was inquiring about.
Instead I'm wondering of the disposition of the patch disabling
IBRS around a CPU going idle.

Jan

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

* Re: [Xen-devel] [PATCH] x86/xen: zero MSR_IA32_SPEC_CTRL before suspend
  2018-04-11 11:58         ` Jan Beulich
@ 2018-04-12  7:32           ` Ingo Molnar
  2018-04-12  7:53             ` Jan Beulich
  0 siblings, 1 reply; 11+ messages in thread
From: Ingo Molnar @ 2018-04-12  7:32 UTC (permalink / raw)
  To: Jan Beulich
  Cc: x86, tglx, xen-devel, boris.ostrovsky, mingo, Juergen Gross,
	linux-kernel, stable, hpa


* Jan Beulich <JBeulich@suse.com> wrote:

> >>> On 11.04.18 at 13:53, <mingo@kernel.org> wrote:
> > * Jan Beulich <JBeulich@suse.com> wrote:
> > 
> >> Additionally, x86 maintainers: is there a particular reason this (or
> >> any functionally equivalent patch) isn't upstream yet? As indicated
> >> before, I had not been able to find any discussion, and hence I
> >> see no reason why this is a patch we effectively carry privately in
> >> our distro branches (and likely other distros do so too).
> > 
> > The patch was merged 6 weeks ago and is now upstream:
> > 
> >   71c208dd54ab: x86/xen: Zero MSR_IA32_SPEC_CTRL before suspend
> 
> I'm sorry, but no, this isn't the patch I was inquiring about.
> Instead I'm wondering of the disposition of the patch disabling
> IBRS around a CPU going idle.

Got any specific link or subject line for that submission?

Thanks,

	Ingo

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

* Re: [Xen-devel] [PATCH] x86/xen: zero MSR_IA32_SPEC_CTRL before suspend
  2018-04-12  7:32           ` Ingo Molnar
@ 2018-04-12  7:53             ` Jan Beulich
  2018-04-12  8:08               ` Ingo Molnar
  0 siblings, 1 reply; 11+ messages in thread
From: Jan Beulich @ 2018-04-12  7:53 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: x86, tglx, xen-devel, boris.ostrovsky, mingo, Juergen Gross,
	linux-kernel, stable, hpa

>>> On 12.04.18 at 09:32, <mingo@kernel.org> wrote:

> * Jan Beulich <JBeulich@suse.com> wrote:
> 
>> >>> On 11.04.18 at 13:53, <mingo@kernel.org> wrote:
>> > * Jan Beulich <JBeulich@suse.com> wrote:
>> > 
>> >> Additionally, x86 maintainers: is there a particular reason this (or
>> >> any functionally equivalent patch) isn't upstream yet? As indicated
>> >> before, I had not been able to find any discussion, and hence I
>> >> see no reason why this is a patch we effectively carry privately in
>> >> our distro branches (and likely other distros do so too).
>> > 
>> > The patch was merged 6 weeks ago and is now upstream:
>> > 
>> >   71c208dd54ab: x86/xen: Zero MSR_IA32_SPEC_CTRL before suspend
>> 
>> I'm sorry, but no, this isn't the patch I was inquiring about.
>> Instead I'm wondering of the disposition of the patch disabling
>> IBRS around a CPU going idle.
> 
> Got any specific link or subject line for that submission?

Sure, as written in the original response to Jürgen's patch:
https://patchwork.kernel.org/patch/10153843/

Jan

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

* Re: [Xen-devel] [PATCH] x86/xen: zero MSR_IA32_SPEC_CTRL before suspend
  2018-04-12  7:53             ` Jan Beulich
@ 2018-04-12  8:08               ` Ingo Molnar
  0 siblings, 0 replies; 11+ messages in thread
From: Ingo Molnar @ 2018-04-12  8:08 UTC (permalink / raw)
  To: Jan Beulich
  Cc: x86, tglx, xen-devel, boris.ostrovsky, mingo, Juergen Gross,
	linux-kernel, stable, hpa


* Jan Beulich <JBeulich@suse.com> wrote:

> >>> On 12.04.18 at 09:32, <mingo@kernel.org> wrote:
> 
> > * Jan Beulich <JBeulich@suse.com> wrote:
> > 
> >> >>> On 11.04.18 at 13:53, <mingo@kernel.org> wrote:
> >> > * Jan Beulich <JBeulich@suse.com> wrote:
> >> > 
> >> >> Additionally, x86 maintainers: is there a particular reason this (or
> >> >> any functionally equivalent patch) isn't upstream yet? As indicated
> >> >> before, I had not been able to find any discussion, and hence I
> >> >> see no reason why this is a patch we effectively carry privately in
> >> >> our distro branches (and likely other distros do so too).
> >> > 
> >> > The patch was merged 6 weeks ago and is now upstream:
> >> > 
> >> >   71c208dd54ab: x86/xen: Zero MSR_IA32_SPEC_CTRL before suspend
> >> 
> >> I'm sorry, but no, this isn't the patch I was inquiring about.
> >> Instead I'm wondering of the disposition of the patch disabling
> >> IBRS around a CPU going idle.
> > 
> > Got any specific link or subject line for that submission?
> 
> Sure, as written in the original response to Jürgen's patch:
> https://patchwork.kernel.org/patch/10153843/

Argh, indeed you did!

In any case, this submission from Tim Chen:

   [PATCH v3 0/5] IBRS patch series

Contained a glaring bug in patch #2 which Thomas pointed out, and AFAICS the 
series was never resubmitted to lkml so it got lost.

In any case thanks for the reminder!

Thanks,

	Ingo

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

end of thread, other threads:[~2018-04-12  8:08 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-26 14:08 [PATCH] x86/xen: zero MSR_IA32_SPEC_CTRL before suspend Juergen Gross
2018-02-26 16:17 ` Jan Beulich
2018-02-28 15:07 ` [tip:x86/pti] x86/xen: Zero " tip-bot for Juergen Gross
2018-03-14  8:48 ` [PATCH] x86/xen: zero " Jan Beulich
     [not found] ` <5AA8F00302000078001B15EE@suse.com>
2018-04-11  7:08   ` Juergen Gross
2018-04-11  9:15     ` Jan Beulich
2018-04-11 11:53       ` [Xen-devel] " Ingo Molnar
2018-04-11 11:58         ` Jan Beulich
2018-04-12  7:32           ` Ingo Molnar
2018-04-12  7:53             ` Jan Beulich
2018-04-12  8:08               ` Ingo Molnar

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).