[Xen-devel] [PATCH v3 0/5] x86: fixes/improvements for scratch cpumask

Roger Pau Monne posted 5 patches 4 years, 2 months ago
Failed in applying to current master (apply log)
xen/arch/x86/cpu/mcheck/mce.c |  2 ++
xen/arch/x86/io_apic.c        |  6 ++--
xen/arch/x86/irq.c            | 13 +++++++--
xen/arch/x86/mm.c             | 30 ++++++++++++++------
xen/arch/x86/msi.c            |  4 ++-
xen/arch/x86/nmi.c            | 11 ++++----
xen/arch/x86/smp.c            | 52 ++++++++++++++++++++++++++++++++++-
xen/arch/x86/smpboot.c        | 10 +++++--
xen/arch/x86/traps.c          | 10 ++++++-
xen/include/asm-x86/hardirq.h | 13 ++++++++-
xen/include/asm-x86/nmi.h     |  2 ++
xen/include/asm-x86/smp.h     | 10 +++++++
xen/include/xen/irq_cpustat.h |  1 -
13 files changed, 137 insertions(+), 27 deletions(-)
[Xen-devel] [PATCH v3 0/5] x86: fixes/improvements for scratch cpumask
Posted by Roger Pau Monne 4 years, 2 months ago
Hello,

Commit:

5500d265a2a8fa63d60c08beb549de8ec82ff7a5
x86/smp: use APIC ALLBUT destination shorthand when possible

Introduced a bogus usage of the scratch cpumask: it was used in a
function that could be called from interrupt context, and hence using
the scratch cpumask there is not safe. Patch #4 is a fix for that usage,
together with also preventing the usage of any per-CPU variables when
send_IPI_mask is called from #MC or #NMI context. Previous patches are
preparatory changes.

Patch #5 adds some debug infrastructure to make sure the scratch cpumask
is used in the right context, and hence should prevent further missuses.

Thanks, Roger.

Roger Pau Monne (5):
  x86: introduce a nmi_count tracking variable
  x86: track when in #NMI context
  x86: track when in #MC context
  x86/smp: use a dedicated scratch cpumask in send_IPI_mask
  x86: add accessors for scratch cpu mask

 xen/arch/x86/cpu/mcheck/mce.c |  2 ++
 xen/arch/x86/io_apic.c        |  6 ++--
 xen/arch/x86/irq.c            | 13 +++++++--
 xen/arch/x86/mm.c             | 30 ++++++++++++++------
 xen/arch/x86/msi.c            |  4 ++-
 xen/arch/x86/nmi.c            | 11 ++++----
 xen/arch/x86/smp.c            | 52 ++++++++++++++++++++++++++++++++++-
 xen/arch/x86/smpboot.c        | 10 +++++--
 xen/arch/x86/traps.c          | 10 ++++++-
 xen/include/asm-x86/hardirq.h | 13 ++++++++-
 xen/include/asm-x86/nmi.h     |  2 ++
 xen/include/asm-x86/smp.h     | 10 +++++++
 xen/include/xen/irq_cpustat.h |  1 -
 13 files changed, 137 insertions(+), 27 deletions(-)

-- 
2.25.0


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel