All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthew Rosato <mjrosato@linux.ibm.com>
To: Eric Farman <farman@linux.ibm.com>
Cc: Jason Gunthorpe <jgg@nvidia.com>,
	Alex Williamson <alex.williamson@redhat.com>,
	Cornelia Huck <cohuck@redhat.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	kvm@vger.kernel.org, linux-s390@vger.kernel.org
Subject: Re: [PATCH v2 03/10] vfio/ccw: Do not change FSM state in subchannel event
Date: Thu, 16 Jun 2022 11:35:18 -0400	[thread overview]
Message-ID: <6d6451d0-68cb-4dcf-c6c7-7480e6ae8e78@linux.ibm.com> (raw)
In-Reply-To: <20220615203318.3830778-4-farman@linux.ibm.com>

On 6/15/22 4:33 PM, Eric Farman wrote:
> The routine vfio_ccw_sch_event() is tasked with handling subchannel events,
> specifically machine checks, on behalf of vfio-ccw. It correctly calls
> cio_update_schib(), and if that fails (meaning the subchannel is gone)
> it makes an FSM event call to mark the subchannel Not Operational.
> 
> If that worked, however, then it decides that if the FSM state was already
> Not Operational (implying the subchannel just came back), then it should
> simply change the FSM to partially- or fully-open.
> 
> Remove this trickery, since a subchannel returning will require more
> probing than simply "oh all is well again" to ensure it works correctly.
> 
> Fixes: bbe37e4cb8970 ("vfio: ccw: introduce a finite state machine")
> Signed-off-by: Eric Farman <farman@linux.ibm.com>

So, I agree that this code does not belong here and should be removed 
-- if the subchannel just came back, we can't assume it's even the same 
device.  We'd better just leave it NOT_OPER for this weird window for 
now.  So...

Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>

But I also wonder if more work could be done from vfio_ccw_sch_event 
based upon whats in the schib, like what io_subchannel_sch_event does 
(e.g. detecting if a reprobe of the device is necessary).  We should 
probably take a closer look here for potential follow-ups.

> ---
>   drivers/s390/cio/vfio_ccw_drv.c | 14 +++-----------
>   1 file changed, 3 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/s390/cio/vfio_ccw_drv.c b/drivers/s390/cio/vfio_ccw_drv.c
> index 179eb614fa5b..279ad2161f17 100644
> --- a/drivers/s390/cio/vfio_ccw_drv.c
> +++ b/drivers/s390/cio/vfio_ccw_drv.c
> @@ -301,19 +301,11 @@ static int vfio_ccw_sch_event(struct subchannel *sch, int process)
>   	if (work_pending(&sch->todo_work))
>   		goto out_unlock;
>   
> -	if (cio_update_schib(sch)) {
> -		vfio_ccw_fsm_event(private, VFIO_CCW_EVENT_NOT_OPER);
> -		rc = 0;
> -		goto out_unlock;
> -	}
> -
> -	private = dev_get_drvdata(&sch->dev);
> -	if (private->state == VFIO_CCW_STATE_NOT_OPER) {
> -		private->state = private->mdev ? VFIO_CCW_STATE_IDLE :
> -				 VFIO_CCW_STATE_STANDBY;
> -	}
>   	rc = 0;
>   
> +	if (cio_update_schib(sch))
> +		vfio_ccw_fsm_event(private, VFIO_CCW_EVENT_NOT_OPER);
> +
>   out_unlock:
>   	spin_unlock_irqrestore(sch->lock, flags);
>   


  reply	other threads:[~2022-06-16 15:35 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-15 20:33 [PATCH v2 00/10] s390/vfio-ccw rework Eric Farman
2022-06-15 20:33 ` [PATCH v2 01/10] vfio/ccw: Remove UUID from s390 debug log Eric Farman
2022-06-15 20:57   ` Kirti Wankhede
2022-06-15 20:33 ` [PATCH v2 02/10] vfio/ccw: Fix FSM state if mdev probe fails Eric Farman
2022-06-15 20:33 ` [PATCH v2 03/10] vfio/ccw: Do not change FSM state in subchannel event Eric Farman
2022-06-16 15:35   ` Matthew Rosato [this message]
2022-06-16 17:13     ` Eric Farman
2022-06-15 20:33 ` [PATCH v2 04/10] vfio/ccw: Remove private->mdev Eric Farman
2022-06-16 15:36   ` Matthew Rosato
2022-06-23 14:59   ` Jason Gunthorpe
2022-06-15 20:33 ` [PATCH v2 05/10] vfio/ccw: Pass enum to FSM event jumptable Eric Farman
2022-06-15 20:33 ` [PATCH v2 06/10] vfio/ccw: Flatten MDEV device (un)register Eric Farman
2022-06-15 20:33 ` [PATCH v2 07/10] vfio/ccw: Create an OPEN FSM Event Eric Farman
2022-06-16 16:33   ` Matthew Rosato
2022-06-16 17:14     ` Eric Farman
2022-06-16 17:18       ` Matthew Rosato
2022-06-15 20:33 ` [PATCH v2 08/10] vfio/ccw: Create a CLOSE FSM event Eric Farman
2022-06-16 16:48   ` Matthew Rosato
2022-06-15 20:33 ` [PATCH v2 09/10] vfio/ccw: Refactor vfio_ccw_mdev_reset Eric Farman
2022-06-15 20:33 ` [PATCH v2 10/10] vfio/ccw: Move FSM open/close to MDEV open/close Eric Farman

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=6d6451d0-68cb-4dcf-c6c7-7480e6ae8e78@linux.ibm.com \
    --to=mjrosato@linux.ibm.com \
    --cc=alex.williamson@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=farman@linux.ibm.com \
    --cc=jgg@nvidia.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=pasic@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.