Commit 4bcd9bc6 authored by Paolo Bonzini's avatar Paolo Bonzini

Merge tag 'kvm-s390-master-6.6-1' of...

Merge tag 'kvm-s390-master-6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD

One small fix for gisa to avoid stalls.
parents 40164485 f87ef572
...@@ -303,11 +303,6 @@ static inline u8 gisa_get_ipm_or_restore_iam(struct kvm_s390_gisa_interrupt *gi) ...@@ -303,11 +303,6 @@ static inline u8 gisa_get_ipm_or_restore_iam(struct kvm_s390_gisa_interrupt *gi)
return 0; return 0;
} }
static inline int gisa_in_alert_list(struct kvm_s390_gisa *gisa)
{
return READ_ONCE(gisa->next_alert) != (u32)virt_to_phys(gisa);
}
static inline void gisa_set_ipm_gisc(struct kvm_s390_gisa *gisa, u32 gisc) static inline void gisa_set_ipm_gisc(struct kvm_s390_gisa *gisa, u32 gisc)
{ {
set_bit_inv(IPM_BIT_OFFSET + gisc, (unsigned long *) gisa); set_bit_inv(IPM_BIT_OFFSET + gisc, (unsigned long *) gisa);
...@@ -3216,11 +3211,12 @@ void kvm_s390_gisa_destroy(struct kvm *kvm) ...@@ -3216,11 +3211,12 @@ void kvm_s390_gisa_destroy(struct kvm *kvm)
if (!gi->origin) if (!gi->origin)
return; return;
if (gi->alert.mask) WARN(gi->alert.mask != 0x00,
KVM_EVENT(3, "vm 0x%pK has unexpected iam 0x%02x", "unexpected non zero alert.mask 0x%02x",
kvm, gi->alert.mask); gi->alert.mask);
while (gisa_in_alert_list(gi->origin)) gi->alert.mask = 0x00;
cpu_relax(); if (gisa_set_iam(gi->origin, gi->alert.mask))
process_gib_alert_list();
hrtimer_cancel(&gi->timer); hrtimer_cancel(&gi->timer);
gi->origin = NULL; gi->origin = NULL;
VM_EVENT(kvm, 3, "gisa 0x%pK destroyed", gisa); VM_EVENT(kvm, 3, "gisa 0x%pK destroyed", gisa);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment