All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cohuck@redhat.com>
To: Pierre Morel <pmorel@linux.vnet.ibm.com>
Cc: qemu-devel@nongnu.org, agraf@suse.de, borntraeger@de.ibm.com,
	zyimin@linux.vnet.ibm.com, pasic@linux.vnet.ibm.com,
	qemu-s390x@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v1 2/5] s390x/css: Use AIS AIRQ injection only if adapter support AIS
Date: Mon, 9 Oct 2017 10:17:14 +0200	[thread overview]
Message-ID: <20171009101714.5b52d432.cohuck@redhat.com> (raw)
In-Reply-To: <1507124979-8880-3-git-send-email-pmorel@linux.vnet.ibm.com>

On Wed,  4 Oct 2017 15:49:36 +0200
Pierre Morel <pmorel@linux.vnet.ibm.com> wrote:

> Testing to use Adapter Interrupt suppression or not depend on AIS
> being enabled in the kernel.
> To implement AIS emulation we must move this test inside the FLIC
> dedicated irq_inject function.
> 
> Furthermore, a test to verify that the adapter is subject to the AIS
> must be added.
> 
> Last, there is no need to crash QEMU if the injection failed, the
> guest may recover from it.
> 
> Signed-off-by: Pierre Morel <pmorel@linux.vnet.ibm.com>
> ---
>  hw/s390x/css.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/s390x/css.c b/hw/s390x/css.c
> index 901dc6a..6e74a5c 100644
> --- a/hw/s390x/css.c
> +++ b/hw/s390x/css.c
> @@ -672,10 +672,12 @@ void css_adapter_interrupt(CssIoAdapterType type, uint8_t isc)
>      }
>  
>      trace_css_adapter_interrupt(isc);
> -    if (fs->ais_supported) {
> +    /* Use standard IRQ injection for adapters not supporting AIS */

I'd move that comment to the else branch.

> +    if (adapter->flags & S390_ADAPTER_SUPPRESSIBLE) {
> +        /* Use AIRQ injection for adapters subject to AIS */
>          if (fsc->inject_airq(fs, type, isc, adapter->flags)) {
>              error_report("Failed to inject airq with AIS supported");
> -            exit(1);
> +            /* Report error - guest will handle not receiving interrupts */

I'm not 100% sure that this is the right thing to do. I have always
operated under the assumption "if the hardware (host) accepts the I/O,
it owes you an interrupt". (Don't the other failed interrupt injection
paths do a hard stop as well? Is there any reasonable way for an
injection failure to be transient?)

>          }
>      } else {
>          s390_io_interrupt(0, 0, 0, io_int_word);

  reply	other threads:[~2017-10-09  8:17 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-04 13:49 [Qemu-devel] [PATCH v1 0/5][RFC] Refactoring of AIS support Pierre Morel
2017-10-04 13:49 ` [Qemu-devel] [PATCH v1 1/5] s390x/kvm: Enable AIS from CPU model always Pierre Morel
2017-10-09  9:09   ` Cornelia Huck
2017-10-09 13:58     ` Pierre Morel
2017-10-04 13:49 ` [Qemu-devel] [PATCH v1 2/5] s390x/css: Use AIS AIRQ injection only if adapter support AIS Pierre Morel
2017-10-09  8:17   ` Cornelia Huck [this message]
2017-10-09 13:55     ` Pierre Morel
2017-10-04 13:49 ` [Qemu-devel] [PATCH v1 3/5] s390x/intc: Emulate Adapter Interrupt Suppression Pierre Morel
2017-10-09  8:42   ` Cornelia Huck
2017-10-09  9:08     ` Cornelia Huck
2017-10-09 14:05       ` Pierre Morel
2017-10-09 14:03     ` Pierre Morel
2017-10-04 13:49 ` [Qemu-devel] [PATCH v1 4/5] s390x/pci: Refuse to realize VFIO-PCI if AIS needed but supported Pierre Morel
2017-10-09  9:06   ` Cornelia Huck
2017-10-09 14:25     ` Pierre Morel
2017-10-09 14:45   ` Alex Williamson
2017-10-09 17:16     ` Pierre Morel
2017-10-10  9:35       ` Cornelia Huck
2017-10-10 16:01         ` Pierre Morel
2017-10-11 12:20           ` Cornelia Huck
2017-10-12 10:12             ` Pierre Morel
2017-10-12 14:48             ` Pierre Morel
2017-10-12 14:54               ` Cornelia Huck
2017-10-04 13:49 ` [Qemu-devel] [PATCH v1 5/5] s390x/intc: AIS is now always migratable Pierre Morel
2017-10-30  8:28 ` [Qemu-devel] [PATCH v1 0/5][RFC] Refactoring of AIS support Christian Borntraeger
2017-10-30 12:42   ` Cornelia Huck
2017-10-30 12:44     ` Christian Borntraeger
2017-10-30 13:44       ` Pierre Morel
2017-10-30 13:48         ` Christian Borntraeger
2017-10-30 14:02           ` Halil Pasic
2017-10-30 16:59           ` Cornelia Huck
2017-10-30 17:08             ` Christian Borntraeger
2017-10-30 17:38               ` Pierre Morel
2017-10-30 18:58                 ` Halil Pasic
2017-11-06  8:52                   ` Cornelia Huck
2017-11-06  8:54                     ` Christian Borntraeger
2017-11-06 10:05                       ` Pierre Morel

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=20171009101714.5b52d432.cohuck@redhat.com \
    --to=cohuck@redhat.com \
    --cc=agraf@suse.de \
    --cc=borntraeger@de.ibm.com \
    --cc=pasic@linux.vnet.ibm.com \
    --cc=pmorel@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=zyimin@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.