Re: [PATCH v2 01/10] vfio: ccw: Moving state change out of IRQ context

From: Cornelia Huck
Date: Mon Jun 04 2018 - 09:52:39 EST


On Fri, 25 May 2018 12:21:09 +0200
Pierre Morel <pmorel@xxxxxxxxxxxxxxxxxx> wrote:

> Let's move the state change from the IRQ routine to the
> workqueue callback.
>
> Signed-off-by: Pierre Morel <pmorel@xxxxxxxxxxxxxxxxxx>
> ---
> drivers/s390/cio/vfio_ccw_drv.c | 20 +++++++-------------
> drivers/s390/cio/vfio_ccw_fsm.c | 14 ++++++++------
> 2 files changed, 15 insertions(+), 19 deletions(-)

This causes a change in behaviour for devices in the notoper state.

Now:
- vfio_ccw_sch_irq is called
- via the state machine, disabling the subchannel is (re-)triggered

With your patch:
- the work function is queued in any case; eventually, it will change
the device's state to idle (unless we don't have an mdev at that
point in time)
- completion is signaled

I'm not sure that's what we want.