All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Borntraeger <borntraeger@de.ibm.com>
To: Pierre Morel <pmorel@linux.vnet.ibm.com>, qemu-devel@nongnu.org
Cc: cohuck@redhat.com, agraf@suse.de, zyimin@linux.vnet.ibm.com,
	pasic@linux.vnet.ibm.com, qemu-s390x@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v1 0/5][RFC] Refactoring of AIS support
Date: Mon, 30 Oct 2017 09:28:09 +0100	[thread overview]
Message-ID: <feea3ded-fecc-50ff-fe70-09e63966933b@de.ibm.com> (raw)
In-Reply-To: <1507124979-8880-1-git-send-email-pmorel@linux.vnet.ibm.com>

Now I thought about that for a while and I start to think that we cannot implement ais
in QEMU and cover all cases.
One aspect was certainly passthrough (like you handled in patch 4).
Another aspect is that some interrupts might be injected from the kernel - even for
emulated devices. e.g. virtio-pci together with vhost-net, will inject interrupts via
the set_irq callback. I think disabling irqfd for these cases is not a good idea.

So what about adding a new KVM capability (for 4.14), fixup the other things in
QEMU and then bind it to the new capability?

Christian

On 10/04/2017 03:49 PM, Pierre Morel wrote:
> Currently AIS support has several problems:
> 
> - AIS support in KVM is reported if KVM has AIS capability.
> - Testing if KVM FLIC attributes for AIS are supported does not take into
>   account if AIS is supported by KVM.
> - KVM report supporting the AIS FLIC features but denies their usage
>   if the host kernel does not support the AIS feature.
> - Testing if the Adapter interrupt must be suppressed is done looking at the
>   ISC and ignores the adapter properties.
> - Emulation of PCI devices can only be done with KVM support for AIS.
> - Migration of emulated devices can only be done if both side support AIS in KVM
> 
> I would like to make some modifications to the code where I think things are
> not handled at the right place.
> 
> Therefor I propose these changes.
> - Use the CPU model to enable AIS in the guest, even without KVM backup
> - Ask KVM for AIS support in kvm_flic realize
> - add simm/nimm attributes to the KVM FLIC interface to support emulation
>   and migration between hosts with and without AIS support in KVM.
> - Modify the zPCI VFIO realize function to refuse VFIO PCI devices without
>   AIS support in KVM.
> - Modify the AIS migration to support emulation and heterogeneous hosts.
> 
> 
> Pierre Morel (5):
>   s390x/kvm: Enable AIS from CPU model always
>   s390x/css: Use AIS AIRQ injection only if adapter support AIS
>   s390x/intc: Emulate Adapter Interrupt Suppression
>   s390x/pci: Refuse to realize VFIO-PCI if AIS needed but supported
>   s390x/intc: AIS is now always migratable
> 
>  hw/intc/s390_flic.c     |  3 +-
>  hw/intc/s390_flic_kvm.c | 94 ++++++++++++++++++++++++++++++++++++++-----------
>  hw/s390x/css.c          |  6 ++--
>  hw/s390x/s390-pci-bus.c | 12 +++++++
>  target/s390x/kvm.c      |  1 +
>  5 files changed, 91 insertions(+), 25 deletions(-)
> 

  parent reply	other threads:[~2017-10-30  8:28 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
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 ` Christian Borntraeger [this message]
2017-10-30 12:42   ` [Qemu-devel] [PATCH v1 0/5][RFC] Refactoring of AIS support 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=feea3ded-fecc-50ff-fe70-09e63966933b@de.ibm.com \
    --to=borntraeger@de.ibm.com \
    --cc=agraf@suse.de \
    --cc=cohuck@redhat.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.