diff options
author | Nicolai Stange <nstange@suse.de> | 2018-07-29 14:06:04 +0300 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2018-08-05 10:53:13 +0300 |
commit | ffcba43ff66c7dab34ec700debd491d2a4d319b4 (patch) | |
tree | f72356e0ee0075fcbd2e681a83645f926c4df1eb /arch/x86/kernel | |
parent | 447ae316670230d7d29430e2cbf1f5db4f49d14c (diff) | |
download | linux-ffcba43ff66c7dab34ec700debd491d2a4d319b4.tar.xz |
x86/irq: Let interrupt handlers set kvm_cpu_l1tf_flush_l1d
The last missing piece to having vmx_l1d_flush() take interrupts after
VMEXIT into account is to set the kvm_cpu_l1tf_flush_l1d per-cpu flag on
irq entry.
Issue calls to kvm_set_cpu_l1tf_flush_l1d() from entering_irq(),
ipi_entering_ack_irq(), smp_reschedule_interrupt() and
uv_bau_message_interrupt().
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Nicolai Stange <nstange@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/smp.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c index 5c574dff4c1a..04adc8d60aed 100644 --- a/arch/x86/kernel/smp.c +++ b/arch/x86/kernel/smp.c @@ -261,6 +261,7 @@ __visible void __irq_entry smp_reschedule_interrupt(struct pt_regs *regs) { ack_APIC_irq(); inc_irq_stat(irq_resched_count); + kvm_set_cpu_l1tf_flush_l1d(); if (trace_resched_ipi_enabled()) { /* |