mbox series

[kvm-unit-tests,v2,0/2] s390x: firq: floating interrupt test

Message ID 20211202123553.96412-1-david@redhat.com (mailing list archive)
Headers show
Series s390x: firq: floating interrupt test | expand

Message

David Hildenbrand Dec. 2, 2021, 12:35 p.m. UTC
From patch #2:

"
We had a KVM BUG fixed by kernel commit a3e03bc1368c ("KVM: s390: index
kvm->arch.idle_mask by vcpu_idx"), whereby a floating interrupt might get
stuck forever because a CPU in the wait state would not get woken up.

The issue can be triggered when CPUs are created in a nonlinear fashion,
such that the CPU address ("core-id") and the KVM cpu id don't match.

So let's start with a floating interrupt test that will trigger a
floating interrupt (via SCLP) to be delivered to a CPU in the wait state.
"

v1 -> v2:
- Remove flag logic
- Extend comments
- Minor cleanups
- sclp_clear_busy() before printing to the SCLP console

David Hildenbrand (2):
  s390x: make smp_cpu_setup() return 0 on success
  s390x: firq: floating interrupt test

 lib/s390x/sclp.c    |  11 ++--
 lib/s390x/sclp.h    |   1 +
 lib/s390x/smp.c     |   1 +
 s390x/Makefile      |   1 +
 s390x/firq.c        | 122 ++++++++++++++++++++++++++++++++++++++++++++
 s390x/unittests.cfg |  10 ++++
 6 files changed, 143 insertions(+), 3 deletions(-)
 create mode 100644 s390x/firq.c

Comments

Claudio Imbrenda Dec. 6, 2021, 1:35 p.m. UTC | #1
On Thu,  2 Dec 2021 13:35:51 +0100
David Hildenbrand <david@redhat.com> wrote:

> From patch #2:
> 
> "
> We had a KVM BUG fixed by kernel commit a3e03bc1368c ("KVM: s390: index
> kvm->arch.idle_mask by vcpu_idx"), whereby a floating interrupt might get
> stuck forever because a CPU in the wait state would not get woken up.
> 
> The issue can be triggered when CPUs are created in a nonlinear fashion,
> such that the CPU address ("core-id") and the KVM cpu id don't match.
> 
> So let's start with a floating interrupt test that will trigger a
> floating interrupt (via SCLP) to be delivered to a CPU in the wait state.
> "

ok I'll try picking this series

> 
> v1 -> v2:
> - Remove flag logic
> - Extend comments
> - Minor cleanups
> - sclp_clear_busy() before printing to the SCLP console
> 
> David Hildenbrand (2):
>   s390x: make smp_cpu_setup() return 0 on success
>   s390x: firq: floating interrupt test
> 
>  lib/s390x/sclp.c    |  11 ++--
>  lib/s390x/sclp.h    |   1 +
>  lib/s390x/smp.c     |   1 +
>  s390x/Makefile      |   1 +
>  s390x/firq.c        | 122 ++++++++++++++++++++++++++++++++++++++++++++
>  s390x/unittests.cfg |  10 ++++
>  6 files changed, 143 insertions(+), 3 deletions(-)
>  create mode 100644 s390x/firq.c
>