On Wed, 25 Apr 2018 15:52:19 +0200 Pierre Morel <pmorel@xxxxxxxxxxxxxxxxxx> wrote: > On 25/04/2018 10:41, Cornelia Huck wrote: > > On Thu, 19 Apr 2018 16:48:07 +0200 > > Pierre Morel<pmorel@xxxxxxxxxxxxxxxxxx> wrote: > >> diff --git a/drivers/s390/cio/vfio_ccw_private.h b/drivers/s390/cio/vfio_ccw_private.h > >> index 3284e64..93aab87 100644 > >> --- a/drivers/s390/cio/vfio_ccw_private.h > >> +++ b/drivers/s390/cio/vfio_ccw_private.h > >> @@ -76,7 +76,7 @@ enum vfio_ccw_state { > >> */ > >> enum vfio_ccw_event { > >> VFIO_CCW_EVENT_NOT_OPER, > >> - VFIO_CCW_EVENT_IO_REQ, > >> + VFIO_CCW_EVENT_SSCH_REQ, > >> VFIO_CCW_EVENT_INTERRUPT, > >> VFIO_CCW_EVENT_SCH_EVENT, > >> /* last element! */ > > I don't think we should separate the ssch handling. The major > > difference to halt/clear is that it needs channel program translation. > > Everything else (issuing the instruction and processing the interrupt) > > are basically the same. If we just throw everything at the hardware > > and let the host's channel subsystem figure it out, we already should > > be fine with regard to most of the races. > > We must test at a moment or another the kind of request we do, > cancel, halt and clear only need the subchannel id in register 1 and as > you said are much more direct to implement. > > If we do not separate them here, we need a switch in the "do_io_request" > function. > Is it what you mean? Yes. Most of the handling should be the same for any function. -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html