From: Cornelia Huck <cohuck@redhat.com>
To: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: KVM <kvm@vger.kernel.org>,
linux-s390 <linux-s390@vger.kernel.org>,
Janosch Frank <frankja@linux.vnet.ibm.com>,
David Hildenbrand <david@redhat.com>,
Michael Mueller <mimu@linux.vnet.ibm.com>
Subject: Re: [PATCH v3 06/12] KVM: s390: exploit GISA and AIV for emulated interrupts
Date: Fri, 26 Jan 2018 10:12:51 +0100 [thread overview]
Message-ID: <20180126101251.482480dc.cohuck@redhat.com> (raw)
In-Reply-To: <20180125170608.38276-3-borntraeger@de.ibm.com>
On Thu, 25 Jan 2018 18:06:06 +0100
Christian Borntraeger <borntraeger@de.ibm.com> wrote:
> From: Michael Mueller <mimu@linux.vnet.ibm.com>
>
> The adapter interruption virtualization (AIV) facility is an
> optional facility that comes with functionality expected to increase
> the performance of adapter interrupt handling for both emulated and
> passed-through adapter interrupts. With AIV, adapter interrupts can be
> delivered to the guest without exiting SIE.
>
> This patch provides some preparations for using AIV for emulated adapter
> interrupts (inclusive virtio) if it's available. When using AIV, the
s/inclusive/including/
> interrupts are delivered at the so called GISA by setting the bit
> corresponding to its Interruption Subclass (ISC) in the Interruption
> Pending Mask (IPM) instead of inserting a node into the floating interrupt
> list.
>
> To keep the change reasonably small, the handling of this new state is
> deferred in get_all_floating_irqs and handle_tpi. This patch concentrates
> on the code handling enqueuement of emulated adapter interrupts, and their
> delivery to the guest.
>
> Note that care is still required for adapter interrupts using AIV,
> because there is no guarantee that AIV is going to deliver the adapter
> interrupts pending at the GISA (consider all vcpus idle). When delivering
> GISA adapter interrupts by the host (usual mechanism) special attention
> is required to honor interrupt priorities.
>
> Empirical results show that the time window between making an interrupt
> pending at the GISA and doing kvm_s390_deliver_pending_interrupts is
> sufficient for a guest with at least moderate cpu activity to get adapter
> interrupts delivered within the SIE, and potentially save some SIE exits
> (if not other deliverable interrupts).
>
> The code will be activated with a follow-up patch.
>
> Signed-off-by: Michael Mueller <mimu@linux.vnet.ibm.com>
> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
> arch/s390/include/asm/kvm_host.h | 1 +
> arch/s390/kvm/interrupt.c | 93 ++++++++++++++++++++++++++++++++--------
> arch/s390/kvm/kvm-s390.c | 8 ++++
> arch/s390/kvm/kvm-s390.h | 3 ++
> 4 files changed, 87 insertions(+), 18 deletions(-)
>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
next prev parent reply other threads:[~2018-01-26 9:12 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-25 17:06 [PATCH v3] KVM: s390: exitless interrupt support for KVM Christian Borntraeger
2018-01-25 17:06 ` [PATCH v3 04/12] KVM: s390: implement GISA IPM related primitives Christian Borntraeger
2018-01-25 17:27 ` David Hildenbrand
2018-01-26 9:09 ` Cornelia Huck
2018-01-25 17:06 ` [PATCH v3 06/12] KVM: s390: exploit GISA and AIV for emulated interrupts Christian Borntraeger
2018-01-25 17:31 ` David Hildenbrand
2018-01-26 9:12 ` Cornelia Huck [this message]
2018-01-25 17:06 ` [PATCH v3 07/12] KVM: s390: abstract adapter interruption word generation from ISC Christian Borntraeger
2018-01-25 17:37 ` David Hildenbrand
2018-01-25 17:06 ` [PATCH v3 10/12] KVM: s390: activate GISA for emulated interrupts Christian Borntraeger
2018-01-25 17:38 ` David Hildenbrand
2018-01-26 8:16 ` Christian Borntraeger
2018-01-26 9:43 ` Cornelia Huck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180126101251.482480dc.cohuck@redhat.com \
--to=cohuck@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=david@redhat.com \
--cc=frankja@linux.vnet.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=mimu@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox