All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] x86/idle: Multiple MWAIT fixes
@ 2025-07-02 14:41 Andrew Cooper
  2025-07-02 14:41 ` [PATCH 1/6] x86/idle: Remove broken MWAIT implementation Andrew Cooper
                   ` (5 more replies)
  0 siblings, 6 replies; 35+ messages in thread
From: Andrew Cooper @ 2025-07-02 14:41 UTC (permalink / raw)
  To: Xen-devel
  Cc: Andrew Cooper, Jan Beulich, Roger Pau Monné, Anthony PERARD,
	Michal Orzel, Julien Grall, Stefano Stabellini

The two main bugs were identified in Linux first, and I've modelled Xen's fix
similarly.

Patches 1-4 want committing together.  They do bisect and operate correctly,
but the range takes out an optimisation in order to reimplement it correctly.

https://gitlab.com/xen-project/hardware/xen-staging/-/pipelines/1902584433

Andrew Cooper (6):
  x86/idle: Remove broken MWAIT implementation
  x86/idle: Convert force_mwait_ipi_wakeup to X86_BUG_MONITOR
  xen/softirq: Rework arch_skip_send_event_check() into arch_pend_softirq()
  x86/idle: Implement a new MWAIT IPI-elision algorithm
  x86/idle: Drop incorrect smp_mb() in mwait_idle_with_hints()
  x86/idle: Fix buggy "x86/mwait-idle: enable interrupts before C1 on Xeons"

 xen/arch/x86/acpi/cpu_idle.c           | 92 +++++++++++---------------
 xen/arch/x86/cpu/intel.c               |  2 +-
 xen/arch/x86/cpu/mwait-idle.c          |  8 +--
 xen/arch/x86/hpet.c                    |  2 -
 xen/arch/x86/include/asm/cpufeatures.h |  1 +
 xen/arch/x86/include/asm/hardirq.h     | 21 ++++--
 xen/arch/x86/include/asm/mwait.h       |  3 -
 xen/arch/x86/include/asm/softirq.h     | 34 +++++++++-
 xen/common/softirq.c                   |  8 +--
 xen/include/xen/cpuidle.h              |  2 -
 xen/include/xen/irq_cpustat.h          |  1 -
 xen/include/xen/softirq.h              | 16 +++++
 12 files changed, 110 insertions(+), 80 deletions(-)

-- 
2.39.5



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

end of thread, other threads:[~2025-07-04 16:14 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-02 14:41 [PATCH 0/6] x86/idle: Multiple MWAIT fixes Andrew Cooper
2025-07-02 14:41 ` [PATCH 1/6] x86/idle: Remove broken MWAIT implementation Andrew Cooper
2025-07-03 16:01   ` Roger Pau Monné
2025-07-03 16:19     ` Andrew Cooper
2025-07-02 14:41 ` [PATCH 2/6] x86/idle: Convert force_mwait_ipi_wakeup to X86_BUG_MONITOR Andrew Cooper
2025-07-02 14:41 ` [PATCH 3/6] xen/softirq: Rework arch_skip_send_event_check() into arch_pend_softirq() Andrew Cooper
2025-07-03  8:11   ` Jan Beulich
2025-07-03 10:36     ` Andrew Cooper
2025-07-03 11:24       ` Jan Beulich
2025-07-03 16:21   ` Roger Pau Monné
2025-07-04  7:23     ` Jan Beulich
2025-07-04  7:55       ` Roger Pau Monné
2025-07-04  8:25         ` Jan Beulich
2025-07-04 16:00           ` Andrew Cooper
2025-07-02 14:41 ` [PATCH 4/6] x86/idle: Implement a new MWAIT IPI-elision algorithm Andrew Cooper
2025-07-03  9:01   ` Jan Beulich
2025-07-03 11:59     ` Andrew Cooper
2025-07-03 14:07       ` Jan Beulich
2025-07-03 17:29         ` Andrew Cooper
2025-07-03 16:36   ` Roger Pau Monné
2025-07-03 17:48     ` Andrew Cooper
2025-07-04  7:24       ` Roger Pau Monné
2025-07-04 16:13         ` Andrew Cooper
2025-07-04  7:52   ` Roger Pau Monné
2025-07-04 16:14     ` Andrew Cooper
2025-07-02 14:41 ` [PATCH 5/6] x86/idle: Drop incorrect smp_mb() in mwait_idle_with_hints() Andrew Cooper
2025-07-03  9:24   ` Jan Beulich
2025-07-03 12:37     ` Andrew Cooper
2025-07-03 13:30       ` Jan Beulich
2025-07-04 15:45         ` Andrew Cooper
2025-07-02 14:41 ` [PATCH 6/6] x86/idle: Fix buggy "x86/mwait-idle: enable interrupts before C1 on Xeons" Andrew Cooper
2025-07-03  9:35   ` Jan Beulich
2025-07-03  9:43   ` Jan Beulich
2025-07-03 12:10     ` Andrew Cooper
2025-07-03 13:11       ` Jan Beulich

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.