All of lore.kernel.org
 help / color / mirror / Atom feed
From: Halil Pasic <pasic@linux.ibm.com>
To: Anthony Krowiak <akrowiak@linux.ibm.com>
Cc: linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org,
	kvm@vger.kernel.org, jjherne@linux.ibm.com, freude@linux.ibm.com,
	borntraeger@de.ibm.com, cohuck@redhat.com,
	mjrosato@linux.ibm.com, alex.williamson@redhat.com,
	kwankhede@nvidia.com, fiuczy@linux.ibm.com,
	Halil Pasic <pasic@linux.ibm.com>
Subject: Re: [PATCH 7/7] s390/vfio_ap: always clean up IRQ resources
Date: Tue, 20 Dec 2022 18:24:07 +0100	[thread overview]
Message-ID: <20221220182407.5959a4b6.pasic@linux.ibm.com> (raw)
In-Reply-To: <7b6d7e91-ba00-6486-39ae-91fca30b2cfb@linux.ibm.com>

On Tue, 20 Dec 2022 09:33:03 -0500
Anthony Krowiak <akrowiak@linux.ibm.com> wrote:

> On 12/19/22 9:10 AM, Halil Pasic wrote:
> > On Tue, 13 Dec 2022 10:44:37 -0500
> > Tony Krowiak <akrowiak@linux.ibm.com> wrote:
> >  
> >> Clean up IRQ resources even when a PQAP(ZAPQ) function fails with an error
> >> not handled by a case statement.  
> > Why?  
> 
> 
> If the ZAPQ failed, then instructions submitted to the same queue will 
> likewise fail. Are you saying it's not safe to assume, therefore, that 
> interrupts will not be occurring?

Right. We are talking about the default branch here, and I suppose, the
codes where we know that it is safe to assume that no reset is needed
handled separately (AP_RESPONSE_DECONFIGURED).

I'm not convinced that if we take the default branch we can safely
assume, that we won't see any interrupts.

For example consider hot-unplug as done by KVM. We modify the
CRYCB/APCB with all vCPUS take out of SIE, but we don't keep
the vCPUs out of SIE until the resets of the unpugged queues
are done, and we don't do any extra interrupt disablement
with all vCPUs keept out of SIE. So I believe currently there
may be a window where the guest can observe a 01 but the
interrupts are still live. That may be a bug, but IMHO it ain't clear
cut.

But it is not just about interrupts. Before we returned an error
code, which gets propagated to the userspace if this reset was
triggered via the ioctl.

With this change, ret seems to be uninitialized when returned 
if we take the code path which you change here. So we would
end up logging a warning and returning garbage?

One could also debate, whether RCs introduced down the road
can affect the logic here (even if the statement "if we
see an RC other that 00 and 02, we don't need to pursue a
reset any further, and interrpts are disabled" were to be
guaranteed to be true now, new RCs could theoretically mess
this up).

 
> 
> 
> >
> > I'm afraid this is a step in the wrong direction...  
> 
> 
> Please explain why.
> 

Sorry, I kept this brief because IMHO it is your job to tell us why
this needs to be changed. But I gave in, as you see.

Regards,
Halil

  reply	other threads:[~2022-12-20 17:24 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-13 15:44 [PATCH 0/7] improve AP queue reset processing Tony Krowiak
2022-12-13 15:44 ` [PATCH 1/7] s390/vfio-ap: verify reset complete in separate function Tony Krowiak
2022-12-15  8:24   ` Harald Freudenberger
2022-12-13 15:44 ` [PATCH 2/7] s390/vfio_ap: check TAPQ response code when waiting for queue reset Tony Krowiak
2022-12-15 10:48   ` Harald Freudenberger
2022-12-13 15:44 ` [PATCH 3/7] s390/vfio_ap: use TAPQ to verify reset in progress completes Tony Krowiak
2022-12-15 10:51   ` Harald Freudenberger
2022-12-20 14:22     ` Anthony Krowiak
2022-12-13 15:44 ` [PATCH 4/7] s390/vfio_ap: verify ZAPQ completion after return of response code zero Tony Krowiak
2022-12-15 10:54   ` Harald Freudenberger
2022-12-20 14:24     ` Anthony Krowiak
2022-12-13 15:44 ` [PATCH 5/7] s390/vfio_ap: fix handling of error response codes Tony Krowiak
2022-12-15 10:56   ` Harald Freudenberger
2022-12-20 14:25     ` Anthony Krowiak
2022-12-13 15:44 ` [PATCH 6/7] s390/vfio_ap: increase max wait time for reset verification Tony Krowiak
2022-12-15 10:58   ` Harald Freudenberger
2022-12-20 14:27     ` Anthony Krowiak
2022-12-13 15:44 ` [PATCH 7/7] s390/vfio_ap: always clean up IRQ resources Tony Krowiak
2022-12-15 10:58   ` Harald Freudenberger
2022-12-19 14:10   ` Halil Pasic
2022-12-20 14:33     ` Anthony Krowiak
2022-12-20 17:24       ` Halil Pasic [this message]
2023-01-09 19:40         ` Anthony Krowiak
2022-12-14 15:16 ` [PATCH 0/7] improve AP queue reset processing Jason J. Herne
2022-12-14 19:10   ` Anthony Krowiak

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=20221220182407.5959a4b6.pasic@linux.ibm.com \
    --to=pasic@linux.ibm.com \
    --cc=akrowiak@linux.ibm.com \
    --cc=alex.williamson@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=fiuczy@linux.ibm.com \
    --cc=freude@linux.ibm.com \
    --cc=jjherne@linux.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=kwankhede@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=mjrosato@linux.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.