All of lore.kernel.org
 help / color / mirror / Atom feed
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>,
	Martin Schwidefsky <schwidefsky@de.ibm.com>,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	Michael Mueller <mimu@linux.vnet.ibm.com>
Subject: Re: [PATCH v2 09/12] KVM: s390: make kvm_s390_get_io_int() aware of GISA
Date: Fri, 26 Jan 2018 12:40:24 +0100	[thread overview]
Message-ID: <20180126124024.671cbe5d.cohuck@redhat.com> (raw)
In-Reply-To: <e97fbca4-aa47-d3fc-4908-5514c2be39dd@de.ibm.com>

On Fri, 26 Jan 2018 12:25:03 +0100
Christian Borntraeger <borntraeger@de.ibm.com> wrote:

> On 01/26/2018 12:21 PM, Cornelia Huck wrote:
> > On Fri, 26 Jan 2018 10:57:32 +0100
> > Christian Borntraeger <borntraeger@de.ibm.com> wrote:
> >   
> >> On 01/26/2018 10:41 AM, Cornelia Huck wrote:  
> >>> On Thu, 25 Jan 2018 14:28:45 +0100
> >>> Christian Borntraeger <borntraeger@de.ibm.com> wrote:
> >>>     
> >>>> From: Michael Mueller <mimu@linux.vnet.ibm.com>
> >>>>
> >>>> The function returns a pending I/O interrupt with the highest
> >>>> priority defined by its ISC.
> >>>>
> >>>> Together with AIV activation, pending adapter interrupts are
> >>>> managed by the GISA IPM. Thus kvm_s390_get_io_int() needs to
> >>>> inspect the IPM as well when the interrupt with the highest
> >>>> priority has to be identified.
> >>>>
> >>>> In case classic and adapter interrupts with the same ISC are
> >>>> pending, the classic interrupt will be returned first.    
> >>>
> >>> Can this lead to starving? Consider a guest that never enables itself
> >>> for I/O interrupts, but collects pending interrupts via tpi. It will
> >>> always get the intis for an isc, but not the ai, wouldn't it?    
> >>
> >> Only if it handles the interrupts slower than new ones arrive, in that case
> >> you have a problem anyway. When looking at sane configuration, this priority
> >> makes sense as the classic interrupts are used for configuration type ccw,
> >> while adapter interrupts are for data. You want to get the control changes
> >> quickly. In a sane environment nobody would probably put devices with adapter
> >> interrupts on the same isc as different devices with only classic interrupts.  
> > 
> > But if you have a lot of devices, all using the same isc, you might
> > have a lot of classic interrupts (for example, due to firing a volley
> > of channel programs at all subchannels) and they could starve out the
> > device(s) that are waiting for adapter interrupts.
> > 
> > It's probably not a problem with today's guests (due to the control vs.
> > data semantics you pointed out above), especially as the only guest I
> > know that does not enable interrupts is the s390-ccw bios. But maybe
> > add a comment?  
> 
> Do you have some proposal for a comment? Then I can certainly add that.
> 

/*
 * Note that for a guest that does not enable I/O interrupts
 * but relies on TPI, a flood of classic interrupts may starve
 * out adapter interrupts on the same isc. Linux does not do
 * that, and it is possible to work around the issue by configuring
 * different iscs for classic and adapter interrupts in the guest,
 * but we may want to revisit this in the future.
 */

I think we don't really need to spend more time on that right now (and
probably complicate the code), so with the comment

Reviewed-by: Cornelia Huck <cohuck@redhat.com>

  reply	other threads:[~2018-01-26 11:40 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-25 13:28 [PATCH v2 00/12] KVM: s390: exitless interrupt support for KVM Christian Borntraeger
2018-01-25 13:28 ` [PATCH v2 01/12] KVM: s390: reverse bit ordering of irqs in pending mask Christian Borntraeger
2018-01-25 13:59   ` David Hildenbrand
2018-01-25 13:28 ` [PATCH v2 02/12] KVM: s390: define GISA format-0 data structure Christian Borntraeger
2018-01-25 14:00   ` David Hildenbrand
2018-01-26  9:03   ` Cornelia Huck
2018-01-25 13:28 ` [PATCH v2 03/12] s390/bitops: add test_and_clear_bit_inv() Christian Borntraeger
2018-01-25 13:53   ` Martin Schwidefsky
2018-01-25 13:28 ` [PATCH v2 04/12] KVM: s390: implement GISA IPM related primitives Christian Borntraeger
2018-01-25 14:06   ` David Hildenbrand
2018-01-25 14:21     ` Christian Borntraeger
2018-01-25 13:28 ` [PATCH v2 05/12] s390/css: indicate the availability of the AIV facility Christian Borntraeger
2018-01-25 13:54   ` Martin Schwidefsky
2018-01-25 13:59   ` David Hildenbrand
2018-01-25 13:28 ` [PATCH v2 06/12] KVM: s390: exploit GISA and AIV for emulated interrupts Christian Borntraeger
2018-01-25 14:20   ` David Hildenbrand
2018-01-25 14:32     ` Christian Borntraeger
2018-01-25 14:42       ` David Hildenbrand
2018-01-25 14:45         ` Christian Borntraeger
2018-01-25 15:05           ` Cornelia Huck
2018-01-25 15:27             ` David Hildenbrand
2018-01-25 15:31               ` Christian Borntraeger
2018-01-25 16:32     ` Christian Borntraeger
2018-01-25 16:39       ` Cornelia Huck
2018-01-25 16:47       ` David Hildenbrand
2018-01-25 16:50         ` Christian Borntraeger
2018-01-25 13:28 ` [PATCH v2 07/12] KVM: s390: abstract adapter interruption word generation from ISC Christian Borntraeger
2018-01-25 13:28 ` [PATCH v2 08/12] KVM: s390: add GISA interrupts to FLIC ioctl interface Christian Borntraeger
2018-01-26  9:18   ` Cornelia Huck
2018-01-25 13:28 ` [PATCH v2 09/12] KVM: s390: make kvm_s390_get_io_int() aware of GISA Christian Borntraeger
2018-01-26  9:41   ` Cornelia Huck
2018-01-26  9:57     ` Christian Borntraeger
2018-01-26 11:21       ` Cornelia Huck
2018-01-26 11:25         ` Christian Borntraeger
2018-01-26 11:40           ` Cornelia Huck [this message]
2018-01-26 13:13   ` Christian Borntraeger
2018-01-25 13:28 ` [PATCH v2 10/12] KVM: s390: activate GISA for emulated interrupts Christian Borntraeger
2018-01-25 13:28 ` [PATCH v2 11/12] s390/sclp: expose the GISA format facility Christian Borntraeger
2018-01-25 13:54   ` Martin Schwidefsky
2018-01-26  9:44   ` Cornelia Huck
2018-01-25 13:28 ` [PATCH v2 12/12] KVM: s390: introduce the format-1 GISA Christian Borntraeger
2018-01-25 15:31   ` David Hildenbrand
2018-01-25 15:43     ` Christian Borntraeger
2018-01-25 15:47       ` Cornelia Huck
2018-01-25 16:12         ` Christian Borntraeger
2018-01-25 16:17           ` Cornelia Huck
2018-01-25 16:51             ` Christian Borntraeger
2018-01-25 16:53               ` Cornelia Huck
2018-01-25 16:16       ` David Hildenbrand
2018-01-25 16:46         ` Christian Borntraeger
2018-01-26  9:46   ` 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=20180126124024.671cbe5d.cohuck@redhat.com \
    --to=cohuck@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=david@redhat.com \
    --cc=frankja@linux.vnet.ibm.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=mimu@linux.vnet.ibm.com \
    --cc=schwidefsky@de.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.