On Wed, 23 Jan 2019 14:30:51 +0100 Halil Pasic <pa...@linux.ibm.com> wrote:
> On Wed, 23 Jan 2019 11:21:12 +0100 > Cornelia Huck <coh...@redhat.com> wrote: > > > On Tue, 22 Jan 2019 19:33:46 +0100 > > Halil Pasic <pa...@linux.ibm.com> wrote: > > > > > On Mon, 21 Jan 2019 12:03:51 +0100 > > > Cornelia Huck <coh...@redhat.com> wrote: > > > > > > > --- a/drivers/s390/cio/vfio_ccw_private.h > > > > +++ b/drivers/s390/cio/vfio_ccw_private.h > > > > @@ -28,6 +28,7 @@ > > > > * @mdev: pointer to the mediated device > > > > * @nb: notifier for vfio events > > > > * @io_region: MMIO region to input/output I/O arguments/results > > > > + * @io_mutex: protect against concurrent update of I/O structures > > > > > > We could be a bit more specific about what does this mutex guard. > > > Is it only io_region, or cp, irb and the new regions a well? ->state does > > > not seem to be covered, but should need some sort of synchronisation > > > too, or? > > > > I'm not sure. IIRC Pierre had some ideas about locking in the fsm? > > > > Yes there was something. I usually do review by sanity checking the > resulting code. IMHO the fsm stuff is broken now and differently broken > after this series. If we don't want to fix what we are touching, maybe a > pointing out ignored problems in patch descriptions and a > minimal-invasive approach could help ease review. So, would changing the description above to reference "the I/O regions" (as it will also be taken when writing to the async region) and stating that this handles concurrent reading/writing of the regions help? I really don't want to enumerate everything I don't fix... > > Regards, > Halil > > > > > > > > * @cp: channel program for the current I/O operation > > > > * @irb: irb info received from interrupt > > > > * @scsw: scsw info > > > > @@ -42,6 +43,7 @@ struct vfio_ccw_private { > > > > struct mdev_device *mdev; > > > > struct notifier_block nb; > > > > struct ccw_io_region *io_region; > > > > + struct mutex io_mutex; > > > > > > > > struct channel_program cp; > > > > struct irb irb; > > > > -- > > > > > > > >